for döngüsü

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
dias
Üye
Mesajlar: 16
Kayıt: 15 Oca 2015 11:21

for döngüsü

Mesaj gönderen dias »

i:integer;
procedure......
for i:=1; to 3 do
begin
if edit.i.text=<>'' then
begin
...
end;

yazdığım kod çalışmıyor. amacım edit1,2,3 textim var kullanıcı edit1'e sayı giriyor.edit2'e sayı giriyor.bunları +yapıp edit 3' e yazdırıyor.for ile yapıp kulllanıcı edit3'e girdiğinde edit1'e de girebilir.ve sonucu boş olana vermesi gerekiyor.for ile yapıp döndürecem ve kontrol edecek editleri hangileri doluysa boş olana taoplayıp verecek.

hata ise <>'' burda veriyor.

YARDIMLARINIZI BEKLİYORUM!!!!!!!!!!! :?: :?: :?: :?:
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: for döngüsü

Mesaj gönderen esistem »

Kod: Tümünü seç

var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do begin
    if Components[i] is TEdit then begin
if (TEdit(Components[i]).Text<>'') then .......
                                  end;
                                  end;
dias
Üye
Mesajlar: 16
Kayıt: 15 Oca 2015 11:21

Re: for döngüsü

Mesaj gönderen dias »

esistem yazdı:

Kod: Tümünü seç

var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do begin
    if Components[i] is TEdit then begin
if (TEdit(Components[i]).Text<>'') then .......
                                  end;
                                  end;
for 1 den başlayacak 3 kadar dönecek çünkü 3 editim var ComponentCount burda hata veriyor öyle yaptım mı????
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: for döngüsü

Mesaj gönderen esistem »

ComponentCount formdaki tüm componentlerinizin adedidir, text, button, label vs. kod, form üzerindeki bütün componentleri 0 dan başlayarak say diyor, eğer saydığı sıradaki component TEdit sınıfından türemiş ise bunu bi kontrol et diyosun sende. Senin istediğin (ilk yazdığın şekilde) maalesef editlerine ulaşamazsın.
if (TEdit(Components).Text<>'') then ....... yerine bir kontrol daha koyup senin istediğin editmidir ona bakabilirsin mesela. Şöyleki;

Kod: Tümünü seç

 
if (TEdit(Components[i]).Name='Edit1') then begin ....

sanırım yukarıdaki şekilde olur, denemedim ama.
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: for döngüsü

Mesaj gönderen esistem »

Yada şöyle;

Kod: Tümünü seç

if edit1.text='' then edit1.text:=edit2.text+edit3.text;
if edit2.text='' then edit2.text:=edit1.text+edit3.text;
if edit3.text='' then edit3.text:=edit1.text+edit2.text;
dias
Üye
Mesajlar: 16
Kayıt: 15 Oca 2015 11:21

Re: for döngüsü

Mesaj gönderen dias »

sanırım benim kullandığım programdan kaynaklanıyor.components hatası veriyor
dias
Üye
Mesajlar: 16
Kayıt: 15 Oca 2015 11:21

Re: for döngüsü

Mesaj gönderen dias »

kod çalıştı ama sonucu yazarken girdiğin sayı ile sonucu yanyana yazdırıyor
dias
Üye
Mesajlar: 16
Kayıt: 15 Oca 2015 11:21

Re: for döngüsü

Mesaj gönderen dias »

tamam verdiğin if komutları çalıştı teşekkürler.
Cevapla