Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

TEdit - OnKeyUp

[es] :: Pascal / Delphi / Kylix :: TEdit - OnKeyUp

[ Pregleda: 6347 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.dialup.blic.net

ICQ: 46802502


+49 Profil

icon TEdit - OnKeyUp24.06.2002. u 20:36 - pre 264 meseci
U jednom TEditu kontrolisem Event OnKeyUp, odnosno gledam kad korisnik
pritisne <ENTER> i onda pokrenem akciju provjere unosa. U slucaju greske
pozovem ShowMessage na ekran koji ima OK buttom.
E sad ako na tom ShowMessage prozoru opet kliknem na ENTER on odradi OK
znaci kao da sam pritisnuo OK button, ali prenese ENTER taster u prethodni
TEdit i naravno opet ispise istu poruku. Mogu jedino da zatvorim taj prozor sa
porukom sa SPACE tasterom i sa mishem.
Kako zabraniti prenos tog Enter tastera? odnosno te akcije ?

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.beotel.net

Sajt: www.activecollab.com


+1 Profil

icon Re: TEdit - OnKeyUp24.06.2002. u 22:50 - pre 264 meseci
Koristi onKeyPress. Kod ti je sledeci:

if Key = #13 then
begin
.
.
.
end;

#13 predstavlja taster Enter. Imas u Helpu vrednost svih karaktera, ako ti kojim slucajem zatreba neki drugi (Tab, Space ...).
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
*.mol.com.mk

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: TEdit - OnKeyUp25.06.2002. u 04:00 - pre 264 meseci
OnKeyDown radi sve to lepo :)
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.dialup.blic.net

ICQ: 46802502


+49 Profil

icon Re: TEdit - OnKeyUp25.06.2002. u 12:36 - pre 264 meseci
Radi sa KeyDown :)

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

elix
Beograd

Član broj: 4682
Poruke: 30
*.ipt.aol.com



Profil

icon Re: TEdit - OnKeyUp22.07.2002. u 16:52 - pre 264 meseci
ovo je akcija 'OnKeyDown' na Teditu.Taj Tedit je stvoren za vreme rada programa
i ne znam mu Control Count'. Znaci, kad promenim nesto u njemu to treba da se odrazi na drugi Tedit, ciji je redni broj npr. za dva veci.
zasto ovo nece da radi?

procedure TForm1.AkoSePromeni(Sender:Tobject;var Key: Word;
Shift: TShiftState);
var k:integer;
begin
k:=Tedit(sender).ControlCount;
Tedit(controls[k+2]).text:='EEEE');
end;

tj....zasto je k stalno 0.....kako da dobijem redni broj Tedita koji je zatrazio obradu...





end;
 
Odgovor na temu

elix
Beograd

Član broj: 4682
Poruke: 30
*.ipt.aol.com



Profil

icon Re: TEdit - OnKeyUp22.07.2002. u 19:39 - pre 264 meseci
resio sam to sa

k:=Tedit(sender).taborder;

meni to izgleda nekako bezveze ali...radi.....
postoji li neki drugi nacin..........


isto tako... postoje li ugradjene funkcije za ispitivanje da li je uneti podatak float, integer.....
 
Odgovor na temu

MoHicAn

Član broj: 43
Poruke: 1893
*.yubc.net



Profil

icon Re: TEdit - OnKeyUp23.07.2002. u 03:54 - pre 263 meseci
Ako se ja dobro secam taborder je koja je po redu ta komponenta pri pritisku tab-a ne vidim kakve to veze ima sa ovim tvojim problemom.
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.beotel.net

Sajt: www.activecollab.com


+1 Profil

icon Re: TEdit - OnKeyUp23.07.2002. u 17:34 - pre 263 meseci
- Prvo moras da kreiras objekat, sto si pretpostavljam vec uradio;
- moras da podesis svojstva komponente prilikom kreiranja;

Posto tebi treba svojstvo Name (mora biti unikatno) da bi se referisao na kreiranu komponentu onda ga generisi. Ja sam malo modifikovao Cantuov kod iz knjige Mastering Delphi da bih to postigao.

uses
StdCtrls;

