delphide edit kutusundaki sayıların en buyugu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
obay50
Üye
Mesajlar: 4
Kayıt: 23 Eki 2010 03:09

delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen obay50 »

arkadaşlar uzun zamandır arıorum ama bulamıorum yardımcı olursanız sevinirim.şimdi soru şöle;
10 adet edit kutusu var. bu kutulara sayıları girioruz. button 1 e tıklayarak bu sayıların en buyugunu edit11 e yazdıracak programı nasıl yapabilirim???
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen qamyoncu »

Kod: Tümünü seç

var
deger: Integer;
begin
deger:=0;
if strtoint(edit1.text)>deger then
deger:=strtoint(edit1.text);
if strtoint(edit2.text)>deger then
deger:=strtoint(edit2.text);
if strtoint(edit3.text)>deger then
deger:=strtoint(edit3.text);
..
..
..
end;
Eğer ki biraz daha profesyonel bir kod yazmak istiyorum ve amelelik yapmak istemiyorum dersen:

Kod: Tümünü seç

var
i: Integer;
deger: Integer;
begin
deger:=0;
for i:=0 to Form1.ComponentCount-1 do
begin
if Form1.Components[i] is TEdit then
begin
if strtoint((Form1.Components[i] as TEdit).Text)>deger then
deger:=strtoint((Form1.Components[i] as TEdit).Text)
end;
end;
end;
end;
ama eğer ki formumda bir sürü edit var ve ben sadece bazılarını almak istiyorum dersen o editleri Panel1'in içine koy ve :

Kod: Tümünü seç

var
i: Integer;
deger: Integer;
begin
deger:=0;
for i:=0 to Form1.ComponentCount-1 do
begin
if (Form1.Components[i] is TEdit) then
begin
if (Form1.Components[i] as TEdit).Parent=Panel1 then
begin
if strtoint((Form1.Components[i] as TEdit).Text)>deger then
deger:=strtoint((Form1.Components[i] as TEdit).Text)
end;
end;
end;
end;

kodları kafadan yazdım imla hataları olabilir. düzeltirsin diye umuyorum sağlıcakla
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
obay50
Üye
Mesajlar: 4
Kayıt: 23 Eki 2010 03:09

Re: delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen obay50 »

kardeş öncelikle tşk ediorum. 2. verdiğin biraz daha kafamı yattı ama bilmediğim komutlar war denedim olmadı zaten buldugu buyuk sayıyı yazdıracağı bi yer yok. ayrıca şöyle bir şey yapmamız mumkunmu for döngüsü içinde edit(i).text gibi programlamamız mumkunmu??
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen qamyoncu »

FindComponent ile ismini verdiğin bileşene erişebilirsin.

FindComponent('edit'+inttostr(i)) gibi.

Kod: Tümünü seç

var
i: Integer;
deger: Integer;
begin
deger:=0;
for i:=0 to Form1.ComponentCount-1 do
  begin
    if Form1.Components[i] is TEdit then
      begin
        if strtoint((Form1.Components[i] as TEdit).Text)>deger then
          deger:=strtoint((Form1.Components[i] as TEdit).Text);
      end;
  end;

edit1.Text:=inttostr(deger);
end;
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
obay50
Üye
Mesajlar: 4
Kayıt: 23 Eki 2010 03:09

Re: delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen obay50 »

kardeş senden son ricam olacak. ben çok ii delphi bilen biri deilim. son olarak for döngüsü 1 den 10 a kadar olsun. ve her sayının karesi sırasıyla edit kutusuna yazılsın.
mesela aşagıdaki programı for dongusuyle edit(i).text:=inttostr(i*i) böyle buna benzer bi komutla yapabilirsen çok daha ii olacak. yardımlarını bekliorum

procedure tform1.button1.click
begin
edit1.text:=inttostr(1*1);
edit2.text:=inttostr(2*2);
edit3.text:=inttostr(i3*3);
edit4.text:=inttostr(4*4);
edit5.text:=inttostr(5*5);
edit6.text:=inttostr(6*6);
edit7.text:=inttostr(7*7);
edit8.text:=inttostr(8*8);
edit9.text:=inttostr(9*9);
edit10.text:=inttostr(10*10);
end;
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen qamyoncu »

Edit1.Text değerine ulaşmak için, dostum;

Kod: Tümünü seç

(FindComponent('Edit1') as TEdit).Text
yazman yeterlidir.

for döngüsü içinde kullanacaksan, i'nin değerinin 1 olduğu yerde

Kod: Tümünü seç

(FindComponent('Edit'+inttostr(i)) as TEdit).Text
kodu Edit1.Text'e ulaşmanı sağlar.

Benzer şekilde for döngüsü içerisinde i'nin değerinin 4 olduğu yerde i*i 16'ya eşit olur.

gerisi senin işin, kolay gelsin.
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
obay50
Üye
Mesajlar: 4
Kayıt: 23 Eki 2010 03:09

Re: delphide edit kutusundaki sayıların en buyugu

Mesaj gönderen obay50 »

gereken programı yazdım kardeş çok çok tşk ederim. kolay gelsin. ihtiyacı olan arkadaş warsa örenk program aşağıdadır.

var
deger,i,a:integer;
begin
deger:=0;
for i:=1 to 5 do
begin
a:=strtoint((FindComponent('Edit'+inttostr(i)) as TEdit).Text);
if a>deger then
deger:=a;

end;
edit6.Text:=inttostr(deger);
end;

end.
Cevapla