Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Taschenrechner über Tastatur bedienen (https://www.delphipraxis.net/84048-taschenrechner-ueber-tastatur-bedienen.html)

dominikkv 11. Jan 2007 14:56

Re: Taschenrechner über Tastatur bedienen
 
ich würd nun so vorgehen:
1. den gesamten teil der in Button1Click steht mit {} ausklammern und ein einfaches showmessage('hallo'); unten reinschreiben
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
{  if (edit1.text='0') or (operation=true) then
  begin
    edit1.text:='1';
    operation:=false;
  end
  else edit1.text:=edit1.text+'1';}
showmessage('Hallo');
end;
dann starten und einmal ausprobieren.
wenn Hallo kommt weißt du das es an der Button1Click prozedur liegt...
wenn nein dann änder die FormKeyPress Procedure:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
 // if key='1' then button1.click;
showmessage('huhu');
end;
wieder starten und irgendeinen knopf auf der tastatur drücken... wenn huhu kommt weißt du das die procedur aufgerufen wird und du kannst zum nächsten schritt gehen:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
  {if key='1' then} button1.click;
end;
jetzt müsste immer wenn du ne taste drückst die prozedur aufgerufen werden (also Hallo erscheinen)
wenn nicht dann liegts an dem if key='1' then

mfg.dominik

Stefan92 11. Jan 2007 15:08

Re: Taschenrechner über Tastatur bedienen
 
Erstmal Danke für die Anleitung fürs Debugging. :zwinker:
Jetzt habe ich festgestellt, dass es am zweiten Teil, der Prozedur, hängt. Die Nachricht 'huhu' wird nicht ausgegeben.
Was nun? Hat jemand ne Idee?

Gruß

Stefan

dominikkv 11. Jan 2007 15:20

Re: Taschenrechner über Tastatur bedienen
 
das bedeutet wohl das die FormKeyPress Procedure nicht aufgerufen wird wenn du ne Taste drückst
:arrow: hast du im Objektinspector das Ereignis OnKeyPress der Form der Procedure FormKeyPress zugewiesen?

Stefan92 11. Jan 2007 15:30

Re: Taschenrechner über Tastatur bedienen
 
Ja, das war der Fehler, ich habe in der Form nicht das Ereignis OnKeyPress zugewiesen. Jetzt klappt alles tadellos.
Vielen, vielen Dank an alle, die mir diesen Moment ermöglich haben und ein ganz besonderes Dankeschön möchte ich diesem tollen Forum wünschen. :hello: :dp: :cheers: *übertreib*

So nun reichts aber mit der Freude, jetzt mach ich erstmal mein Programm fertig. :zwinker:

Gruß

Stefan

Stefan92 11. Jan 2007 15:37

Re: Taschenrechner über Tastatur bedienen
 
Achso, eine Sache wäre da noch, kann ich Sondertasten wie Enter oder Backspace auch abrufen? Wenn ja, wie?

Gruß

Stefan

Klaus01 11. Jan 2007 15:43

Re: Taschenrechner über Tastatur bedienen
 
Enter hat den Code #13
und Backspace #8

Grüße
Klaus

dominikkv 11. Jan 2007 15:44

Re: Taschenrechner über Tastatur bedienen
 
hi
enter ist #13, also if key = #13 then
backspace...ka...schau mal in der suche von DP
edit:/...mist...zu spät :zwinker:

Stefan92 11. Jan 2007 17:32

Re: Taschenrechner über Tastatur bedienen
 
Danke,
klappt auch.
Jetzt aber nur noch eine Sache, wie kriege ich es hin, dass Buttons nicht automatisch anvisiert werden?

Gruß

Stefan

Stefan92 12. Jan 2007 06:00

Re: Taschenrechner über Tastatur bedienen
 
Hat denn keiner ne Ahnung oder erholt ihr euch grade alle von meinen ganzen Problemchen. :)

Gruß

Stefan

Stefan92 12. Jan 2007 06:16

Re: Taschenrechner über Tastatur bedienen
 
Ok, hat sich mittlerweile erledigt, denn ich bin zufällig auf die Eigenschaft Tabstop gestossen, die ich bei allen Buttons auf false gesetzt hab. So, das wars. Taschenrechner 2 ist fertig (bis auf die Hilfe).

Gruß

Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Seite 3 von 6     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz