![]() |
taschenrechner
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo ich bin neu hier und ich habe ein Problem!
Ich soll einen Taschenrechner programmieren und er ist gar nicht so schlecht dafür das ich erst angefangen habe mit delphi zu programmieren, nur jetzt hab ich ein Problem ich soll eine Prüfung auf Zahlen und Buchstaben machen aber ich hab keine ahnung wie ich das machen soll kann mit vielleicht jemand helfen als mal im vorraus danke |
Re: taschenrechner
Schau mal in der Forensuche nach
Herzlich Willkommen in der DP :party: |
Re: taschenrechner
hab ich schon aber ich werde daraus nicht schlau
hab schon einpaar sachen gefunden aber wenn ich die eingefügt habe und sie abgeändert habe damit sie bei mir laufen sollten hat es doch nie funktioniert |
Re: taschenrechner
für was soll dir prüfung denn sein?
um zu überprüfen, ob das zeichen überhaupt in eine integer, real o.ä. variable gelesen werden kann? Dann würde ich try & except benutzen
Delphi-Quellcode:
try
integervariable := strtoint(edit1.text); except showmessage('Bitte nur zahlen eingeben'); end; |
Re: taschenrechner
es soll keine Buchstabeneingabe erfolgen
es sollen nur zahlen erlaubt sein soblad ich Buchstaben eingebe und dann auf eine zahl klicke bekomme ich eine fehlermeldung und die soll ich abfangen aber ich hab keine idee wie ich das machen soll |
Re: taschenrechner
s.o. das ist der lösungsansatz dazu....
wie ich sehe list du in ne real variable... Der Fehler kommt bei der codezeile
Delphi-Quellcode:
Das einfach durch:
x := strtofloat(edit1.text);
Delphi-Quellcode:
ersetzten...
try
x := strtofloat(edit1.text); except showmessage('Bitte nur zahlen eingeben'); end; Ein Buchstabe ist keine Zeichen aus dem Real Zahl bereich...daher bringt er dir ne fehlermeldung. Der Befehl oben überprüft erst, ob es geht...wenns net geht bringt er eine meldung und führt den x := strtofloat(edit1.text); gar nicht erst aus.... |
Re: taschenrechner
ich weis es ist ne sau dumme frage aber wo soll ich das ersetzen hab mein Programm mal durchsucht aber diese zeile nicht gefunden
x := strtofloat(edit1.text); ich bin wohl echt zu dumm um das hin zu bekommen |
Re: taschenrechner
aua :)
Die zeile heißt ja auch: x := StrToFloat(Zahl); steht in jedem deiner zahlen buttons ganz unten.... also nochmal der code:
Delphi-Quellcode:
p.s.: es kann sein, dass delphi dann immer noch rummotzt...(beim ausführen)
try
x := strtofloat(zahl); except showmessage('Bitte nur zahlen eingeben'); end; aber spätestens wenn du die exe ohne delphi öffnest gibt es keine fehler mehr |
Re: taschenrechner
hab doch gesagt bin zu doof dafür hab das jetzt eingefügt und dann kommt die meldung
Im Projekt Taschenrechner.exe ist ein Exception der Klasse EConvertError aufgetrette. Meldung "T" ist kein gültiger Gleitkommawer.Prozeß wurde angehalten was kann ich machen damit diese Fehlermeldung nicht mehr kommt |
Re: taschenrechner
die exe ohne delphi starten wenn das try except drin ist.
|
Re: taschenrechner
...genau - hab ich aber auch schon im letzten beitrag erwähnt :wink:
|
Re: taschenrechner
Zitat:
Gruß Hawkeye |
Re: taschenrechner
Es reicht die Anwendung in Delphi ohne Debugger zu starten. ;)
Schöner finde ich aber ins OnKeyPress des Eingabefeldes folgenden Code zu packen:
Delphi-Quellcode:
if not (key in ['1'..'9']) then key := #0;
Dann können nur Zahlen eigegeben werden. |
Re: taschenrechner
danke leute ohne euch würde es nie funktionieren endlich glappt es danke
hab zwar noch ein problem aber mal schauen vielleicht finde ich das selber raus |
Re: taschenrechner
Zitat:
Gruß Hawkeye |
Re: taschenrechner
dann halt die if abfrage anders...
Delphi-Quellcode:
if (key in ['A'..'Z' and 'a'..'z']) then key := #0; //ungetestet
|
Re: taschenrechner
Zitat:
|
Re: taschenrechner
also noch mal danke für eure hilfe jetzt geht es endlich :-D :-D :-D
|
Re: taschenrechner
Wie hast du es jetzt gemacht ??
Über try & except oder über onkeypress ? |
Re: taschenrechner
if (key in ['A'..'Z' and 'a'..'z']) then key := #0; dies funktioniert leider nicht
aber if not (key in ['1'..'9']) then key := #0; funktioniert hoffe das reicht meinen ausbildern das mit try & except hab ich nicht hin bekommen dafür war ich dann doch zu dumm und nochmals danke für eure schnelle hilfe |
Re: taschenrechner
und was ist mit der 0 :wink:
|
Re: taschenrechner
wie was ist mir der 0 ich weis nicht was du meinst
|
Re: taschenrechner
Zitat:
|
Re: taschenrechner
das hat funktioniert wo ich das and durch ein komma ersetzt habe
nur wenn ich jetzt zahlen eingebe und dann + oder - drücke und dann wieder zahlen eingebe bekomme ich immer 0 raus kann ich das irgendwie ändern |
Re: taschenrechner
Zitat:
Delphi-Quellcode:
nichts zu tun haben; der Code verhindert lediglich, dass Buchstaben eigegeben werden.
if (key in ['A'..'Z','a'..'z']) then key := #0;
Wir haben keine Ahnung, wie du deinen Taschenrechner ansonsten umgesetzt hast, es ist also schwer dir zu helfen. ;) |
Re: taschenrechner
schau mal oben anhang ;-)
|
Re: taschenrechner
achso gut ich hab gedacht das hätte dann vielleicht was mit dem code zu tun dann schau ich mal hoffe dass ich das hin bekomme
also leute dann bedanke ich mich wieder bei euch jetzt geht es wenigstens das ich kein Buchstaben mehr eingeben kann danke für eure schnelle hilfe |
Re: taschenrechner
Zitat:
|
Re: taschenrechner
was soll ich übersehen haben
|
Re: taschenrechner
nichts er hat deine sourcen übersehen ;-)
|
Re: taschenrechner
ah ok
also noch mal danke so ich muss dann jetzt auch gehen |
Re: taschenrechner
hallo ich bins wieder hab ein neues Problem
ich soll die Position von meinem Taschenrechner programmieren das der immer in der mitte erscheint ich weis wie ich das einstelle unter delphi aber ich soll es Programmieren weis einer von euch wie das geht |
Re: taschenrechner
eigentlich neue frage neuer thread aber hier erstma die antwort :D
Delphi-Quellcode:
Form1.Position := poScreenCenter;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr. |
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