satır satır memo alanı aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

satır satır memo alanı aktarma

Mesaj gönderen bobasturk »

merhabalar,

yeni dtoffline v3 sürümünü indirdim emeği geçenlere teşekkür ve saygılarımla.
yaptığım ilk arama ise memo aktarım oldu ve sonuç buldum bu sonuç sonucu

Kod: Tümünü seç

procedure TForm1.Button6Click(Sender: TObject);
var
  i:integer;
  begin
    for i:=0 to dbmemo1.lines.count - 1 do
    Begin
      ibdataset3.insert;
      ibdataset3.FieldByName('SUCU').AsString:= dbmemo1.lines[i];
      ibdataset3.FieldByName('ILCENO').AsInteger:=ibdataset1.fieldbyname('ILCENO').asinteger;
      ibdataset3.post;
    end;
end;
memo alanları satır satır tabloya aktarabiliyorum fakat veri alınacak tabloyu diğer deyişle memo alanı tek tek navigator vb. şekilde manuel ilerletip memo alanları aktarmam gerekiyor.

fazla kayıt olmasada 3200 kayıt var bunları tek tek geçmek meşakkatli olacak döngüyü kuramadım yukarıdaki koda nasıl bir ekleme ile ana tabloyu kendisi tek tek tarayarak memo alanları satır satır okusun ve her satır içinde ilçe numarasınıda aktardığı tablonun ilgili alanına yazsın

yukarıdaki işlemde yapmak istediğimi şu şekil alabiliyorum ve istediğim gibi

1200 ILCENO lu kişinin memo kayıt alanında 5 ayrı kaydı olsun. yukarıdaki kod ile sonucu şöyle oluyor.

ILCENO KAYIT
1200 ..........
1200 ..........
1200 ..........
....... ..........

istediğim bir sonuç fakat dediğim gibi 3200 kayıt olunca tek tek bu işlemi yopmak meşakkatli. Diyeceksiniz projeni hazırlarken niye iyi düşünmedin ama ilk göz ağrım çok yanlışları var öğrendikçe düzenliyorum.

kolay gelsin
saygılar
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kod: Tümünü seç

procedure TForm1.Button6Click(Sender: TObject);
var
  i:integer;
  begin
     ibdataset1.First;
     while not ibDataset1.Eof do
     begin
         for i:=0 to dbmemo1.lines.count - 1 do
         Begin
            ibdataset3.insert;
            ibdataset3.FieldByName('SUCU').AsString:= dbmemo1.lines[i];
            ibdataset3.FieldByName('ILCENO').AsInteger:=ibdataset1.fieldbyname('ILCENO').asinteger;
            ibdataset3.post;
         end;
         ibdataset1.next;
     end;
end; 
Olabilir. dbmemo1 in de ibdataset1 e bağlı olduğunu düşünerek.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

coderlord ustam verdiğin örneği yapmıştım ve sanki sonsuz döngü oluştu sandım çünki program kilitlenmişti ve ctrl+alt+del ile sonlandırmıştım. seninkinden tek farkı ibdataset1.next; komutu end; den önce idi sizin vermiş olduğunuz gibi end; den sonra yapmayı deneyeceğim

teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

evet coderlord ustam yardımın için teşekkür ederim sizin verdiğiniz örnekteki gibi end; den sonra ibdataset1.next; demek gerekiyormuş.

tekrar teşekkür ve saygılarımla
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhabalar,

tek memolu alanı istediğim olacak şekilde coderlord ustanın yardımı ile aktarımı başardım fakat aslında benim elimde dört tane memo alan var bu döngüyü dörtlü olarak yapabilirmiyiz. yazdığım kodda program kilitlendi kaldı,

Kod: Tümünü seç

procedure TForm1.Button6Click(Sender: TObject);
var
  i,j,k,y:integer;
  begin
     ibdataset1.First;
     while not ibDataset1.Eof do
     begin
         for i:=0 to dbmemo1.lines.count - 1 do
         Begin
           for j:=0 to dbmemo2.Lines.Count -1 do
           begin
             for k:=0 to dbmemo3.Lines.Count -1 do
             begin
               for y:=0 to dbmemo4.Lines.Count -1 do
               begin
                 ibdataset3.insert;
                 ibdataset3.FieldByName('SUCU').AsString:= dbmemo1.lines[i];
                 ibdataset3.FieldByName('MAHALLI').AsString:= dbmemo2.lines[j];
                 ibdataset3.FieldByName('TARIHI').AsDateTime:= strtodate(dbmemo3.lines[k]);
                 ibdataset3.FieldByName('SAYISI').AsString:= dbmemo4.lines[y];
                 ibdataset3.FieldByName('ILCENO').AsInteger:= ibdataset1.fieldbyname('ILCENO').AsInteger;
                 ibdataset3.FieldByName('CERAIMNO').AsInteger:= ibdataset1.fieldbyname('CERAIMNO').AsInteger;
                 ibdataset3.post;
               end;
                 ibdataset1.next;
                 jvxpprogressbar1.Max:=ibdataset1.RecordCount;
                 jvxpprogressbar1.Position:=ibdataset1.RecNo;
             end;
           end;
         end;
     end;
end;
teşekkür ve saygılarımla kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Cevapla