Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme mit Gleitkommazahlen (https://www.delphipraxis.net/8136-probleme-mit-gleitkommazahlen.html)

Carbrögen 29. Aug 2003 11:41


Probleme mit Gleitkommazahlen
 
Servus

Ich will in eine DB mittels Editbox eine Gleitkommazahl eingeben.
Im stile von: 12.1.1987
also ein Geburtsdatum.


Wenn ich es als Numerisch Deklarier geht nur 1211987. Wenn ich numerisch mach irgendwie nur die ".". Ich weis nich wies gehen soll...


Plz Help

Mfg Marc

axelf98 29. Aug 2003 11:45

Re: Probleme mit Gleitkommazahlen
 
Hallo!
Versuch doch das Datum als String zu speichern und am Ende wieder zu konvertieren:

Delphi-Quellcode:
Datetostr(date); // Das heutige Datum als String
Strtodate(X);   // Anders herum

Memo 29. Aug 2003 11:47

Re: Probleme mit Gleitkommazahlen
 
Zitat:

Zitat von Carbrögen
Ich will in eine DB mittels Editbox eine Gleitkommazahl eingeben.
Im stile von: 12.1.1987
also ein Geburtsdatum.

Gleitkomma <> Datum
Welche DB?
Ich poker jetzt mal : Es gibt keine DB die kein Datumsfeld hat.

Carbrögen 29. Aug 2003 11:48

Re: Probleme mit Gleitkommazahlen
 
Ich habs schon versucht die on Change Methode von der Edit box mit
IntToStr(Edit1.text);
zu belegen hat auch nich geholfen...

Memo 29. Aug 2003 11:53

Re: Probleme mit Gleitkommazahlen
 
Zitat:

Zitat von Carbrögen
IntToStr(Edit1.text)

Bitte, nein. Übersetz mal.
INTEGER zu STRING -> du versuchst gerade eine String in eine String zu konvertieren.

PS. Ist es nicht noch ein wenig zu früh sich mit DB's zu befassen.

Carbrögen 29. Aug 2003 12:51

Re: Probleme mit Gleitkommazahlen
 
Ach baum ich meinte ja StrToInt... verschribselt.
Also ich soll der Spalte eine Datumsfunktion zuweisen!?

Memo 29. Aug 2003 13:09

Re: Probleme mit Gleitkommazahlen
 
Na gut. Knobeln wir weiter.
Entweder legst du in deiner DB (welche es denn nun auch immer ist) ein Datumsfeld an und speicherst mit StrToDate oder du nimmst gleich ein Alphanum. Feld, in das du direkt reinschreiben kannst, ohne zu konvertieren.

Sharky 29. Aug 2003 13:15

Re: Probleme mit Gleitkommazahlen
 
Zitat:

Zitat von Memo
...Datumsfeld an und speicherst mit StrToDate oder du nimmst gleich ein Alphanum. ....

Wobei ein Datumsfeld besser ist. Dann kannst Du nämlich auch nach Datum suchen.

Carbrögen 29. Aug 2003 13:42

Re: Probleme mit Gleitkommazahlen
 
Das hab ich gemacht wenn ich jetz TTable Active auf True setz krig ich folgende meldung:
Table1: Unterschiedliche Typen für 'Geburtsdatum'; erwartet Float, gefunden Date!

Mfg

Luckie 29. Aug 2003 13:56

Re: Probleme mit Gleitkommazahlen
 
Ist es denn so schwer uns mitzuteilen, was für eine DB du hast? :rool:

Memo 29. Aug 2003 14:04

Re: Probleme mit Gleitkommazahlen
 
Ich glaub das bringt uns dann auch nicht mehr weiter :cry:

Carbrögen 29. Aug 2003 17:06

Re: Probleme mit Gleitkommazahlen
 
Paradox 7 mit dem Tool Datenbankoberfläche erstellt.

Memo 29. Aug 2003 17:32

Re: Probleme mit Gleitkommazahlen
 
Poste die Prozedur mit der du versuchst zu speichern! Vollständig
Sag uns welches Format das Feld(das der DB) hat in das du speichest!

Carbrögen 29. Aug 2003 18:22

Re: Probleme mit Gleitkommazahlen
 
Ich speicher das mit der Control Leiste.Die Tabelle ist Paradox 7 Format. Und um das Format der Spalte gehts :)

TypusMensch 30. Aug 2003 17:29

Re: Probleme mit Gleitkommazahlen
 
Such nach DBDateTimePicker inner Suchmaschine. Klappt wunderbar :lol:

NACHTRAG:

Ich hasse es, wenn man sich mit Kleinigkeiten beschäftigt, für die es entsprechend gute Komponenten gibt ... nur für alle, die jetzt behaupten: "Das kann ja jeder".

historymaker 1. Sep 2003 08:25

Re: Probleme mit Gleitkommazahlen
 
Also, um diese Diskussion mal zu Ende zu bringen:

1) Der Fehler, den du da beschreibst, ist klar: Du hast in der DBO (Datenbankoberfl.) den Typ eines Feldes geändert und dies aber noch nicht beim TTable getan.
Also: Doppelklick auf die Komponente TTable. Wenn in der Liste, die dann erscheint, was steht, dann erst mal alle Felder löschen. Anschließend auf alle hinzufügen klicken und schon passt das wieder.
(Generell könntest du auch den Feldtyp im Obj.insp. ändern. Aber das oebn genannte ist zunächst einfacher).

2) Zum Gebursdatum:
Ich würde ein normales Textfeld (Alpha) dafür verwenden. Im Programm selber kannst du mit einem MaskEdit eine Eingabemaske definieren. Speichern musst du dann eben manuell:

TableX.FieldByName('Spaltenname').asString := MaskEdit1.text;

Et voilà!


Gruß und noch viel Spaß :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 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