create edilen bir richedite hükmetmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
tecnic
Üye
Mesajlar: 29
Kayıt: 14 Tem 2005 01:47

create edilen bir richedite hükmetmek

Mesaj gönderen tecnic »

çalışma esnasında create ettiğim bir richeditin özelliklerine nasıl ulaşabilrim form çalışrkn tabsheetlerde birkaçtane richeditcreate ediyorum ve herhangi bir richedit değiştirildiğinde o richeditin özelliklreine nasıl ulşaabilirim yani o an aktif olan nesnenin özelliklerini nasıl kullanabilirim
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

richedit'i create ettikten sonra onchange olayını bağlyabilirsiniz.yada aktif olduğunda haberiniz olsun istiyorsanız onenter olayını kullabilirsiniz.Kolay gelsin.
tecnic
Üye
Mesajlar: 29
Kayıt: 14 Tem 2005 01:47

Mesaj gönderen tecnic »

istediğim bu değil aslında çok geç oldu yarın daha zinde kafayla anlatıcam tam olarak onun haricinde bu sölediklerinizi zaten kullanıyorum tamamen farklı bişeyden bahsettim ama kafa dağınıklığıyla anlatamadım
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

richediti create ederken instance ini (nesne kopyasını) bir degiskene atarsanır, istediginiz ozelligine erisirsiniz...
mesela:

Kod: Tümünü seç

var
  te:TRichEdit;
begin
  te:=TRichEdit.Create(self);
  te.lines.add('deneme');
ÜŞENME,ERTELEME,VAZGEÇME
tecnic
Üye
Mesajlar: 29
Kayıt: 14 Tem 2005 01:47

Mesaj gönderen tecnic »

[quote="gkimirti"]richediti create ederken instance ini (nesne kopyasını) bir degiskene atarsanır, istediginiz ozelligine erisirsiniz...
mesela:
[code]var
te:TRichEdit;
begin
te:=TRichEdit.Create(self);
te.lines.add('deneme');
[/code][/quote]

tamam bu şekilde anlaşıyoruz fkat ben diyelim te adını kullanarak bi kaç tane ichedit oluşturyorum ve bu richeditlerden o aktif olanı kontrol etmek istediğimde son oluşturulan richeditte değişiklik yapılıyo
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Bu RicheEditleri Creat'e ederken olayalarına atama yapıyor musun?

Kod: Tümünü seç

te:=TRichEdit.Create(self);
te.OnChange:=Degisiklik;
Bunu yapınca riche editte bi değişiklik olunca değişiklik adındaki kod çalışır.
Bundan sonra ise

Kod: Tümünü seç

procedure TForm1.Degisiklik(Sender: TObject);
begin
    TRichEdit(Sender).Left:=TRichEdit(Sender).Left+10;
end;
TRichEdit(Sender) bu senin RicheEdit'in adına tekabül eder. Olayı kim çağırdı ise onun özelliklerine ulaşırsın.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

o zaman bi dizi kullanacaksın
create esnasında nesnelerin tag ozelligini de indis numarası olarak kullanırsın...

td: Array of TRichEdit;

gibi

kullanırken
td[0].lines.add('dsfds');
ÜŞENME,ERTELEME,VAZGEÇME
tecnic
Üye
Mesajlar: 29
Kayıt: 14 Tem 2005 01:47

Mesaj gönderen tecnic »

procedure tform1.dgstir(Sender:TObject; var key:char);
begin
if copy(form1.ActiveControl.Name,1,4)='Rich' then
if tus = true then
begin
metin(sender).SelAttributes.Color := clBlack;
tus:=false;
end;
if key = chr(60) then //'<' ise
begin
metin(Sender).SelLength := CURSOR_SHOWING+1;
metin(sender).SelAttributes.Color := clBlue;
end
else if key= chr(62) then // '>' ise
tus:=true;
end;


create ettiğim nsnenin on change olayında bu procedure çalışyor fakat
metin(sender).SelAttributes.Color := clBlue; satırında missing operator or semicolon yazıyo
tecnic
Üye
Mesajlar: 29
Kayıt: 14 Tem 2005 01:47

Mesaj gönderen tecnic »

TRichEdit(sender).SelLength := CURSOR_SHOWING+1; bu satır sorunumu halletti ben
metin nesnesi ile halletmeye çalıştığım sener tanımlamasını ama trichedit olarak yazınca sorun çözüldü çok teşekkür ediyrum
Cevapla