|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
помогите отладить программу или исправить
Касса вокзала.
· Структура данных хранит следующие сведения: название пункта назначения, номер поезда, время отправления · Отсортировать данные методом улучшенного пузырька по номерам поездов · Сформировать список поездов, направляющихся в заданный пункт, после заданного с клавиатуры времени. что-то тупит с юнитами. Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls,U2; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Mas:Tdar; r:Tpoezd; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin r.naz:=Edit1.Text; r.nomer:=strtoint(Edit2.Text); r.time:=strtoint(Edit3.Text); Add_to_Array(Mas,r); end; procedure TForm1.Button2Click(Sender: TObject); Begin Var I:integer; S:string; Begin For I:=0 to high(Mas) Do begin S:=mas[i].fam+' '+inttostr(mas[i].naz)+' '+inttostr(mas[i].nomer)+' '+inttostr(mas[i].time); Memo1.Lines.Add(s); end; End; procedure TForm1.Button3Click(Sender: TObject); begin Sort_Array(Mas); end; procedure TForm1.Button5Click(Sender: TObject); begin begin Edit1.Clear; Edit2.Clear; Edit3.Clear; end; end; procedure TForm1.Button6Click(Sender: TObject); begin Memo1.Clear; end; procedure TForm1.Button7Click(Sender: TObject); begin Close; end; procedure TForm1.Button4Click(Sender: TObject); Var s:string; begin Poisk(Mas,s); Memo1.Lines.Add(s); end; end. unit U2; interface uses Sysutils,Dialogs,Stdctrls; Type TPoezd=record naz:string[10]; nomer:byte; time:byte; sb:real; end; Tdar=array of TPoezd; Procedure Add_to_Array(Var Mas:Tdar;r:TPoezd); Procedure Sort_Array(Var Mas:Tdar); Procedure Poisk(Mas:Tdar; Var s:string); implementation Procedure Add_to_Array(Var Mas:Tdar;r:TPoezd); Begin If Mas=nil then Setlength(Mas,1) else Setlength(Mas,length(Mas)+1); Mas[high(Mas)]:=r; End; Procedure Sort_Array( Var Mas:Tdar); var i,j:integer; r:Tstud; Begin For I:=0 to high(MAS)-1 do Mas[i].sb:=(Mas[i].time); { Sortirovka massiva: } For I:=0 to high(MAS)-1 do For j:=I+1 to high(MAS) do if mas[i].sb>mas[j].sb then begin r:=mas[i]; mas[i]:=mas[j]; mas[j]:=r; end; End; Procedure Poisk(Mas:Tdar; var s:string); Var i:integer; Begin For I:=0 to high(MAS)-1 do if (mas[i].time)<>0 then s:=Mas[i].naz; end; end. Admin: Пользуемся тегами, иначе последуют санкции. Последний раз редактировалось Admin, 30.03.2008 в 15:53. |
#2
|
|||
|
|||
плиз помогите отцы программирования..заранее спасибо
|
#3
|
|||
|
|||
А что за U2?
Что за типы TDar, TPoezd? А каюсь, вижу. Последний раз редактировалось MegaPiha, 30.03.2008 в 22:32. |
#4
|
|||
|
|||
Цитата:
1. Код:
S:=mas[i].fam+' '+inttostr(mas[i].naz)+' '+inttostr(mas[i].nomer)+' '+inttostr(mas[i].time); mas[i].fam - в типе TPoezd нет поля fam. 2. Код:
procedure TForm1.Button2Click(Sender: TObject); Begin Var I:integer; S:string; 3 . Код:
r:Tstud; Дальше потом посмотрю. Спать пора. |
#5
|
|||
|
|||
Там так много всего, что слишком долго объяснять, что исправил. Выложу проект. Сделал чтобы работало занесение данных и сортировка. Поиск думаю сам доделать сможешь.
|
#6
|
|||
|
|||
не правильно сохранил)))спасибо все равно
|
#7
|
|||
|
|||
Т.е. не правильно?
|
#8
|
|||
|
|||
Бес попутал....
|
#9
|
|||
|
|||
хз,но опять не пашет,посмотрите кт-нить другой плиз,если я лох так и скажите)спасиб тебе еще раз
|
#10
|
|||
|
|||
Блин. В чем же дело?
Я загружаю с сайта, все работает. В корневой папке C диска. Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls,Unit4, Mask; type TForm1 = class(TForm) Button1: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Memo1: TMemo; MaskEdit1: TMaskEdit; Edit3: TEdit; MaskEdit2: TMaskEdit; Label4: TLabel; Label3: TLabel; Label6: TLabel; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Mas:Tdar; Poezd:Tpoezd; Procedure RefreshMemo; implementation {$R *.dfm} Procedure RefreshMemo; Var i:integer; S:string; Begin Form1.Memo1.Lines.Clear; For i:=0 to high(Mas) do begin // S:=mas[i].fam + ' ' + mas[i].naz + ' '+inttostr(mas[i].nomer)+ ' '+Timetostr(mas[i].time); S:= mas[i].naz + ' '+inttostr(mas[i].nomer)+ ' '+Timetostr(mas[i].time); Form1.Memo1.Lines.Add(S); end; End; procedure TForm1.Button3Click(Sender: TObject); begin Sort_Array(Mas); RefreshMemo; end; procedure TForm1.Button5Click(Sender: TObject); begin begin Edit1.Clear; Edit2.Clear; MaskEdit1.Clear; end; end; procedure TForm1.Button6Click(Sender: TObject); begin Memo1.Clear; end; procedure TForm1.Button7Click(Sender: TObject); begin Close; end; procedure TForm1.Button4Click(Sender: TObject);//Эту часть не трограл Var s:string; begin Poisk(Mas,s);// Переменная S не задана. Memo1.Lines.Add(s); end; procedure TForm1.Button1Click(Sender: TObject); Var i:integer; s:string; begin If (Edit1.Text<>'') and (Edit2.Text <>'') then begin Poezd.naz:=Edit1.Text; Poezd.nomer:=strtoint(Edit2.Text); Poezd.time:=strtotime(MaskEdit1.Text); Add_to_Array(Mas,Poezd); end; Refreshmemo; end; end. Только я u2 сохранил под unit4 Код:
unit Unit4; interface uses Sysutils,Dialogs,Stdctrls; Type TPoezd=record naz:string[10]; nomer:byte; time:TDateTime; sb:real; // fam:string; end; Tdar=array of TPoezd; Procedure Add_to_Array(Var Mas:Tdar;Poezd:TPoezd); Procedure Sort_Array(Var Mas:Tdar); Procedure Poisk(Mas:Tdar; Var s:string); implementation Procedure Add_to_Array(Var Mas:Tdar; Poezd:TPoezd); Begin If Mas=nil then Setlength(Mas,1) else Setlength(Mas,length(Mas)+1); Mas[high(Mas)]:=Poezd; End; Procedure Sort_Array( Var Mas:Tdar); var i,j:integer; //r:Tstud; Poezd:TPoezd; Begin For i:=0 to high(MAS)-1 do Mas[i].sb:=Mas[i].nomer; { Sortirovka massiva: } For i:=0 to high(MAS)-1 do For j:=i+1 to high(MAS) do if mas[i].sb > mas[j].sb then begin Poezd:=mas[i]; mas[i]:=mas[j]; mas[j]:=Poezd; end; End; Procedure Poisk(Mas:Tdar; var s:string);//не менял Var i:integer; Begin For i:=0 to high(MAS)-1 do if (mas[i].time)<>0 then s:=Mas[i].naz; end; end. И скрин экрана выкладываю. Предлагаю еще сделать сохранение и считывание сведений memo из файла. |
#11
|
|||
|
|||
спасибо,разобрался
|
#12
|
|||
|
|||
сделай поиск плиз,надо по времени вывести поезд...
|