Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
VariouS_
Newbie
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 Smile

MfG
VariouS
 
tr4st_
« Moderator »<b><font color=green>« Moderator »</font



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
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
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 Wink

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 Wink

MfG
 
ZiG_
Überflieger
Ü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
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 Razz
Aber is nicht ganz das, was ich meine Wink

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 Razz
MfG
 
ZiG_
Überflieger
Ü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)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: textbox, automatisch, punkte, textbox1, code

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 983 09.06.2011, 13:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2608 06.03.2008, 21:19
Keine neuen Beiträge ListView speichern & laden 1331 05.08.2008, 13:32
Keine neuen Beiträge Registry & Co Fragen 1203 03.05.2007, 10:57
Keine neuen Beiträge Listbox speichern & laden 2266 22.03.2007, 21:25
 


[ Time: 0.1313s ][ Queries: 100 (0.0677s) ][ GZIP on - Debug on ]