Başka formdan bi componentin içeriğini almak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Başka formdan bi componentin içeriğini almak.

Mesaj gönderen sako »

Şimdi benim 30 formluk bi program var. Her formun içindeki edit1 in içeriğini 31. formdaki editlerin içerisine aktaracam. Şöyle bişe yazdım ama kabul etmedi.

for i:=1 to 30 do begin
TEdit(FindComponent('Edit'+IntToStr(i))).Text :=Tform(FindComponent('form'+IntToStr(i))).(FindComponent('Edit'+IntToStr(i))).Text';

böyle bişe yazdım ama bold yazdığım alanda hata veriyor. Başka bi yolu varmı acaba

kolay gelsin.
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Satırda kural hatası yapmışsın o kadar...

1. Tırnak ile bitirmişsin...
2. koyu yazdığın FindComponent'i parantez içine almışsın, halbu ki tümünü TEdit parantezine almalıydın... Ancak bu sayede sondaki Text ibaresinin bir TEdit'e ait olduğunu kanıtlarsın...

Kod: Tümünü seç

  TEdit(FindComponent('Edit'+IntToStr(i))).Text :=TEdit(Tform(FindComponent('form'+IntToStr(i))).FindComponent('Edit'+IntToStr(i))).Text;
Resim
Resim ....Resim
Kullanıcı avatarı
sertkayasalih
Üye
Mesajlar: 178
Kayıt: 12 Haz 2003 12:47
Konum: Antalya
İletişim:

Mesaj gönderen sertkayasalih »

Merhaba sako,

- Aklıma geldiği kadarıyla, 1 den 30 a kadar olan edit içeriğini okutup aktarmak mantığıyla aşağıdaki gibi bir düzenlemeyle yapılabilinir.

Umarım yardımcı olur.

Kod: Tümünü seç

var
  i        : integer;
  iEdit   : TEdit; // 1-30 arası Formdaki okunacak Edit ler için.
begin
   for i := 1 to 30 -1 do
   begin
      iEdit := Tform(FindComponent('form'+IntToStr(i))).(FindComponent('Edit'+IntToStr(i))) as TEdit;//1-30 arası Formdaki Edit ler için.
      FindComponent('sEdit'+IntToStr(i) as TEdit).Text := iEdit.Text;// sEdit 31. formdaki Edit tanımları (sEdit1, sEdit2, vs..).
   end;
end;
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini
keser.
Kullanıcı avatarı
sertkayasalih
Üye
Mesajlar: 178
Kayıt: 12 Haz 2003 12:47
Konum: Antalya
İletişim:

Mesaj gönderen sertkayasalih »

Muharrem hocam,

Özür... :oops:

- Ben yanıtlamaya çalışırken siz cevabı yazmışsınız.
- İnşallah sizin cevabınıza alternatif olarak düşünmezsiniz :oops:
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini
keser.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@midijor

- Merhaba... Resim

- Neden öyle düşüneyim. Ayrıca öyle ya da değil fikir çeşitliliği her zaman en güzelidir.. Lütfen başlığa cevap yazılmış deyip boş geçmeyin. Her cevabın bugün olmasa bile gelecekte mutlaka faydası olacaktır... :idea:
Resim
Resim ....Resim
Kullanıcı avatarı
sertkayasalih
Üye
Mesajlar: 178
Kayıt: 12 Haz 2003 12:47
Konum: Antalya
İletişim:

Mesaj gönderen sertkayasalih »

Teşekkür ederim Muharrem Hocam :)
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini
keser.
Cevapla