Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Feld Formatieren (https://www.delphipraxis.net/122874-feld-formatieren.html)

Kuster Peter 23. Okt 2008 16:02

Datenbank: Firebird • Version: 2.04 • Zugriff über: Zeos 6.6.3

Feld Formatieren
 
Wie Ihr wisst, steige ich von Fox Pro auf Lazarus um. Habe nun ein Problem:

Ich verwende Zeos 6.6.3 Delphi 7 und Firebird 2.04:

Ich habe keine Ahnung wie man Felder Formatiert so dass man z.B. nur 10.00 eingeben kann, beim Fox gab es den Befehl Picture 99 999 999.99
Dann konnte man 55.45 oder 599.43 oder so eingeben. Habe nun ein Zahlenfeld, das ich immer mit 2 Stellen haben will.

Peter

mkinzler 23. Okt 2008 16:34

Re: Feld Formatieren
 
NUMERIC/DECIMAL Stellen.Nachkommastellen

also z.B.

NUMERIC 10.2

Kuster Peter 23. Okt 2008 20:18

Re: Feld Formatieren
 
Ich habe mich wahrscheinlich falsch ausgedrückt, ich habe ein DBedit Feld mit einem numerischen Feld in der DB verbunden. Nun möchte ich, dass dieses rechtsbündig angezeigt wird und egal ob man 4 oder 4.00 eingibt, es automatisch 4.00 anzeigt.

Peter

mkinzler 23. Okt 2008 20:19

Re: Feld Formatieren
 
Dann sollte Format() das richtige sein

Kuster Peter 23. Okt 2008 20:22

Re: Feld Formatieren
 
Danke m.kinzler, doch darf ich Dich noch um eine Antwort bitten (Bin Anfänger) Wie muss ich diesen Befehl verwenden? Danke!!

mkinzler 23. Okt 2008 20:29

Re: Feld Formatieren
 
Delphi-Quellcode:
str := Format( '%.2f', [4]);

Kuster Peter 23. Okt 2008 20:35

Re: Feld Formatieren
 
Danke das ist mir nun klar. Doch wie verbinde ich dieses nun mit meinem dbfeld? Stehe total auf dem Schlauch. :wall:

mkinzler 23. Okt 2008 20:39

Re: Feld Formatieren
 
Verwende einen DBMaskEdit, dort kannst du eine Eingabemaske setzen

Kuster Peter 23. Okt 2008 20:44

Re: Feld Formatieren
 
Also ich habe ein DBEDIT Feld sorry, ich weis, dass ich Dich nerve, doch könntest Du nicht für einen Anfänger einfach in zwei drei einfachen Schritten mir das kurz erklären. Einfach stichwortartig. :wall: :wall: :wall: :wall:

Mann komm ich mir dumm vor!!! :?:

mkinzler 23. Okt 2008 20:46

Re: Feld Formatieren
 
Nimm statt DBEdit ein DBMaskEdit
Dieser besitzt die Eigenschaft .EditMask, welche die Eingabemaske vorgibt

Kuster Peter 23. Okt 2008 20:53

Re: Feld Formatieren
 
Danke, nun habe ich aber kein dbmaskedit gefunden. Gibts das in Delphi 7 oder in Lazarus, habe nur diese beiden Tools? Ansonsten ist mir endlich der Groschen gefallen.

Gruss
Peter

mkinzler 23. Okt 2008 20:57

Re: Feld Formatieren
 
Sollte aber bei D7 dabei sein. sonst schau dir mal die VCl an, dort gibt es auch eine Variante davon.

Kuster Peter 23. Okt 2008 20:59

Re: Feld Formatieren
 
Ja, das Maskedit habe ich gefunden, doch kein dbmaskedit. Oder kann man diese verbinden?

Peter

mkinzler 23. Okt 2008 21:06

Re: Feld Formatieren
 
Ja, wenn du den Wert manuell aus dem Datenbankfeld in das Control und nach der Eingabe zurück in Feld überträgst

Kuster Peter 23. Okt 2008 21:10

Re: Feld Formatieren
 
Darf ich Dich noch ein letztes Fragen: Du kennst Dich ja auch in Lazarus aus: Dort hat es beim DBEdit feld ein EditMask im Objektinspektor. Könnte man dort was machen?

Danke für Deine Hilfe. Ansonsten werde ich editmask nehmen und dann mit dbeditmask verbinden, also ich muss es versuchen, denn habe noch keine Ahnung wie ich das löse. Doch üben üben.

Peter

mkinzler 23. Okt 2008 21:15

Re: Feld Formatieren
 
Ich nehme an ja. Bei D2009 ist das auch so

Kuster Peter 23. Okt 2008 21:18

Re: Feld Formatieren
 
Danke, muss nur noch schauen, dass ich herausfinde, wie man das macht. Solltest Du einen Tipp haben was ich ausfüllen soll, bin dankbar.

Peter

mkinzler 23. Okt 2008 21:20

Re: Feld Formatieren
 
Was meinst du mit ausfüllen? Setzte doch mal eine Maske und überprüfe, ob sie verwendet wird

Kuster Peter 24. Okt 2008 07:41

Re: Feld Formatieren
 
Ja das ist ja mein Problem, ich google und google und suche, doch eine Anleitung, was ich dort eingeben muss, damit das Feld richtig erscheint habe ich nicht gefunden.

Peter

DeddyH 24. Okt 2008 07:55

Re: Feld Formatieren
 
Nimm mal ein "normales" Edit. In dessen "OnExit"-Event schreibst Du
Delphi-Quellcode:
SetNumberFormat(Sender as TEdit);
Die aufgerufene Prozedur sieht so aus:
Delphi-Quellcode:
procedure SetNumberFormat(const aEdit: TEdit; const sFormat: string = '%.2f');
var Zahl: Extended;
begin
  Zahl := StrToFloatDef(aEdit.Text,0);
  aEdit.Text := Format(sFormat,[Zahl]);
end;

nahpets 24. Okt 2008 08:48

Re: Feld Formatieren
 
Hallo,
Zitat:

Zitat von Kuster Peter
Darf ich Dich noch ein letztes Fragen: Du kennst Dich ja auch in Lazarus aus: Dort hat es beim DBEdit feld ein EditMask im Objektinspektor. Könnte man dort was machen?

Danke für Deine Hilfe. Ansonsten werde ich editmask nehmen und dann mit dbeditmask verbinden, also ich muss es versuchen, denn habe noch keine Ahnung wie ich das löse. Doch üben üben.

Peter

Bei EditMask 99,99;0;0 eingeben.
9 steht für Ziffern, kannst Du also beliebig anpassen, das erste ;0 steht für Literalzeichen speichern, mögliche Werte sind ;0 und ;1 für Aus- oder Einschalten. Das zweite ;0 steht für Leerzeichen als 0 Anzeigen, hier könnte auch ein _ stehen, so dass Leerzeichen als _ angezeigt werden oder ein Blank, so dass Leerzeichen als Blank angezeigt werden.
Ansonsten such Dir mal in der Hilfe zu Delphi 7 property EditMask: TEditMask; heraus, bzw. TEditMask (Typ) und das Beispiel zu EditMask (Beispiel). Damit solltest Du dann in der Lage sein, Dir die erforderlichen Eingabemasken zusammenzustellen, ohne im Programmcode irgendwelche "Kunststücke" zu verbringen.


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