10.1-listing. Faylga yozuvlarni qo`shish.
type O`rinlar
TUrin (Birinchi, Ikkinchi, Uchinchi);
YOzuv e`lon qilinmoqda
TMedalrecord
fan: string[20]; fan nomi
Vuz: string[40]; Oliy o`quv yurti nomi
fam_ism: string[30]; qatnashchi
urin: Turin; o`rin
end;
var
Form1: TForm1;
f: file of TMedal; yozuvlar fayli
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
10.2-rasm. ComboBox2 komponentasi uchun ro`yxat kiritish
var qatn: TMedal;
begin
with qatn do begin
Fan : ComboBox1.Text;
Vuz : ComboBox2.Text;
fam_ism : Edit1.Text;
case RadioGroup1.ItemIndex of
0: Urin : Birinchi;
1: Urin : Ikkinchi;
2: urin : Uchinchi;
end;
end;
write(f, qatn); faylga yozilmoqda
end;
formani aktivlashtirish
procedure TForm1.FormActivate(Sender: TObject);
var
resp : word; foydalanuvchining javobi
begin
AssignFile(f, 'C: Urinlar.db');
{$I-}
Reset (f); faylni ochish
Seek(f, FileSize(f)); ko`rsatkichni faylning oxiriga o`tkazadi
{$I}
if IOResult 0
then button1.enabled : TRUE
endi Qo`shib qo`yilsin tugmasi ishlaydi
else begin
resp : MessageDlg('Ma`lumotlar bazasi topilmadi.'
'Yangi MB yarataymi?', mtInformation,[mbYes,mbNo],0);
if resp mrYes then begin {$I-}
rewrite(f);
{$I}
if IOResult 0
then button1.enabled : TRUE
else ShowMessage('MB faylini yaratishda hatolik bor!');
end;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile(f);
end;
end.
Bu dasturda TForm1.FormActivate protsedurasi faylni davomiga yozish uchun ochadi. Bu yerda quyidagi holatga e`tibor bering. Fayl oxiriga yangi ma`lumotlar qo`shish uchun AppendFile protsedurasidan foydalanib bo`lmaydi, chunki fayl matnli emas. Shuning uchun faylni qaytadan yozish rejimida, ya`ni Rewrite yordamida ochiladi va parametri Filesize bo`lgan Seek metodi bilan ko`rsatkichni fayl oxiriga o`rnatiladi. Button1Click protsedurasi yozuvlarni faylga yozadi. Fan va Vuz maydonlari yozuv tipidagi ro`yxatlar, ya`ni COMBOBOX va COMBOBOX2 maydonlaridagi ma`lumotlar hisobiga to`ldiriladi.
Fam_ism maydoni Qatnashchi (Edit1 komponentasi) oynasidan, olgan o`rni esa RadioGroup1 komponentasidan olinadi.
Dasturda fanlar nomi hamda Oliy o`quv yurtlari ro`yxati satrlar muharriri yordamida aniqlangan. Dasturning ishlashi jarayonida ham bu ro`yxatni tashkil qilish mumkin. Buning uchun Add metodidan foydalaniladi. Uni dasturga (Tform1.FormActivate protsedurasi) matniga quyidagi buyruqlar bilan qo`shib qo`yiladi:
Form1.ComboBox1.Item.Add('Rossiya');
Form1.ComboBox1.Item.Add('Avstriya');
Form1.ComboBox1.Item.Add('Germaniya');
Form1.ComboBox1.Item.Add('Frantsiya');
Do'stlaringiz bilan baham: |