AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi NumBlock und Tastatur in Delphi ?? (bin neu)
Thema durchsuchen
Ansicht
Themen-Optionen

NumBlock und Tastatur in Delphi ?? (bin neu)

Ein Thema von SvenD · begonnen am 14. Sep 2006 · letzter Beitrag vom 14. Sep 2006
Antwort Antwort
SvenD
(Gast)

n/a Beiträge
 
#1

NumBlock und Tastatur in Delphi ?? (bin neu)

  Alt 14. Sep 2006, 17:33
Hi, ich bin neu und habe eigentlich noch fast garkeine Erfahrung, möchte dies aber ändern.

Wir haben nun angefangen in der Schule einen Taschenrechner zu programmieren, jetzt bin ich dabei ihn zu erweitern.

Und nun mein Problem:
Ich möchte einfügen, dass ich Zahlen über die Tastatur, bzw den NumBlock eingeben kann, denn immoment geht die Eingabe nur über klicken auf die Buttons.
Also wie könnte ich daran gehen, oder wo finde ich dazu Tipps?

Mein bisheriger Code für Buttons:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text :=edit1.Text + '1';
end;
edit1 ist dabei das Edit-fenster in welches die Zahl eingetragen wird.



Wenn das hier im falschen Forumteil gepostet ist, tut es mir leid und wenn ich die SuchFu falsch benutzt habe auch, aber ich hab nichts gefunden.

mfg
SvenD
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#2

Re: NumBlock und Tastatur in Delphi ?? (bin neu)

  Alt 14. Sep 2006, 17:48
Du kannst mit edit1.text nur rechnen, wenn Du den String in ein Real wandelst:

StrTofloat(edit1.text);

Beispiel:
Dialogs für showmessage unter uses einbinden.

x:=StrTofloat(edit1.text)+StrTofloat(edit2.text);
showmessage('Es klappt! '+floattostr(x));

Da Du Anfänger bist, mache Dich bitte mit nachfolgendem vertraut:
StrToFloat,FloatToStr, etc.

In der Delphihilfe mal Strtofloat eingeben und dann auch mal die "Siehe auch" und "Beispiele" ansehen, bevor Du einen Taschenrechner programmierst.

Ich glaube, auch unter der Suche "Tascherechner" findest Du schon in der DP etwas.
Da bekommst Du eine Übersicht über die Größe Deines Projektes.
Taschenrechner in der DP 203 Ergebnisse bis jetzt.

Viel Erfolg!
  Mit Zitat antworten Zitat
SvenD
(Gast)

n/a Beiträge
 
#3

Re: NumBlock und Tastatur in Delphi ?? (bin neu)

  Alt 14. Sep 2006, 18:11
Ja, mit StrToFloat arbeite ich ja bereits, mein Taschenrechner funktioniert ja auch, also ich kann +,-,*,/,wurzel,x²,cos,sin,tan und Kommerzahlen berechnen, ich kann das eingabefeld "löschen"-leeren, hab nen Button zum schließen des Taschenrechners

weiterer Code:
Delphi-Quellcode:
procedure TForm1.plusClick(Sender: TObject);
begin
wert1 := strToFloat(eingabe.Text);
eingabe.text:='';
rechenart:=1;
end;
und hauptrechenarten definiert in einem case of:
Delphi-Quellcode:
procedure TForm1.gleichClick(Sender: TObject);
begin
wert2 := StrToFloat(eingabe.Text);

case rechenart of
1: ergebnis:=wert1+wert2 ;
2: ergebnis:=wert1-wert2 ;
3: ergebnis:=wert1*wert2 ;
4: ergebnis:=wert1/wert2 ;
end;
eingabe.Text :=Floattostr(ergebnis)
end;


Mein Problem: Wenn ich den Taschenrechner starte, dann funktiniert zwar alles, aber ich kann die Zaheln nur über anklicken in das Editfeld bekommen, oder über die Tastatur, wenn das Editfeld angewählt ist.

Ich möchte aber die zahlen die ich berechnen möchte immer mit der Tastatur eingeben können, sowie +,-,.. auch, also so das ich das Programm geöffnet habe aber dann statt Maus, den Ziffernblock benutzen kann.

mfg SvenD
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: NumBlock und Tastatur in Delphi ?? (bin neu)

  Alt 14. Sep 2006, 18:17
Schau Dir mal das Ereignis OnKeyPress der Form an.
mit dem Parameter Key: Char bekommst Du den eingegebenen Buchstaben geliefert.

So könnte es dann aussehen:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    '0': Button0.Click;
    '1': Button1.Click;
    '2': Button2.Click;
    '+': plus.Click;
    '=': gleich.Click;
  end;
end;
usw.

Falls es dann nicht so Funktioniert wie es soll, musst Du evtl. noch die Eigenschaft KeyPreview der Form auf TRUE setzen.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
SvenD
(Gast)

n/a Beiträge
 
#5

Re: NumBlock und Tastatur in Delphi ?? (bin neu)

  Alt 14. Sep 2006, 20:06
Nach nun intensivem suchen und ausprobieren frage ihch mich immernoch wie ich dieses erstellen kann:
TForm1.FormKeyPress wenn ich einen Button mache kommt click und nicht press, wenn ich das nur als text nehme, geht es auch nicht und wenn ich versuche bei meinen buttons keyPress zu definieren möchte er das auch nicht

*ratlos ist*

was kann ich tun?
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: NumBlock und Tastatur in Delphi ?? (bin neu)

  Alt 14. Sep 2006, 20:15
Okay, also Du klickst irgendwo an eine Stelle auf deine Form (also kein Button oder Edit oder so, sondern dahin wo nichts ist).
Dann sollte im Objekt Inspektor, der ist unten links, was zu deiner Form angezeigt werden - es sind zwei Registrierkarten, die eine heißt Eigenschaften, die andere Ereignisse (falls Du eine deutsche Delphi-Version hast). Du klickst auf die andere Registrierkarte (also auf "Ereignisse"), dort müsste ein Eintrag "OnKeyPress" sein.
Jetzt machst Du einen Doppelklick rechts neben OnKeyPress in das leere Feld, dann sollte diese erscheinen:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin

end;
Diese Prozedur füllst Du einfach mit dem Code aus dem meinem obigen Post, musst ihn natürlich noch etwas ergänzen...

[edit]
Noch eine kleine Anleitung in Bildern als Anhang:
Je nach Delphi-Version kann es bei Dir natürlich etwas anders aussehen - der hier dargestellte Objekt Inspektor befindet sich unten links.
[/edit]
Miniaturansicht angehängter Grafiken
anleitung_893.jpg  
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz