[ Príspevkov: 18 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
NapísalOffline : 10.01.2013 16:01 | Delphi-kalkulačka

Čaute robím na kalkulačke do školy. V podstate ju mám hotovú ale chcel by som vedieť ešte pár vecí ktoré sme zatiaľ nebrali. Momentálne musím všetky tlačidlá stlačiť mišou keď chcem aby fungovali lenže chcem aby reagovali aj na klávesnicu. Napríklad že keď stlačím na klávesnici + tak to stlačí príslušné tlačidlo. ďakujem za pomoc


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 10.01.2013 16:51 | Delphi-kalkulačka

pozri si udalosti, ktore reaguju na keypress a obsluz to tam


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 10.01.2013 17:43 | Delphi-kalkulačka

Najväčší problém je že mi nejde delphi help mám windows 7 64bit. V object inspectore som si našiel OnKeyDown lenže neviem čo ďalej


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 10.01.2013 18:15 | Delphi-kalkulačka

Veď to generuješ priamo z designera. Už neviem presne ako to tam bolo, ale v rovnakom okne, kde sú vlastnosti prvku, by mala byť záložka aj na eventy, ktoré tomu prvku dokážeš dať.
(ani neviem, v čom to robíš, ale malo by to byť jedno)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 10.01.2013 18:26 | Delphi-kalkulačka

Robím to v Delphi 7. Veď ono mi to vytvori proceduru OnkeyDown lenže potrebujem príkaz na priradenie ku klávesu aby to fungovalo


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 10.01.2013 18:33 | Delphi-kalkulačka

Vygeneruje ti to takúto metódu, však?
Kód:
 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState) ;


No a v premennej Key (typu Word, takže 4 byte číslo) máš klávesu. Buď sú to ASCII hodnoty, alebo sa riaď touto tabulkou http://delphi.about.com/od/objectpascalide/l/blvkc.htm


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 10.01.2013 18:42 | Delphi-kalkulačka

Už mi to ide lenže teraz mám všetko na procedúrach TForm1.Button1Click(Sender: TObject); dá sa nejako odkázať na tieto procedúry aby som nemusel ich obsah kopírovať na novo vytvorené TForm1.FormKeyDown ??


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 10.01.2013 19:55 | Delphi-kalkulačka

Samozrejme. Stačí si urobiť osobitnú metódu/metódy a v udalostiach zavolať len túto jednu. A v nej sa postarať o všetko.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 10.01.2013 20:08 | Delphi-kalkulačka

Problém je že neviem ako to mám urobiť s týmto som ešte nepracoval


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 10.01.2013 20:15 | Delphi-kalkulačka

Úplne rovnako, ako sú deklarované tie udalosti, deklaruj aj nejakú svoju vlastnú metódu. A potom ju aj implementuj.
Nepamätám si už, ako to v delphi je, skúšaj podľa vzoru tých, ktoré tam máš.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 11.01.2013 14:57 | Delphi-kalkulačka

Neviem prísť nato ako odkázať na TForm1.Button1Click(Sender: TObject) lebo mi zatiaľ nešlo nič. Skúsite mi niečo poradiť


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 11.01.2013 15:13 | Delphi-kalkulačka

Nemusíš sa na ňu odkazovať. Urob si vlastnú (trebárs MyButton1Click) a tú volaj z udalosti a odkiaľ chceš. On ten sender tam aj tak nič nerobí, nie?


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157 | 157
Bydlisko: KK/PP/BA
NapísalOffline : 11.01.2013 16:58 | Delphi-kalkulačka

Filips píše:
Neviem prísť nato ako odkázať na TForm1.Button1Click(Sender: TObject) lebo mi zatiaľ nešlo nič. Skúsite mi niečo poradiť


Kód:
Button1.click;


_________________
HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia
Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro

Boh je reálny, pokial nebol deklarovaný ako integer
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 11.01.2013 18:36 | Delphi-kalkulačka

Mám to takto lenže nič to nespraví. Po stlačení 1 by sa mala vykonať procedura button13 ale nikdy sa to nevykoná. S týmto som ešte nepracoval a potreboval by som pomôcť.
Kód:
procedure TForm1.Button13KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = 61 then
button13.Click;
end;


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 11.01.2013 18:40 | Delphi-kalkulačka

Už miešaš dve veci do kopy. To čo písal F3RY si nevšímaj (Tak by si volal udalosť. Na to kašli.)
Zavolaj if key = 61 then button13;
(ak teda button13 je procedúra vytvorená tebou, čo predpokladám je)

Či už som z toho úplne zblblý? Pošli radšej celý projekt (ako .zip, napr), pozrieme sa na to.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Delphi-kalkulačka

Registrovaný: 02.09.11
Prihlásený: 29.04.24
Príspevky: 215
Témy: 37 | 37
Bydlisko: Šarišské Mi...
Napísal autor témyOffline : 12.01.2013 23:06 | Delphi-kalkulačka

Problém je že to nereaguje na to if key =61 then ... dal som tam jednoduchy prikaz a nič. proste tá podmienka nebola splnená nereaguje to na stlačenie toho tlačidla. Už fakt neviem čo s tým.


_________________
CPU: Intel Core i5 2500 3,3 GHz MB: Gigabyte P67-UD4-B3 VGA: ASUS Nvidia 460GTX Direct cu RAM: Kingston Hyber X 4GB (2+2 kit, CL7, 1333MHz) SSD: Crucial M4 128Gb HDD:WD Caviar Black 1 TB HDD, SATA-III 6Gb/s, 7200RPM, 64MB cache PSU: Be quiet Pure power 530W modular CASE: Fractal Design R3
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 13.01.2013 8:28 | Delphi-kalkulačka

Daj si na začiatok udalosti nejaký messagebox, alebo debug výpis, či ti ju vôbec zavolá. Ak áno, vyskúšaj viac podmienok (rôzne znaky) a postláčaj všetky klávesy, či sa niečo chytí. Potom sa ti bude ľahšie hľadať problém.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20 | 20
NapísalOffline : 02.03.2013 10:18 | Delphi-kalkulačka

pisem sice v lazaruse a nie v delphi ale malo by tobyt to iste

Filips píše:
Mám to takto lenže nič to nespraví. Po stlačení 1 by sa mala vykonať procedura button13 ale nikdy sa to nevykoná. S týmto som ešte nepracoval a potreboval by som pomôcť.
Kód:
procedure TForm1.Button13KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = 61 then
button13.Click;
end;



problem asi bude ten ze 61 nieje ascii kod 1 ale "=" (cisla su 48-57), za druhe preco mas keydown na buttone ? ved tu uz mozes potom rovno klikat, daj ho na form... za dalsie, idealne je OnKeyPress nie KeyDown... za dalsie ked porovnavas ascii hodnotu nemozes dat key=61 ale key = #61

Kód:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
   if key = #49 then
     button13.click;
end;


ked pojdes viac cisel, co tipujem ze ano tak pouzi case... a ked ti taky cas nieco nejde tak presne ako pise BX , testuj vsetko cim si si nie isty napr showmessage


_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
 [ Príspevkov: 18 ] 


Delphi-kalkulačka




© 2005 - 2024 PCforum, edited by JanoF