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/)
-   -   Temperatur Umrechner (https://www.delphipraxis.net/140582-temperatur-umrechner.html)

Tryer 21. Sep 2009 17:46

Re: Temperatur Umrechner
 
Noch ein Tip zur Temperatur - Umrechung: 0 °C entsprechen 273,15 K

Oder soll es nur ein Schätzwert sein? :wink:

jens106 21. Sep 2009 17:49

Re: Temperatur Umrechner
 
Zitat:

Zitat von Tryer
Noch ein Tip zur Temperatur - Umrechung: 0 °C entsprechen 273,15 K

Oder soll es nur ein Schätzwert sein? :wink:

nein natürlich nicht danke ;)

DeddyH 21. Sep 2009 17:49

Re: Temperatur Umrechner
 
Klicke das Edit an und wechsle im Objektinspektor auf den Reiter Ereignisse. Bei OnChange machst Du dann einen Doppelklick.
Delphi-Quellcode:
procedure TDeinForm.DeinEditChange(Sender: TObject);
var Zahl: double;
begin
  if not TryStrToFloat(DeinEdit.Text,Zahl) then
    begin
      ShowMessage('Ungültige Eingabe');
    end
  else
    begin
      //Berechnung durchführen
    end;
end;
So könnte man das machen, aber das ist nur eine von mehreren Möglichkeiten.

jens106 21. Sep 2009 17:56

Re: Temperatur Umrechner
 
bei mir kommt eine Fehlermeldung

Delphi-Quellcode:
  if not TryStrToFloat(Edit1.Text,zahl) then
    begin
      ShowMessage('Ungültige Eingabe');
    end
  else
    begin
    end;
Fehler:

[Error] Unit1.pas(37): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

DeddyH 21. Sep 2009 18:01

Re: Temperatur Umrechner
 
Zeig doch einmal die ganze Methode.

jens106 21. Sep 2009 18:04

Re: Temperatur Umrechner
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zahl, ergebnis, unterergebnis : Real;
begin

  if not TryStrToFloat(Edit1.Text,zahl) then
    begin
      ShowMessage('Ungültige Eingabe');
    end
  else
    begin
    end;


   zahl :=StrToFloat(Edit1.text);

DeddyH 21. Sep 2009 18:07

Re: Temperatur Umrechner
 
Und wenn Du aus real einmal double machst? Sonst kann ich gerade nichts entdecken.
Zitat:

Zitat von Delphi-Hilfe
Konvertiert einen angegebenen String in einen Gleitkommawert mit einem booleschen Erfolgscode.

Pascal
Delphi-Quellcode:
function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Extended; const FormatSettings: TFormatSettings): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Double): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Double; const FormatSettings: TFormatSettings): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Single): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Single; const FormatSettings: TFormatSettings): Boolean; overload;
C++
Code:
Boolean TryStrToFloat(const AnsiString S, Extended Value);
Boolean TryStrToFloat(const AnsiString S, Extended Value, const TFormatSettings FormatSettings);
Boolean TryStrToFloat(const AnsiString S, Double Value);
Boolean TryStrToFloat(const AnsiString S, Double Value, const TFormatSettings FormatSettings);
Boolean TryStrToFloat(const AnsiString S, Single Value);
Boolean TryStrToFloat(const AnsiString S, Single Value, const TFormatSettings FormatSettings);
Datei
SysUtils

Beschreibung
Mit TryStrToFloat kann der String S in einen Gleitkommawert konvertiert werden. S muss ein optionales Vorzeichen (+ oder –), einen String mit Ziffern und einem optionalen Dezimaltrennzeichen und einer optionalen Mantisse. Die Mantisse setzt sich aus 'E' oder 'e', einem optionalen Vorzeichen und einer ganzen Zahl zusammen. Leerzeichen am Anfang und Ende werden ignoriert.

Die globale Variable DecimalSeparator definiert das Zeichen, das als Dezimaltrennzeichen verwendet werden muss. Tausendertrennzeichen und Währungssymbole sind nicht zulässig. Wenn S keinen gültigen Wert enthält, gibt TryStrToFloat den Wert Default zurück.

TryStrToFloat stellt das Ergebnis in Value und gibt bei erfolgreicher Konvertierung den Wert true zurück, ansonsten false.

Die ersten drei Formen von TryStrToFloat sind nicht Thread-sicher, da die landesspezifischen Informationen der globalen Variablen verwendet werden. Den Thread-sicheren zweiten drei Formen werden die landesspezifischen Informationen im Parameter FormatSettings übergeben. Bevor Sie diese Formen von TryStrToFloat aufrufen, müssen Sie die Informationen in den Parameter FormatSettings schreiben. Die landesspezifischen Standardinformationen können FormatSettings mit GetLocaleFormatSettings zugewiesen werden.


jens106 21. Sep 2009 18:09

Re: Temperatur Umrechner
 
bevor ich jetzt mein ganzes Programm ruiniere... ;)

kann ich einfach so anstelle von Real Double hinschreiben? Wenn ja wie mache ich das dann mit StrTo***?

DeddyH 21. Sep 2009 18:10

Re: Temperatur Umrechner
 
Na genauso, double ist auch eine Fließkommazahl.

jens106 21. Sep 2009 18:26

Re: Temperatur Umrechner
 
also wenn ich das mit DoubleToStr richtig gemacht habe Funktioniert auch die Methode leider nicht.

Fehler:
Build
[Error] fast_fertig.dpr(37): Undeclared identifier: 'TryStrToDouble'
[Error] fast_fertig.dpr(56): Undeclared identifier: 'DoubleToStr'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'D:\Info\Delphi\Gradzahlen\fast_fertig.dpr'

Naja was solls ich weiß ja wie man's eingeben muss :)


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

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