Girilen iki sayı arasındaki sayılar kadar kayıt?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
iltem
Üye
Mesajlar: 3
Kayıt: 14 Eyl 2015 04:46

Girilen iki sayı arasındaki sayılar kadar kayıt?

Mesaj gönderen iltem »

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;
Kullanıcı avatarı
badkursat
Üye
Mesajlar: 84
Kayıt: 03 Mar 2014 08:58

Re: Girilen iki sayı arasındaki sayılar kadar kayıt?

Mesaj gönderen badkursat »

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;
iltem
Üye
Mesajlar: 3
Kayıt: 14 Eyl 2015 04:46

Re: Girilen iki sayı arasındaki sayılar kadar kayıt?

Mesaj gönderen iltem »

Arkadaşlar ilginiz için çok teşekkür ederim ama sayacla derleme de normal indisli de olmadı maalesef.
iltem
Üye
Mesajlar: 3
Kayıt: 14 Eyl 2015 04:46

Re: Girilen iki sayı arasındaki sayılar kadar kayıt?

Mesaj gönderen iltem »

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;
Cevapla