edit içeriğine göre davranma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
edit içeriğine göre davranma
arkadaşlar merhaba
30 adet char(1) boyutunda alanlarım var. Bunların içeğinin durumuna göre
eğer alanın içi boş ise mouse ile tıklayarak içine X koymak veya içeriğinde X varsa mouse ile tıklayarak bu içeriği kaldırmak istiyorum.
Bunu her edit için if ...then karmaşası ile değilde daha kısa yoldan yapabileceğim bir yol varmı?
iyi çalışmalar.
30 adet char(1) boyutunda alanlarım var. Bunların içeğinin durumuna göre
eğer alanın içi boş ise mouse ile tıklayarak içine X koymak veya içeriğinde X varsa mouse ile tıklayarak bu içeriği kaldırmak istiyorum.
Bunu her edit için if ...then karmaşası ile değilde daha kısa yoldan yapabileceğim bir yol varmı?
iyi çalışmalar.
var
i,Toplam:Integer;
begin
Toplam:=0;
for i := 1 to 59 do
begin
if TdbrichEdit(FindComponent('dbrichEdit'+inttostr(i))).Text<>'' then toplam:=toplam+strtoint(TdbrichEdit(FindComponent('dbrichEdit'+inttostr(i))).Text);
end;
table1.Edit;
dbrichedit61.Text:=inttostr(toplam);
table1.Post;
end;
bo kodla 59 adet edit in içleri dolu olanları topladım
burda işi yapan kod findcomponent kısmı alında
i,Toplam:Integer;
begin
Toplam:=0;
for i := 1 to 59 do
begin
if TdbrichEdit(FindComponent('dbrichEdit'+inttostr(i))).Text<>'' then toplam:=toplam+strtoint(TdbrichEdit(FindComponent('dbrichEdit'+inttostr(i))).Text);
end;
table1.Edit;
dbrichedit61.Text:=inttostr(toplam);
table1.Post;
end;
bo kodla 59 adet edit in içleri dolu olanları topladım
burda işi yapan kod findcomponent kısmı alında
@gimil kanka kod için sağol ne zamandır arıyordum
bu kodla bi kerede 1000 lerce editin içeriğini boşaltabiliyorum artık
. Gerçi şimdi lazım değil ama ilerde eminim lazım olacaktır.


Kod: Tümünü seç
var
i:Integer;
begin
for i := 1 to 100 do
begin
if TEdit(FindComponent('Edit'+inttostr(i))).Text<>'' then
TEdit(FindComponent('Edit'+inttostr(i))).Text:='';
end;
end;
Şafak 300 ( 10.04.2005) dü artık Yok....
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
şimdi gördüm aşağıda birisi aynısnı yazmış prd.
Şafak 300 ( 10.04.2005) dü artık Yok....
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
arkadaşlar derdimi tam anlatamadım sanırım
Formda bu dediğim editlerin dışında da bir sürü edit var zaten.
Amaç formdaki bütün editlerin içerğini değiştirmek değil. toplam 30 kadar editin içindeki değere göre ;
eğer bu editin içeriği X ise mouse ile buna tıklayarak içini silmek veya
içi boş ise yine mouse ile tıklayarak içine X koymak istiyorum.
her edit için içeriğini test ederek if then kalabalığına girmeden bunu nasıl yapabilirim.
Formda bu dediğim editlerin dışında da bir sürü edit var zaten.
Amaç formdaki bütün editlerin içerğini değiştirmek değil. toplam 30 kadar editin içindeki değere göre ;
eğer bu editin içeriği X ise mouse ile buna tıklayarak içini silmek veya
içi boş ise yine mouse ile tıklayarak içine X koymak istiyorum.
her edit için içeriğini test ederek if then kalabalığına girmeden bunu nasıl yapabilirim.
var
i:Integer;
begin
for i := 1 to 30 do
begin
if TEdit(FindComponent('Edit'+inttostr(i))).Text<>'' then
TEdit(FindComponent('Edit'+inttostr(i))).Text:='x' else
TEdit(FindComponent('Edit'+inttostr(i))).Text:='';
end;
end;
bu senin işini görür yanlız değişcek editleri 1 den 30 a kadar sıralaman lazım yada nameleri değiştirebilirsin editlerin mesela edita1 gibi edita2 yaparsan yukardaki kodda editleri edita yaparsan çalışır.
i:Integer;
begin
for i := 1 to 30 do
begin
if TEdit(FindComponent('Edit'+inttostr(i))).Text<>'' then
TEdit(FindComponent('Edit'+inttostr(i))).Text:='x' else
TEdit(FindComponent('Edit'+inttostr(i))).Text:='';
end;
end;
bu senin işini görür yanlız değişcek editleri 1 den 30 a kadar sıralaman lazım yada nameleri değiştirebilirsin editlerin mesela edita1 gibi edita2 yaparsan yukardaki kodda editleri edita yaparsan çalışır.
Şafak 300 ( 10.04.2005) dü artık Yok....
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
s.a.
önce istediğin işlemi bir edit için yap.
editin onclick inde textini kontrol edeceksin.
sonra diğer editlerin onclick olayına (object inspektorden) yazdığın procedure yi göster.
kolay gelsin.
önce istediğin işlemi bir edit için yap.
editin onclick inde textini kontrol edeceksin.
sonra diğer editlerin onclick olayına (object inspektorden) yazdığın procedure yi göster.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
arkadaşlar ilginiz için çok sağolun ama verilen kodlar tüm editler için aynı anda X koyuyor ya da içeriğini temizliyor. Benim amacım kullanıcı mouse ile seçtiği editin içeriğini birinci tıklama ile X yapsın eğer bir daha aynı edite tıklarsa içeriğindeki X temizlensin demiştim. Bunu her edit için if ile yapmak olası bir durum ancak kod kalabalığı olmadan kısaca nasıl yapabilirim.
iyi çalışmalar
iyi çalışmalar
Merhaba...
- Önce bu işi Mouse Click olayı ile yapacağından önerim MouseUP eventinde kod yazman. Bir edit için bunu yapacak ve model edit'in bu kod yazdığın olacak.
- Sıradaki işlem ise @aslangeri'nin önerdiği gibi, diğer editleri bir bir dolaşıp ya da geriye kalanların tümünü seçip, MouseUp eventindeki açılır liste kutusundan bu model edit'in ( örneğimizde Edit1MouseUp ) MouseUp hazır yapılmışını seçmek.
- Başarılar...
- Önce bu işi Mouse Click olayı ile yapacağından önerim MouseUP eventinde kod yazman. Bir edit için bunu yapacak ve model edit'in bu kod yazdığın olacak.
Kod: Tümünü seç
procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If TEdit(Sender).Text = 'X' then TEdit(Sender).Text := ''
else TEdit(Sender).Text := 'X';
end;
- Başarılar...
