|
| Autor |
Nachricht |
VariouS_ Newbie


Anmeldedatum: 20.12.2007 Beiträge: 13 Wohnort: bei Köln
|
Datumseingabe in Textbox
Verfasst am: 15.04.2008, 13:50 |
|
|
Hi,
ich hab eben in den VB.Net Projekten den Windows Shutdown gefunden.
Dort wurde dann folgender Code gepostet, damit automatisch bei der Datums- oder Zeitangabe die Doppelpunkte eingefügt werden:
| Code: | If TextBox1.TextLength = 2 Then
TextBox1.Text &= ":"
TextBox1.SelectionStart = 3
ElseIf TextBox1.TextLength = 5 Then
TextBox1.Text &= ":"
TextBox1.SelectionStart = 6
ElseIf TextBox1.TextLength = 8 Then
Button1.Select()
End If |
Meine Frage ist nun, wie dieser Code in VB lauten muss, damit die Doppelpunkte oder Punkte ergänzt werden in der Textbox.
Danke schonmal im Vorraus für eure Antworten
MfG
VariouS |
|
| |
|
 |
tr4st_ « Moderator »

Anmeldedatum: 17.12.2007 Beiträge: 315 Wohnort: Private Class _ Villa()
|
Verfasst am: 15.04.2008, 13:53 |
|
|
Schon mal mit "+=" probiert? Avoid Suspicion, Manipulate your friends, Eliminate your enemies. |
|
| |
|
 |
The-God-of-all_ Poster

Anmeldedatum: 20.05.2007 Beiträge: 170 Wohnort: App.Path
|
Verfasst am: 15.04.2008, 15:04 |
|
|
Das &= ist glaube ich eine Kurzform für "Variable = Variable & ...". Soweit ich weiß gibt es diese Kurzformen in VB6 nicht. Der Code müsste ohne diese Kurzformen so aussehen:
| Code: | If TextBox1.TextLength = 2 Then
TextBox1.Text = TextBox1.Text &":"
TextBox1.SelectionStart = 3
ElseIf TextBox1.TextLength = 5 Then
TextBox1.Text =TextBox1.Text & ":"
TextBox1.SelectionStart = 6
ElseIf TextBox1.TextLength = 8 Then
Button1.Select()
End If |
// Edit by c0re: Bitte formatiere deinen Code bevor du ihn postest. //
| Code: | If TextBox1.TextLength = 2 Then
TextBox1.Text = TextBox1.Text &":"
TextBox1.SelectionStart = 3
ElseIf TextBox1.TextLength = 5 Then
TextBox1.Text =TextBox1.Text & ":"
TextBox1.SelectionStart = 6
ElseIf TextBox1.TextLength = 8 Then
Button1.Select()
End If |
|
|
| |
|
 |
VariouS_ Newbie


Anmeldedatum: 20.12.2007 Beiträge: 13 Wohnort: bei Köln
|
Verfasst am: 15.04.2008, 15:37 |
|
|
Nunja, das will nicht so wirklich klappen.
Der kann halt nichts mit "TextLenght" anfangen. Und "SelectionStart" ist ihm auch unbekannt.
Dann dacht ich mir, ich kann wenigstens das "SelectionStart" durch "SetFocus" ersetzten aber das hat er auch nicht geschluckt.
Is aber auch alles nicht so schlimm...ist nur ne nebensache
Hab da noch ne andere Frage:
Und zwar wenn ich in einer Textbox eine Formatierung vorgegeben habe. (fürs Datum das hier "_ _._ _._ _) Wie kann ich das dann machen, dass das vorgegebene in der Textbox beim eintippen des Datum überschrieben wird?
Danke schonmal wieder im Vorraus
MfG |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 15.04.2008, 15:37 |
|
|
@VariouS
Ich würde das einfach mit Format$() lösen.
Außer ich hab was falsch verstanden und das hilft dir garnicht^^.
Beispiel:
Text1.Text = Format$(Text1.Text, "Long Time")
Gibt auch noch "Short Time", "Long Date", "Short Date" usw. usw. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
VariouS_ Newbie


Anmeldedatum: 20.12.2007 Beiträge: 13 Wohnort: bei Köln
|
Verfasst am: 15.04.2008, 15:43 |
|
|
@Zig
Cool wieder was neues gelernt
Aber is nicht ganz das, was ich meine
Wenn einer das Datum von heute eingeben will.
Dann fängt er halt mit 15 an und dann soll der Punkt von selber reinkommen damit er dann nur noch 04 eingeben muss und dann wieder der Punkt um dann 08 einzugeben.
Damit dann am ende 15.04.08 in der Textbox steht.
Neue Frage steht auch über deinem Post
MfG |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 15.04.2008, 15:55 |
|
|
Naja. Am leichtesten mit den sevTools.
Bei der Textbox kannst du so Sachen vorgeben.
Ich glaube bei CoolXP ist das leider nicht integriert. Und sev kostet etwas.
Aber hier mal ein Beispiel wie das funktionieren könnte. (Nur mal Punkte adden^^)
| Code: |
Option Explicit
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
If Len(Text1.Text) >= 8 Then KeyAscii = 0
End If
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode <> 8 Then
Select Case Len(Text1.Text)
Case 2
Text1.SelText = "."
Case 5
Text1.SelText = "."
End Select
End If
End Sub
|
So könnte es Ansatzweise schonmal gehen.
.SelText ist nicht grad die beste Wahl, aber es geht glaube ich. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |