procedure TForm1.Button2Click(Sender: TObject);
var
i,x :integer;
begin
for i:=0 to memo1.Lines.count do
begin
if i div 10 >= 1 then
begin
Memo1.Lines.Delete(i);
end;
Arkadaşlar memoda 10. satırdan sonrasını sildirmek istiyorum ama bir türlü yapamadım bu kodun neresinde yanlışlık var ? yardımcı olursanız çok sevinirim. Şimdiden Teşekkürler.
ben c++builder ile yazdığım için for döngüsünde syntax hatası yapmış olabilirim.
procedure TForm1.Button2Click(Sender: TObject);
var
i,x :integer;
begin
for i:=memo1.Lines.count-1 to 9 do
begin
Memo1.Lines.Delete(i);
end;
cecihan yazdı:ben c++builder ile yazdığım için for döngüsünde syntax hatası yapmış olabilirim.
procedure TForm1.Button2Click(Sender: TObject);
var
i,x :integer;
begin for i:=memo1.Lines.count-1 to 9 do// burayı for i:=9 to memo1.lines.count-1 do şeklinde değiştir.
begin
Memo1.Lines.Delete(i);
end;
ufak bir şeyi gözden kaçırmışsınız, 10. satırdan sonrakini silmek istemiş. vermiş olduğunu, ilk satırdan 10 cu satıra kadar siler. ilgili düzeltmeyi yaparsanız sevinirim.
yok benim niyetim memoda 15 satır varsa 15inciden(memo.lines.count-1) geri giderek 10. satıra kadar en son kaydı silerek yukarı doğru çıkmaktı(ki bu şekilde arada satır sildiğimizde alt satır üste çıkacağı içinde karışıklığı idare etmemizde gerekecekti.). sadece for döngüsünde -1 artmasını delphi iyi bilmediğim için yazamadım. onun dışında bence mantığımda sorun yoktu. bu açıdan bakarmısınız tekrar source'a.
procedure TForm1.Button1Click(Sender: TObject);
var
x :integer;
begin
x:=memo1.Lines.Count-1;
while x>9 do
begin
Memo1.Lines.Delete(x);
x:=x-1;
end;
end;
memo kayıt uzunluğunu döngü içine alamazsınız. çünkü her silinişte bir azalıyor. ilk değeri x olarak saptayın
Arkadaşlar çok sağolun ellerinize sağlık bütün yorumları okudum... İlk simaWB 'nin verdiği kodu denedim ve oldu hepinize ayrı ayrı teşekkürler ama simaWB 'ye bir fazla teşekkür ederim