memo2 datalarım şöyle
22903
6.14
22902
0.12
22901
0.09
12702
2.91
12701
0.11
868588
No Result
33102
No Result
33101
0.08
867684
0.07
868892
0.07
868908
0.09
869506
0.08
MEMO2 çift satır olanlarını tablemdeki NO alanına tek olanlarıda SONUC alanına yazdırmak istiyorum şöyle bir kod yazdım ama olmadı
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
For i:=1 to Memo2.Lines.Count-1 do
begin
Table1.Insert;
Table1NO.AsString:=Memo2.Lines;
Table1SONUC.AsString:=Memo2.Lines[i+1];
end;
end;
end.
memo sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: memo sorunu
Kod: Tümünü seç
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
For i:= 0 to Memo2.Lines.Count-2 do
begin
Table1.Insert;
Table1NO.AsString:=Memo2.Lines[i];
Table1SONUC.AsString:=Memo2.Lines[i+1];
end;
end;
end.
Kolay gelsin.
satır numarası çift olanlar la tek olanlar farklı alanlara aktarılacaksa, sanırım bu döngüdede problem olacaktır. çünkü for döngü sayacı birer birer artacak ve döngüde kullanılan alanların birisi sayac ve diğeri de sayac+1 olacak.
sayac=0 için sayac+1=1 ( Table1NO.AsString:=Memo2.Lines[0]; Table1SONUC.AsString:=Memo2.Lines[1]; )
döngünün sonraki adımında
sayac=1 için sayac+1=2 ( Table1NO.AsString:=Memo2.Lines[1]; Table1SONUC.AsString:=Memo2.Lines[2]; )
olacaktır ve istenen durum bu değil.
şeklinde olması gerekmez mi??
yada döngüyü while kullanarak yapıp döngü sonunda sayacı 2 arttırmak da çözüm olabilir
sayac=0 için sayac+1=1 ( Table1NO.AsString:=Memo2.Lines[0]; Table1SONUC.AsString:=Memo2.Lines[1]; )
döngünün sonraki adımında
sayac=1 için sayac+1=2 ( Table1NO.AsString:=Memo2.Lines[1]; Table1SONUC.AsString:=Memo2.Lines[2]; )
olacaktır ve istenen durum bu değil.
Kod: Tümünü seç
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
For i:= 0 to Memo2.Lines.Count-2 do
begin
Table1.Insert;
if ((i mod 2) =0) then
Table1NO.AsString:=Memo2.Lines[i]
else
Table1SONUC.AsString:=Memo2.Lines[i+1];
end;
end;
yada döngüyü while kullanarak yapıp döngü sonunda sayacı 2 arttırmak da çözüm olabilir
s.a
peki niye for döngüsünde ısrar ediyorsunu?
kolay gelsin.
peki niye for döngüsünde ısrar ediyorsunu?
Kod: Tümünü seç
i:=0;
whlie i>=memo.lines.count-1 do
begin
................
inc(i,2)
end;
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim