Merhaba arkadaşlar...
İki adet edit nesnesine girilen sayılar kadar tabloya kayıt yaptırmak istiyorum. Örnek olarak Edit1' e 5 girilsin Edit2'ye 10 girilsin: 5 ten 10 ' a kadar olan tüm sayıları Table içerisine kaydetsin istiyorum. Çalışma kodlarım aşağıdadır. Yardımlarınız için teşekkür ederim...
procedure TForm1.Button2Click(Sender: TObject);
var
ilk,son,toplam,deger:Integer;
begin
if Edit1.Text='' then
Begin
Showmessage('Adisyon No Boş Geçilmez...');
Edit1.SetFocus;
Exit;
end;
if Edit2.Text='' then
Begin
Showmessage('Adisyon No Boş Geçilmez...');
Edit2.SetFocus;
Exit;
end;
if Edit2.Text<Edit1.Text Then
Begin
Showmessage('İkinci sayı Birinci Sayıdan Küçük Olamaz');
Edit2.SetFocus;
Exit;
End;
if Table1.Locate('Adisyon_No',Edit1.Text,[]) then
Begin
showmessage('Bu Adisyon_No İle Bir Kayıt Var!');
Edit1.SetFocus;
Exit;
end;
if Table1.Locate('Adisyon_No',Edit2.Text,[]) then
Begin
showmessage('Bu Adisyon_No İle Bir Kayıt Var!');
Edit2.SetFocus;
Exit;
end;
if Table1.Locate('Ad_Soyad',Edit3.Text,[]) then
Begin
showmessage('Bu Ad Soyad İle Bir Kayıt Var!');
Edit3.SetFocus;
Exit;
end;
if Edit3.Text='' then
begin
Showmessage('Lütfen Ad ve Soyad giriniz.');
Edit3.SetFocus;
Exit;
End;
Table1.Insert;
Table1Adisyon_No.Text:=Edit1.Text;
Table1Adisyon_No.Text:=Edit2.Text;
Table1Ad_Soyad.Text:=Edit3.Text;
Table1Tarih.AsDateTime:=Date;
Table1.Post;
end;
Girilen iki sayı arasındaki sayılar kadar kayıt?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Girilen iki sayı arasındaki sayılar kadar kayıt?
Benim anladığım şey şu. Bilmiyorum doğru anlamışmıyım.
Kod: Tümünü seç
private
procedure Kaydet(Deger11,Deger2:Integer);
.
.
.
implementation
procedure TForm1.Kaydet(Deger1, Deger2: Integer);
const
ErrorAdisyonBos = 'Adisyon No Boş Geçilmez...';
ErrorIkinciBirincidenBuyukmu = 'İkinci sayı Birinci Sayıdan Küçük Olamaz';
ErrorKayitKontrol = '%s İle Bir Kayıt Var!';
ErrorKayitBosmu = 'Lütfen %s giriniz.';
var
KayitIndex : Integer;
Sayac : Integer;
begin
if (Edit1.Text = EmptyStr) Or (Edit2.Text = EmptyStr) then
if MessageDlg(ErrorAdisyonBos,mtWarning,[mbOK],0)=mrOK then Exit;
if Edit3.Text = EmptyStr then
if MessageDlg(Format(ErrorKayitBosmu,[Edit3.Text]),mtWarning,[mbOK],0)=mrOK then Exit;
if StrToInt(Edit2.Text)<StrToInt(Edit1.Text) then
if MessageDlg(ErrorIkinciBirincidenBuyukmu,mtWarning,[mbOK],0)=mrOK then Exit;
if Table1.Locate('Adisyon_No',Edit1.Text,[]) then
if MessageDlg(Format(ErrorKayitKontrol,[Edit1.Text]),mtWarning,[mbOK],0)=mrOK then
Begin
Edit1.SetFocus;
Exit;
End;
if Table1.Locate('Adisyon_No',Edit2.Text,[]) then
if MessageDlg(Format(ErrorKayitKontrol,[Edit2.Text]),mtWarning,[mbOK],0)=mrOK then
Begin
Edit2.SetFocus;
Exit;
End;
if Table1.Locate('Adisyon_No',Edit3.Text,[]) then
if MessageDlg(Format(ErrorKayitKontrol,[Edit3.Text]),mtWarning,[mbOK],0)=mrOK then
Begin
Edit3.SetFocus;
Exit;
End;
Sayac := Deger1;
for KayitIndex := 0 to Deger2-Deger1 do
Begin
Table1.Insert;
Table1Adisyon_No.Text:=IntToStr(Sayac);
Table1Adisyon_No.Text:=IntToStr(Deger2);
Table1Ad_Soyad.Text:=Edit3.Text;
Table1Tarih.AsDateTime:=Date;
Table1.Post;
Inc(Sayac)
end;
end;
Re: Girilen iki sayı arasındaki sayılar kadar kayıt?
Arkadaşlar ilginiz için çok teşekkür ederim ama sayacla derleme de normal indisli de olmadı maalesef.
Re: Girilen iki sayı arasındaki sayılar kadar kayıt?
Tamamdır sorun çözülmüştür.
Kayıt kısımına aşağıdaki kodları yazmam yeterli oldu:
for i:=StrToInt(edit1.text) to StrToInt(Edit2.Text) do
begin
Table1.Insert;
Table1Adisyon_No.Text:=IntToStr(i);
Table1Ad_Soyad.Text:=Edit3.Text;
Table1Tarih.AsDateTime:=Date;
Table1.Post;
end;
Kayıt kısımına aşağıdaki kodları yazmam yeterli oldu:
for i:=StrToInt(edit1.text) to StrToInt(Edit2.Text) do
begin
Table1.Insert;
Table1Adisyon_No.Text:=IntToStr(i);
Table1Ad_Soyad.Text:=Edit3.Text;
Table1Tarih.AsDateTime:=Date;
Table1.Post;
end;