Forum: Object-Pascal / Delphi-Language
by DeddyH,
22. Sep 2009
Zunächst könntest Du uns einmal sagen, welche Fehlermeldungen.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
22. Sep 2009
Also gut, für alle Fälle eine kleine Einweisung in Parameter (eigentlich: Argumente). Nehmen wir einmal folgende Funktionsdeklaration:
function MyFunc(const InputString: string; var InputInt: integer; out OutputDouble: double): Boolean;
Diese Funktion erwartet 3 Argumente:
- einen String
- eine Integer
- eine Double
und gibt als Ergebnis Boolean zurück (also entweder true oder false). Alle...
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
TryStrToFloat erwartet gewisse Parameter. Welche das sein können, steht in der Hilfe (siehe mein Zitat). Das heißt nicht, dass sich der Name der Funktion ändert, der heißt weiterhin TryStrToFloat :zwinker:
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Wozu poste ich denn die gesamte Hilfe zu dem Befehl? Schau mal ganz genau, was man da so alles übergeben kann.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Na genauso, double ist auch eine Fließkommazahl.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Und wenn Du aus real einmal double machst? Sonst kann ich gerade nichts entdecken.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Zeig doch einmal die ganze Methode.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Klicke das Edit an und wechsle im Objektinspektor auf den Reiter Ereignisse. Bei OnChange machst Du dann einen Doppelklick.
procedure TDeinForm.DeinEditChange(Sender: TObject);
var Zahl: double;
begin
if not TryStrToFloat(DeinEdit.Text,Zahl) then
begin
ShowMessage('Ungültige Eingabe');
end
else
begin
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Du könntest das OnChange-Ereignis des Edits zur Prüfung verwenden. Wenn sich der enthaltene Text in eine Zahl wandeln lässt (TryStrToInt), dann ist alles in Butter.
Für Fließkommazahlen wäre das dann natürlich TryStrToFloat.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Es ging mir nur um diese Aussage ;). Übrigens kann man sich mit zuvielen Semikola auch ganz schnell happige Fehler einbrocken, wenn man dann aus welchen Gründen auch immer nicht debuggen kann, hat man da die Kappe auf. Beispiel:
while true do; //<-- Ohauerhauerha
begin
if Blabla then break;
end;
Aber ich denke, wir haben das nun genug beleuchtet :zwinker:
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Stimmt so aber auch nicht ganz, in einem case-Label schon.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
*Puh*, die Semikolonregeln von Pascal sind nicht ganz einfach zu erklären. Als Ansatz: überall dort, wo kein else folgt, sicherheitshalber ein Semikolon setzen, das sollte dann passen.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
21. Sep 2009
Da fehlt ja auch ein Semikolon am Ende der Zeile vorher.