protsedurasi TForm1.FormShow(Sender: TObject);
boshlanishi
sg1 bilan boshlang
Cells[0,0]:='Mahsulot nomi';
Hujayralar[1,0]:='OnNG';
Hujayralar[2,0]:='PV';
Hujayralar[3,0]:='ONCG';
Hujayralar[4,0]:='OP, dona';
Hujayralar[5,0]:='SvOCEP, rub';
Hujayralar[6,0]:='SvOTSVOR, t.rub';
oxiri;
memo1.Lines.Insert(0,DateTimeToStr(Hozir)+' - Dastur boshlandi!');
oxiri;
// stringgridni tozalash tartibi
procedure Tform1.cleansg(Sender: TObject);
varn2:integer;
boshlanishi
sg1 bilan boshlang
n2:=1 uchun RowCount boshlanadi
Qatorlar[n2].Clear;
oxiri;
oxiri;
oxiri;
//tahrirlarni tozalash tartibi
protsedura Tform1.cleanedit(Yuborish: TObject);
boshlanishi
edit1.Clear;
edit2.clear;
edit3.clear;
edit4.clear;
edit5.Clear;
oxiri;
//Yangi ma'lumotlar bazasini yarating
protsedurasi TForm1.Button4Click(Sender: TObject);
boshlanishi
if messagedlg('Joriy maʼlumotlar bazasidagi barcha saqlanmagan maʼlumotlar oʻchirib tashlanadi!',mtconfirmation,mbYesNoCancel,0)=mrHa, keyin boshlang.
cleansg (Yuborish);
memo1.Lines.Insert(0,DateTimeToStr(Now)+' - Yangi baza yaratildi. Iltimos, yangi nom bilan saqlang.');
oxiri;
oxiri;
// yozuv qo'shish
protsedurasi TForm1.Button1Click(Sender: TObject);
varn,k,l:integer;o:kengaytirilgan;
boshlanishi
tahrirlash maydonlarining bo'shligini tekshiring
agar (edit1.Text<>'') va (edit2.Text<>'') va (edit3.Text<>'') va (edit4.Text<>'') va (edit5.Text<>'') keyin
boshlanishi
harakat qilib ko'ring
n:=strtoint(edit2.text);
n:=strtoint(edit3.text);
n:=strtoint(edit4.text);
o:=strtofloat(edit5.text);
bundan mustasno
EConvertError on messagedlg ('Maydonlar 2..5 raqam bo'lishi kerak!',mterror,mbOKCancel,1);
oxiri ;
//yozuvlar massivini tozalash sikli
n :=0;
takrorlang
mzap[n].prod:='';
mzap[n].onng:=0;
Mzap[n].plan:=0;
mzap[n].onkg:=0;
mzap[n].svocep:=0;
n := n +1;
qadar n >=200;
stringgrid - a ni yozuvlar massiviga tarjima qilish sikli
n:=1;
takrorlang
agar sg1.Cells[0,n]<>'' bo'lsa, boshlang
Mzap[2*n].prod:=sg1.Cells[0,n];
Mzap[2*n].onng:=strtoint(sg1.cells[1,n]);
Mzap[2*n].plan:=strtoint(sg1.cells[2,n]);
Mzap[2*n].onkg:=strtoint(sg1.cells[3,n]);
Mzap[2*n].svocep:=strtofloat(sg1.cells[5,n]);
oxiri;
n:=n+1;
n>=sg1.RowCount gacha;
//qo'shilgan qiymatdan kattaroq yozuvlar sonini topish uchun tsikl
n:=1;l:=0;
takrorlang
agar (Mzap[2*n].prod<>'') va (CompareText(edit1.Text,Mzap[2*n].prod)>0) keyin l:=l+1;
n := n +1;
qadar n >=200;
//massivga interline yozish
k:=2*l+1;
Mzap[k].prod:=edit1.Text;
Mzap[k].onng:=strtoint(edit2.text);
Mzap[k].plan:=strtoint(edit3.text);
Mzap[k].onkg:=strtoint(edit4.text);
Mzap[k].svocep:=strtofloat(edit5.text);
cleansg ( yuboruvchi ); // stringridni tozalash uchun qo'ng'iroq qiling
//yozuvlar massivini stringgridga o'tkazish sikli
n:=1;k:=1;
takrorlang
agar Mzap[n].prod<>'' keyin boshlang
sg1.Cells[0,k]:=Mzap[n].prod;
sg1.Cells[1,k]:=inttostr(Mzap[n].onng);
sg1.Cells[2,k]:=inttostr(Mzap[n].plan);
sg1.Cells[3,k]:=inttostr(Mzap[n].onkg);
sg1.Cells[5,k]:=floattostr(Mzap[n].svocep);
k:=k+1;
oxiri;
n:=n+1;
n>=200 gacha;
cleanit (Yuborish); //tahrirlarni tozalash uchun qo'ng'iroq qiling
autorachet (jo'natuvchi);
oxiri
boshqa messagedlg ('Barcha maydonlar talab qilinadi!', mterror , mbOKCancel ,1); // qo'ng'iroq haqida ogohlantirish
oxiri;
//Avtomatik hisoblash tartibi
Do'stlaringiz bilan baham: |