Wie erstelle ich eine Maske für Währung?
HOHO! Frohes Neues etc...
wie erstelle ich eine Maske bei dmEditMask, wo man halt Werte eingeben kann, die immer so aussehebn: 123,45 1,25 15478,25 ??? :gruebel: Ich habe eben versucht das selbst zu schreiben, aber edName.Text[counter]:=... kann man nichts zu weisen. buh! :cry: Danke. |
Re: Wie erstelle ich eine Maske für Währung?
Hye,
warum nimmst denn kein MaskEdit? Als EditMaske müsstest Du dann nur "9999,99;1;_" setzen, das heißt Du kannst hier z.B. nen vierstelligen Preis eingeben, Plus 2 Zeichen für Cent. Sieht vielleicht nicht superschön aus aber sollst es ja nicht Heiraten. :) Hoffe ich konnt Dir helfen. MfG Patrick. |
Re: Wie erstelle ich eine Maske für Währung?
Nein das reicht nicht aus....
ich stelle mir das eher so vor, wie bei einem kassenautomat... man gibt einfach zahlen ein, und die ltzten 2 werden als nachkommastellen behandelt... |
Re: Wie erstelle ich eine Maske für Währung?
Dann teil die Zahl doch einfach durch 100!
|
Re: Wie erstelle ich eine Maske für Währung?
arsch!
............ ich sitze hier schon seit 1 stunde und bin schon fast soweit eine eigene komponenten gebastelt zu haben und da kommst du mit diesem geistesblitz...... solche beiträge sollte man echt verbieten!!!! :-) :idea: :thuimb: danke! :stupid: :party: |
Re: Wie erstelle ich eine Maske für Währung?
du, sorry... wie genial die lösung auch klingt, das klappt nicht... es kommt zum stacküberlauf (zumindest in der OnChange Prozedur...)
:-( |
Re: Wie erstelle ich eine Maske für Währung?
ok... ich habs...fast. ist vielleicht nicht so cool wie mit "teile durch 100" aber es ist ok.
Delphi-Quellcode:
gut dass es die funktion insert gibt... hab sie nicht sofort entdeckt und versucht das mit arrays fertigzufummeln... ist echt ne komische angelegenheit. :gruebel:
procedure TfmHauptfenster.ed_maskeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); var i:Integer; Text_alt, s:String; begin s:=','; Text_alt:=ed_Maske.Text; if Length(Text_alt)=2 then begin i:=Length(Text_alt)-1; Insert (s, Text_alt, i); //showmessage(Text_alt); end; ed_Maske.Text:=Text_alt; end; wenn ihr die prozedur da oben testen werdet(oder eigentlich sollte schon ein einfaches durchlesen reichen..), werdet ihr feststellen, dass sie immernoch ziemlich schief und krumm ist... und zwar: nach dem modifizieren springt der zeiger vor das komma... und überhaupt.. die eingabe der zahlen ist auch ganz verkehrt...... so. gehe jetzt pennen.. vielleicht meldet sich ja noch wer bis morgen nachmittag ;-) |
Re: Wie erstelle ich eine Maske für Währung?
Liste der Anhänge anzeigen (Anzahl: 1)
:party:
hier ist die lösung... falls man preisangaben mal so haben möchte, wie eine stinknormale kasse die sanbietet dann kann man keine Maske oder so gebrauchen. hier ist der code:
Delphi-Quellcode:
:dance:
unit kasseneingabe;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Text, Ausgabe_str: String; implementation {$R *.dfm} procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var s:String; i,d:Integer; begin if Length(Edit1.Text)=0 then begin Text:=''; Ausgabe_str:=''; end; if (Key in ['0'..'9']) then begin Text:=Text+Key; Ausgabe_str:=Text; for d:=1 to 3-Length(Text) do begin Ausgabe_str:='0'+Ausgabe_str; end; s:=','; i:=Length(Ausgabe_str)-1; Insert (s, Ausgabe_str, i); Edit1.Text:=Ausgabe_str; Edit1.SelStart := Length(Edit1.Text); Key:=#0; end else if (Key in[#8]) then begin Text:=''; Edit1.Text:=''; Ausgabe_str:=''; end; end; procedure TForm1.Edit1Click(Sender: TObject); begin Edit1.SelStart := Length(Edit1.Text); end; end. |
Re: Wie erstelle ich eine Maske für Währung?
Ansonsten kann ich die JVCL-Komponenten mal wieder emphelen. Da gibt es unter der Registerkarte "Jv Convert" ein Edit Feld, in das man nur Daten (von Datum!) eingeben kann...
|
Re: Wie erstelle ich eine Maske für Währung?
guttah.
werd ich mich mal drüber informieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 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