| Autor |
Beitrag |
Flonkon 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mo 10.10.11 08:31
Kann denn nun jemand wenigstens dass problem nachvollziehen ?
|
|
Horschdware
      
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Mo 10.10.11 09:15
Der Fehler ist, dass du Komponenten, welche für die grafische Ausgabe zuständig sind, für die Datenhaltung benutzt.
Baue dein Programm so um, dass die Werte, mit denen gerechnet werden soll, in passenden Variablen abgelegt wird.
So sparst du dir auch die "Punkt-oder-Komma-Problematik".
_________________ Delphi: XE - OS: Windows 7 Professional x64
|
|
Flonkon 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mo 10.10.11 09:51
Okay kannste mir vielleicht ein Beispiel geben wie genau du dass meinst ?
|
|
Boldar
      
Beiträge: 1555
Erhaltene Danke: 70
Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
|
Verfasst: Mo 10.10.11 10:01
Benutze die Labels nicht zum Vorhalten der Werte. Mache dir unter private entsprechende Variablen, oder wenn sich der Wert nie ändert, eine Konstante.
|
|
Horschdware
      
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Mo 10.10.11 10:03
Speichere die Werte, die du von der Datenbank liest / die der Benutzer eingibt / die du errechnest / etc. in Variablen, die du im private-Bereich deines Formulars erstellst.
Nach dem Laden / Ändern musst du dann jeweils eine Ausgabe der Werte auf deine grafische Oberfläche veranlassen.
_________________ Delphi: XE - OS: Windows 7 Professional x64
|
|
Flonkon 
Hält's aus hier
Beiträge: 11
|
Verfasst: Mo 10.10.11 15:53
Funktioniert leider auch nicht, ich bin glaub ich etwas zu blöd, ich habe die 6,5 ja in der DB als Float gespeichert, weiß aber nicht wie ich sie auch als solche auslese sondern lese den Lohn als String aus, wenn ich den dann in eine Double konvertieren will mit StrToFloat kommt der Fehler egal ob ich die Werte direkt in die Labels schreibe oder in Variablen ablege...
|
|
Chemiker
      
Beiträge: 194
Erhaltene Danke: 14
XP, Vista 32 Bit, Vista 64 Bit, Win 7 64 Bit, Win 10, Win 11
BDS 2006, RAD Studio 2009+C++, Delphi 13, VS 2010 Prof.
|
Verfasst: Mo 10.10.11 19:37
Hallo Flonkon,
ich kenne jetzt nicht MySql, aber ich vermute das die float-Zahlen mit einem Punkt abgespeichert werde (6.5). Um weiter zu kommen könntest Du die Zahl aus der DB erst mal in einen String Umwandeln, zum Testen würde sich die Procedure Str anbieten.
Delphi-Quelltext 1: 2:
| Str(DB_StdLohn, StrStdLohn); Label1.Caption:= StrStdLohn; |
DB_StdLohn ist der Wert aus der DB als float
StrStdLohn muss noch als String deklariert werden.
Das ist nur ein Test, also nicht das ganze Programm umstellen.
Bis bald Chemiker
|
|
Flonkon 
Hält's aus hier
Beiträge: 11
|
Verfasst: Di 11.10.11 06:27
@Chemiker
Danke für den Tipp, aber das war das was ich oben beschrieben habe, ich hole mir die Zahl aus der Datenbank ja als String, tausche dann Punkt mit Komma und versuche sie dann in eine Double Variable zu bekommen und genau da bekomme ich den Fehler...
--
|
|