AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe mit value Befehl

Ein Thema von Maeuschen · begonnen am 19. Jun 2006 · letzter Beitrag vom 20. Jun 2006
Antwort Antwort
Seite 2 von 3     12 3      
JKING

Registriert seit: 11. Apr 2005
Ort: Ingolstadt
3 Beiträge
 
#11

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 16:35
Hier habe ich mal eine function Value() geschrieben.
Wenn keine Zahl eingegeben wurde wird als Ergebnis 0 zurückgeliefert.


Delphi-Quellcode:
function Value(s:string):Double ;
begin
  try
    result:=StrToFloat(s);
  except
    // Eingabe ist keine Zahl
    result:=0;
  end;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
var z1,z2,ergebnis:double;
begin
  z1:=Value(Edit1.text);
  z2:=value(Edit2.text);
  Ergebnis:=(z1*z2);
  edit3.text:=floattostr(ergebnis);
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 16:39
Da finde ich aber die TryStrToFloat-Variante besser, da sie false als Ergebnis liefert, wenn der wert nicht gewandelt werden konnte. Bei dir kann man nicht unterscheiden ob der benutzer 0 oder jkklfjkskskjf in den Edit eingegeben hat.
Markus Kinzler
  Mit Zitat antworten Zitat
Maeuschen
(Gast)

n/a Beiträge
 
#13

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 16:42
@mkinzler
Das geht nicht :\

Undefinierter Bezeichner 'TryStrtofloat'
Ausdruckstyp muss Boolean sein

@ anderen
Das klappt zwar alles, nur brauche ich das dann auch in der Klausur und so viel kann ich mir nicht merken, deswegen wäre mir eine unkomplizierte Lösung wirklich lieber. Aber danke für die großzügige Hilfsbereitschaft hier ^__^
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 16:47
Zitat:
Undefinierter Bezeichner 'TryStrtofloat'
Welche delphi-Version? Funktion befindet sich in SysUtils.

Aber nochmal zur Grundfrage, was eird eingegeben 'vier' oder '4' StrToFloat/TryStrToFloat hilft nur beim 2.

Das 1. kannst du mit Val() erreichen
Markus Kinzler
  Mit Zitat antworten Zitat
Maeuschen
(Gast)

n/a Beiträge
 
#15

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 17:05
Zitat von mkinzler:
Das 1. kannst du mit Val() erreichen
Ja genauuu...diesen Befehl brauche ich ^^ nur was soll ich in die Klammer reinschreiben? Und das ist mein Problem xD
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 17:08
Zitat von Delphi-Hilfe:
Val Routine

Konvertiert einen String in seine numerische Entsprechung.

Unit
System

Syntax


(Delphi) procedure Val(S: string; var V: Type; var Code: Integer);


Beschreibung
In Delphi konvertiert Val den mit S angegebenen String in einen numerischen Wert, der dem Ergebnis einer Leseoperation mit Read aus einer Textdatei entspricht.

S ist ein String-Ausdruck und muss einer vorzeichenbehafteten reellen Zahl entsprechen.
V ist eine Gleitkomma- oder Integer-Variable. Wenn V eine Variable des Typs Integerist, muss S eine ganze zahl ergeben.
Code ist eine Variable des Typs Integer.

Ist der String ungültig, wird der Index des betreffenden Zeichens im Parameter Code gespeichert. Andernfalls wird Code der Wert Null zugewiesen. Bei einem nullterminierten String ist die in Code zurückgegebene Fehlerposition um eins größer als der auf Null basierende Index des Zeichens.
Markus Kinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 18:28
Nur leider macht die Funktion nicht ganz was ich versprochen hat habe
Sie Ignoriert nur falsche Zeichen im String.

wert := StrToInt( '400x'); würde eine Fehler liefern, aber
Val( '400x', wert, fehlerpos); würde wert = 400 liefern. Ich nehme trotzdem an, das dein Lehrer diese Funktion gemeint hat.

[Edit: Sch.... Tippfehler]
Markus Kinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#18

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 18:39
So schlecht ist die Routine doch gar nicht, Markus.

Zitat von Delphi-Hilfe:
Ist der String ungültig, wird der Index des betreffenden Zeichens im Parameter Code gespeichert. Andernfalls wird Code der Wert Null zugewiesen.
Nur wenn in Code der Wert 0 zurückgegeben wird, konnte der String vollständig umgewandelt werden. Ansonsten gibt Code die Position des "Fehlers" an. Auch das kann manchmal sehr nützlich sein.

Einziger Nachteil der Prozedur: sie akzeptiert nur Dezimalpunkte.

Gruß Hawkeye
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 18:42
Nein, sie (?) such ja ne Funktion die 'vier' in 4 wandelt.
Markus Kinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#20

Re: Hilfe mit value Befehl

  Alt 19. Jun 2006, 18:48
Ich kann mir ehrlich gesagt nicht vorstellen, daß ein Lehrer solche Anforderungen an die Schüler stellt. Meiner Meinung nach soll durch die Eingabe von "vier" nur getestet werden, wie sich das Programm bei der Eingabe von Texten verhält. Die Aufgabe der Schüler wird wohl lediglich darin bestehen, solche Eingaben als fehlerhaft zurückweisen.

Vielleicht kann uns "Maeuschen" dazu mehr sagen?

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 23:31 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