procedure TForm1.FormMouseDown(
Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Btn: TButton;
begin
Btn := TButton.Create (Self);
Btn.Parent := Self;
Btn.Left := X;
Btn.Top := Y;
Btn.Width := Btn.Width + 50;
Btn.Name := ('Btn' + IntToStr (Form1.ComponentCount));
end;


Ja se nadam da ovde nema nekih preteranih nejasnoca. Kod mene kod savrseno dobro radi.

isto tako... postoje li ugradjene funkcije za ispitivanje da li je uneti podatak float, integer.....

To mozes vrlo jednostavno da uradis pomocu izuzetka. Imas formular, jedan Edit i jedno dugme. Evo nesto malo koda...

procedure TForm1.Button1Click(Sender: TObject);
var
Test: Integer;
begin
try
Test := StrToInt (Edit1.Text);
except
on Exception do
raise Exception.Create ('Niste uneli ceo broj. bla bla');
end;
end;


Unutar try bloka kazujes mu sta da radi. Ukoliko dodje do izuzetka on ispisuje on radi ono sto je navedeno u bloku except i prekida dalje izvrsenje koda. Rad sa izuzecima je prilicno slozena materija (posto su i izuzeci klase sa svojim metodama, svojstvima itd.)

Pored ove funkcije za konverziju (StrToInt) najcesce ces koristiti StrToFloat, StrToDate, StrToTime i obrnute funkcije.
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

elix
Beograd

Član broj: 4682
Poruke: 30
*.tnt6.str2.deu.da.uu.net



Profil

icon Re: TEdit - OnKeyUp24.07.2002. u 01:46 - pre 263 meseci
nismo se bas razumeli za prvi deo pitanja.ono navedeno sam vec odradio bio
ali...... no nije ni vazno....sredio sam na drugi nacin...

drugi deo ce vrlo koristiti........

vraticu se opet kad mi zatreba nesto :)
 
Odgovor na temu

elix
Beograd

Član broj: 4682
Poruke: 30
*.tnt4.str2.deu.da.uu.net



Profil

icon Re: TEdit - OnKeyUp24.07.2002. u 10:34 - pre 263 meseci
ehhh.......

nesto nije u redu........

ne uspeva mi ono sto si kucao....
stalno se isto desava...kao da ne postoji....znaci program blokira ako se unesu pogresni podaci
napise da je nasao Exception iz klase Econverterror , da ne moze da prebaci u integer... i to je to

kucao sam i ovo


procedure TForm1.Button1Click(Sender: TObject);
var Test:integer;
begin
try
Test:=StrToInt(Edit1.Text);
except
on Exception do Edit2.text:='FFF';
on EconvertError do bla bla........ /ne vredi nista sto sam probao...
on EZeroDivide do edit2.Text:='FF';
on EOverflow do edit2.Text:='gggt';
on EMathError do edit2.Text:='rtzu';
else
edit2.text:='rtz';
end;

end;


edit2.text je tu samo provizorno naravno.... kucao sam i ono tvoje ali nista...

jednostavno samo mi treba nesto sto proveri za podatak da li je moguce prebaciti ga u broj...i napisati to nekako na ekranu (prozorcic, ili slicno) ne prekidati
program!.......

pa?
 
Odgovor na temu

elix
Beograd

Član broj: 4682
Poruke: 30
*.tnt5.str2.deu.da.uu.net



Profil

icon Re: TEdit - OnKeyUp24.07.2002. u 11:30 - pre 263 meseci
u stvari...kao i da radi... u sledecem startovanju(kad ga odblokiram na "start" ispise sta treba u Edit2.text).... ali ja ne zelim da se program blokira.....samo da ispit da li je moguce i ako nije da napise poruku....a ako ne da nastavi dalje
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.beotel.net

Sajt: www.activecollab.com


+1 Profil

icon Re: TEdit - OnKeyUp24.07.2002. u 13:34 - pre 263 meseci
Ne moze da ne radi. Ti ne vidis odmah izuzetak ako starujes program sa F9 (u stvari, on te vrati u Delphe pa ti kaze da koristis StepOver). Nije greska. probaj da koristis kompajliranu verziju programa i videces da sve radi savrseno.

Postoje cake, s obzirom na to sto zelis da uradis.

