"
11 Aralık 2005 19:27
dbedit ile ilgili bir sorun(lar)
delphi de ara sıra program yazıyorum basit bir sorun ama yapamadım.
bir formda 200 adet dbedit var ve ben her birinde "İ" harfine basıldığında
dbeditin beyaz arkaplanının sarı olmasını istiyorum.
i harfi silindiğinde de yeniden beyaz renge geri dönmesini istiyorum.
yardım ederseniz sevinirim.
BayBY
"
****************************************************
11 Aralık 2005 23:39
for i:=0 to ComponentCount-1 do
begin
try
if FindComponent(Components[i].Name) is TEdit then
(Components[i].Name).color:=clyellow;
except
Continue;
end;
end;
end;
if i de sen yazarsın artık kolay gelsin..
is_oz
****************************************************
cevap:
is_oz arkadaşımıza yazdığı kod için teşekkürler,
ama sorulan sorunun tam cevabı değil...
yukarıda verilen kod,
tüm Edit nesnelerinin zemin rengini sarı yapar.
BayBY arkadaşım öncelikle şunu belirtmek istiyorum ki,
hiç bir soruya "BASİT" demeyiniz....
bunda utanılacak veya çekinilecek bir durum yoktur.
Bilgim olduğu sürece soruları yanıtlarım, ve memnun olurum arkadaşım.
Soru sormak ayıp değildir, sorunuza "basit" demek de "cevap vereni" yüceltmez.
peki,
200 tane dbedit için estedik bir kod yazacağım,
okey,
dbedit1 in onkeyup olayına aşağıdaki kodu yaz:
if (pos('İ',(sender as TDBedit).Text)>0) or (pos('i',(sender as TDBedit).Text)>0) then
(sender as ).TDBeditcolor:=clyellow
else
(sender as TDBedit).color:=clwhite;
diğer tüm dbeditleri form üzerinde seç ve onkeyup olaylarını dbedit1'in onkeyup
olayına eşitle.
istediğin halloldu.. programı çalıştır ve test et....
herhangi bir DBedit içerisinde küçük harf "i" veya büyük harf "İ" ye
basıldığında ilgili DBedit hücresinin içeriği SARI zemin rengi olacak,
aksi halde beyaz zemin rengi olacaktır.
kolay gelsin......
saygılarımla_
neoturk_