|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не могу откорректировать
Всем привет!
Есть программа, а-ля БД для гаи. В которую необходимо внести корректировки, но самому сделать не получается. Кто сможет помочь??? 1. При нажатии кнопки "удалиь", должна удаляться выбранная строка, а не вся информация из БД. 2. Добавить кнопку "изменить" и реализовать функцию изменения внесенных данных. 3. Ограничить вводимые параметры "год регистрации" с 1950 по 2020. Ну очень нужна Ваша помощь! Последний раз редактировалось MehaniC2201, 19.01.2020 в 06:21. |
#2
|
|||
|
|||
Код:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids; type TForm2 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Label3: TLabel; Edit2: TEdit; Label4: TLabel; ComboBox1: TComboBox; Label5: TLabel; Edit3: TEdit; Label6: TLabel; Edit4: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; StringGrid1: TStringGrid; procedure Button1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; type gai=record marka: shortstring; nomer: shortstring; zvet: shortstring; god: integer; fio: shortstring; end; var Form2: TForm2; implementation uses Unit1; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); var f: file of gai; begin assignfile(f,form1.Edit1.Text); rewrite(f); closefile(f); showmessage('Данные удалены'); end; procedure TForm2.BitBtn1Click(Sender: TObject); var f,f1:file of gai; q:gai; begin if directoryexists('C:\temp')=false then MkDir('C:\temp'); assignfile(f1,'C:\temp\gai.dat'); rewrite(f1); assignfile(f,form1.Edit1.Text); reset(f); while not eof(f) do begin read(f,q); write(f1,q); end; closefile(f); q.marka:=edit1.Text; q.nomer:=edit2.Text; q.zvet:=combobox1.Text; q.god:=strtoint(edit3.Text); q.fio:=edit4.text; write(f1,q); closefile(f1); reset(f1); rewrite(f); while not eof(f1) do begin read(f1,q); write(f,q); end; showmessage('Записано'); edit1.clear; edit2.clear; edit3.Clear; edit4.Clear; bitbtn3.Click; end; procedure TForm2.BitBtn3Click(Sender: TObject); var f:file of gai; q:gai; z:integer; begin z:=0; assignfile(f,form1.Edit1.Text); reset(f); while not eof(f) do begin read(f,q); z:=z+1; end; closefile(f); reset(f); stringgrid1.RowCount:=z+1; z:=0; while not eof(f) do begin read(f,q); z:=z+1; form2.StringGrid1.Cells[0,z]:=q.marka; form2.StringGrid1.Cells[1,z]:=q.nomer; form2.StringGrid1.Cells[2,z]:=q.zvet; form2.StringGrid1.Cells[3,z]:=inttostr(q.god); form2.StringGrid1.Cells[4,z]:=q.fio; end; end; end. Последний раз редактировалось Admin, 19.01.2020 в 13:21. |
#3
|
|||
|
|||
Принято. Просто новенький.
|
#4
|
|||
|
|||
1. Ты бы подписал (с помошью комментариев) что какая кнопка делает. А то у тебя там такой бред написан, что понять, что же ты имел в виду, трудновато.
2. А что, воспользоваться массивом или списком религия не позволяет? Например, считал файл в список при старте программы и работаешь с данными в памяти. При закрытии программы просто сохранил данные в файл. |