Autor Beitrag
lapadula
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 137
Erhaltene Danke: 7



BeitragVerfasst: Fr 31.03.17 15:56 
Hallo,

ich komme momentan nicht weiter und bräuchte Eure Hilfe.

Ich habe eine MaskedTextBox mit der Mask: "999.99". Erlaubt quasi Geldbeträge bis max 999,99€

Nun habe ich ein string z.B "50.10". Wie bekomme ich das hin, das die MaskedTextBox 050.10 darstellt.

Momentan wird die 050.10, 5010 dargestellt
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Fr 31.03.17 16:13 
Guten Tag lapadula,

müsste mit der .Mask = "###.##" funktionieren. Im MSDN müssten Hinweise darüber zu finden sein, siehe maskedTextBox und maskEdit (VB).

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3740
Erhaltene Danke: 762

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Fr 31.03.17 16:31 
Beachte, daß der Punkt in der Maske als Kennzeichen für den Dezimaltrenner steht, d.h. für deutsch also z.B. "50,10" erwartet wird.
Daher wird bei "50.10" der Punkt als Tausendertrennzeichen angesehen (also genau andersherum wie im englischen).

Hier noch der direkte Link dazu: MaskedTextBox.Mask
lapadula Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 137
Erhaltene Danke: 7



BeitragVerfasst: Mo 03.04.17 09:03 
Danke für die Hilfe. Die Lösung ist:

ausblenden C#-Quelltext
1:
maskedTextBox1.Text = value.ToString("000.00");					


Damit zeigt er z.B. 040.10 an, statt 401.00.

value bekommt den Wert aus der MSSQL-Datenbank. Dort hat die Spalte den Datentyp "Money".
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 03.04.17 10:53 
Wennn du es manuell nacheditierst, was passiert dann?

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
lapadula Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 137
Erhaltene Danke: 7



BeitragVerfasst: Mo 03.04.17 11:02 
Was genau meinst du?
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 03.04.17 11:13 
Deine Lösung liefert dir einen Wert in die maskedTextBox. Du tippst etwas Neues (editierst) die maskedTextBox. Was und wie wird es dann angezeigt?

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
lapadula Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 137
Erhaltene Danke: 7



BeitragVerfasst: Mo 03.04.17 11:23 
Ich verstehe nicht was du meinst sorry :D

Ich kann einen beliebigen Wert in die MaskedTextBox schreiben. Die Mask ist ja gesetzt: 999.99

Der User kann 100.50 oder 050.50 usw. eingeben. Wenn er die MaskedTextBox verlässt oder auf Enter druckt, wird dieser Wert in die Datenbank geschrieben.
Dabei wird das Komma durch einen Punkt ersetzt, weil in der Datenbank der Datentyp Money vergeben wurde und er da als Trennzeichen nur den Punkt aktzeptiert.
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 03.04.17 13:59 
Da lag ein Missverständnis vor. ich nahm ein, deine .Mask würde nicht das richtige anzeigen. Dabei wolltest du nur einen string entsprechend formatieren.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
lapadula Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 137
Erhaltene Danke: 7



BeitragVerfasst: Mo 03.04.17 14:58 
Ahso :) Damit wäre das erledigt, danke nochmal