Funkcije za konverziju rade s tim da pri nemogucnosti konverzije dovode do izuzetka i blokiraju dalje izvrsenje koda (sve dok ne uneses validnu vrednost). Posto ti zelis (cini mi se) da ispitas da li je unesen ceo ili realan broj, a zatim zelis da nastavis izvrsavanje bez obzira na rezultat onda ces morati da dupliras kod (napravices spagete) tako da u Except bloku radi nesto ako nije unesen ceo ili realan broj, a nakon izlaska iz Try-Except radi nesto sto koristi vrednost realnog ili celog broja. Pazi, Try-Except se u sustini ponasa slicno if-else if. Ako udje u Except bloka iz njega nema izlaska (tj. prekida izvrsenje kada dodje do end; koji zatvara Except blok).

Try-Except se ponasaju kao stabilne i odvojene programske jedinice (begin-end) tako da unutar njih mozes da otkucas xxx linija koda. Taj pristup ti nikako ne preporucujem (komplikovan je i tezak za odrzavanje), ali je on ponekad jedino resenje.

[Ovu poruku je menjao MarQs dana 24.07.2002 u 01:50 PM GMT]

[Ovu poruku je menjao MarQs dana 24.07.2002 u 01:55 PM GMT]
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

elix
Beograd

Član broj: 4682
Poruke: 30
*.ipt.aol.com



Profil

icon Re: TEdit - OnKeyUp24.07.2002. u 13:47 - pre 263 meseci
da naravno.... bas sam upravo provalio posle dva sata to...
i dosao da se izvinim na sopstvenoj gluposti....

 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.beg.sezampro.yu



+62 Profil

icon Re: TEdit - OnKeyUp25.07.2002. u 10:16 - pre 263 meseci
A da li je neko ovde cuo za funkciju Val()?
To se vuce jos od TurboPascala...i naravno da je ima i u Delphi-ju.

Rajko
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.beotel.net

Sajt: www.activecollab.com


+1 Profil

icon Re: TEdit - OnKeyUp25.07.2002. u 13:27 - pre 263 meseci
Val se koristi pri konverziji iz stringa u int. Sta ces uraditi ako recimo treba da sprecis deljenje nulom, I/O greske... ? Tu ti Val ne moze pomoci.

Napisao sam kreci tekst o izuzecima. Kompletan source za dva primera i Tutorial u doc formatu se nalaze na temi FAQ - Pascal / Delphi / Kylix
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.beg.sezampro.yu



+62 Profil

icon Re: TEdit - OnKeyUp26.07.2002. u 09:05 - pre 263 meseci
Ljudi, svaka cast na ulozenom trudu, ali ja svaki thread citam od pocetka - znaci, od prvog posta na dole. Covek je prvo pitao kako da spreci prenos Enter-a, zatim kako da konvertuje string u number; Exceptions bas i nije trazio. Mislim da svakome treba pomoci na najkraci (i najbolji) nacin

Rajko

P.S. A sto se tice Exceptions-a, mogao bih i ja da se raspisem da sve zveci, ali - sta cemo sa spamom...
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.beotel.net

Sajt: www.activecollab.com


+1 Profil

icon Re: TEdit - OnKeyUp29.07.2002. u 17:47 - pre 263 meseci
Ja se izvinjavam ako sam te na bilo koji nacin uvredio.

Ipak smatram da je Val davno prevazidjen i da se kvalitetnije resenje moze naci u funkcija StrToInt i izuzecima (za obradu eventualne greske).

PS. Raspisi se slobodno. Kamo srece da ima vise onih koji bi to radili...
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

sesa
Braslav Sesartic
Uzice

Član broj: 4872
Poruke: 27
*.ptt.yu



Profil

icon Re: TEdit - OnKeyUp07.08.2002. u 13:58 - pre 263 meseci
mozda sam malo zakasnio al' ipak:

ispratih celu pricu i mislim da je odgovor OK samo zbog cega
kontrolu unetog vrsiti na OnKeyDown kad postoji
OnExit event.

OnKeyDown ne odgovara i zbog cinjenice da zavrsetak unosa moze biti i
klikom misa na neki od dugmica na formi.

Znaci OnExit i Raise ako nesto nije u redu. Raise ce vratiti fokus na trenutnu TEdit
komponentu.

 
Odgovor na temu

sesa
Braslav Sesartic
Uzice

Član broj: 4872
Poruke: 27
*.ptt.yu



Profil

icon Re: TEdit - OnKeyUp10.08.2002. u 23:17 - pre 263 meseci
Ako stavis jedan ShowMessage u OnChange videces zbog cega nije dobro
koristiti taj event.
Moj izbor je OnExit.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: TEdit - OnKeyUp

[ Pregleda: 6347 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.