[Gelöst] VB5: einstellige zahlen mit vorangestellter "0"

Diskutiere [Gelöst] VB5: einstellige zahlen mit vorangestellter "0" im Programmierung Forum im Bereich Software Forum; hi, wie kann ich das unter VB5 möglichst einfach machen, dass ein timer zb bei einem label nicht "1" addiert, sondern "01"? ich hab hier folgendes...
T

Think different

Gast
hi,
wie kann ich das unter VB5 möglichst einfach machen, dass ein timer zb bei einem label nicht "1" addiert, sondern "01"?
ich hab hier folgendes stehen:
Code:
If Label3.Caption = "100" Then Label2.Caption = Label2.Caption + 1
da soll aber das stehen:
Code:
If Label3.Caption = "100" Then Label2.Caption = Label2.Caption + 01
nur dabei wird immer die null gelöscht... wie mach ich das?

die labelnamen sind net echt so, nur dann ist das etwas verallgemeinert :D
 
T

thecaptain

Mitglied seit
19.06.2006
Beiträge
1.631
Alter
37
Standort
Nordthüringen
wie siehts denn damit aus?

Label3.Caption = Label3.Caption & "0" & Label3.Caption

wenn der timer höher als 10 zählt, solltest du eine fallunterscheidung reinbauen, damit ab dem wert 10 nicht auch noch die null drangehängt wird also in etwa so:

if timer1.value < 10 then
Label3.Caption = Label3.Caption & "0" & Label3.Caption
else
Label3.Caption = Label3.Caption & Label3.Caption
end if

schreib mal deine erfolge hier....

mfg
 
T

Think different

Gast
ohje...
ich hab schon immer probleme mit diesen if-funktionen gehabt. und jetzt ist wieder irgendwas falsch. ich möchte eigendlich nur eine uhr mit drei labeln, und einem timer machen.
das sieht zur zeit so aus, aber da ist immer was falsch mit dem if-funktionen...:

Code:
Private Sub Timer1_Timer()
        If Label3.Caption < 10 Then
			Label3.Caption = "0" & Label3.Caption + 1
			Else
			Label3.Caption = Label3.Caption + 1
		End If
			
        If Label3.Caption = "60" Then
			If Label2.Caption < 10 Then
			Label2.Caption = "0" & Label2.Caption + 1
			Else
			Label2.Caption = Label2.Caption + 1
		End If
		
			If Label3.Caption = "60" Then Label3.Caption = "00"
			If Label2.Caption = "60" Then
				If Label1.Caption < 10 Then
				Label1.Caption = "0" & Label2.Caption + 1
				Else
				Label1.Caption = Label2.Caption + 1
			End If
			
			If Label2.Caption = "60" Then Label2.Caption = "00"
    
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Form2.Show End If
			End If
				
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Form1.Hide End If
			End If
			
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Timer1.Enabled = False End If
			End If
End Sub
was mache ich denn da falsch?
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.161
Standort
DE-RLP-COC
Hallo grosche, probiers mal so:

--------
dim xNummer as integer
dim xAnzeige as string

xNummer = xNummer + 1

if xNummer > 10 then
xAnzeige = str(xNummer)
else
xAnzeige = "0" & Str(xNummer)
endif
--------

xNummer ist die Variable zum rechnen, xAnzeige die Variable, die am Bildschirm angezeigt werden soll.
 
T

Think different

Gast
naja, vom prinzip her klappt das, was ich da jetzt habe (siehe beitrag #3) aber ich mache immer irgendwas bei den verschachteteln if-formeln falsch... ich muss jetzt eigentlich nur den fehler wissen, der hier auftaucht, ich finde da nichts:
Code:
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Form2.Show End If
			End If
				
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Form1.Hide End If
			End If
			
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Timer1.Enabled = False End If
			End If
ich glaube ich mach da bei den if zeugs was von anfang an falsch, nur WAS?
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.161
Standort
DE-RLP-COC
Was willst Du denn überhaupt machen?
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.161
Standort
DE-RLP-COC
Der erste Fehler ist in der ersten Zeile der Timer-Routine: If Label3.Caption < 10 Then solltest Du ändern. Mach aus der 10 ne 9, sonst zeigt Dein Prog die 010 statt 10 an.
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.161
Standort
DE-RLP-COC
Code:
			If Label1.Caption >= Text1.Text Then
				If Label2.Caption >= Text2.Text End If Then
				If Label3.Caption >= Text3.Text End If Then
				Form2.Show End If
			End If
Was willst Du mit dem Then hinter dem End If bezwecken? Was soll gemacht werden, wenn Label2.Caption >= Text2.Text ist?
 
gman24

gman24

Mitglied seit
13.07.2006
Beiträge
1.860
sagt mal, ich kenne zwar vb5 nicht, aber ausgehend von der tatsache, dass vb5 genauso wie access ein abfallprodukt von microsoft ist, sollte es eigentlich auch die format-anweisung beherrchen, mir der man die ausgabe voreinstellen kannn.

beispiel:

ZF1 = Format(334.9, "###0.00") ' Liefert "334,90"

schaut mal da nach. im bereich des ersten parameters sollte auch eine variable öglich sein.
 
T

Think different

Gast
ok, also ich hab es jetzt hinbekommen, und zwar soll ein timer (wie man schon im code beitrag #3 sieht) eine uhr steuern.
ich habe es jetzt so hinbekommen. die letzten beiden zeilen (exklusiv "end sub") sind nur nicht so toll geworden, aber ich hatte VB auch nur eine einzige schulstunde, und hab auf dieser stunde einiges aufgebaut.
der code des timers sieht jetzt so aus:
Code:
Private Sub Timer1_Timer()
    'Plus eine Sekunde.
        If Label3.Caption < 9 Then Label3.Caption = "0" & Label3.Caption + 1 Else Label3.Caption = Label3.Caption + 1
    'Minute vorstellen, wenn Sekunde 60. Sekunde auf 00 stellen.
        If Label3.Caption = 60 Then If Label2.Caption < 9 Then Label2.Caption = "0" & Label2.Caption + 1 Else Label2.Caption = Label2.Caption + 1
        If Label3.Caption = 60 Then Label3.Caption = 0
    'Stunde vorstellen, wenn Minute auf 60 Minute auf 00 stellen.
        If Label2.Caption = 60 Then If Label1.Caption < 9 Then Label1.Caption = "0" & Label1.Caption + 1 Else Label1.Caption = Label1.Caption + 1
        If Label2.Caption = 60 Then Label2.Caption = "00"
    'Überprüfung zum Anhalten und Benachrichtigen
        If Label1.Caption = Text1.Text Then If Label2.Caption = Text2.Text Then If Label3.Caption = Text3.Text Then Form2.Show
        If Label1.Caption = Text1.Text Then If Label2.Caption = Text2.Text Then If Label3.Caption = Text3.Text Then Timer1.Enabled = False
End Sub
es geht mir bei diesem programme dabei um zwei sachen:
  1. übung um VB etwas näher kennen zu lernen
  2. einen wecker für den computer haben
naja, wenn mir jetzt noch jemand sagen würde, wie ich die zeilen
Code:
If Label1.Caption = Text1.Text Then If Label2.Caption = Text2.Text Then If Label3.Caption = Text3.Text Then Form2.Show
        If Label1.Caption = Text1.Text Then If Label2.Caption = Text2.Text Then If Label3.Caption = Text3.Text Then Timer1.Enabled = False
eleganter lösen könnte, dann wäre ich sehr zufrieden :)


EDIT1: :danke schonmal an euch alle!!

EDIT2:
Was willst Du mit dem Then hinter dem End If bezwecken? Was soll gemacht werden, wenn Label2.Caption >= Text2.Text ist?
Wenn Label1 = Text1, Label2 = Text2 und Label3 = Text3 ist (hab jetzt caption und text weggelassen), dann soll ein ereignis eintreten, in meinem fall ein sound abgespielt werden.
das hatte ich wohl vergessen :wut
 
Thema:

[Gelöst] VB5: einstellige zahlen mit vorangestellter "0"

[Gelöst] VB5: einstellige zahlen mit vorangestellter "0" - Ähnliche Themen

  • net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*

    net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*: Problem: Bei einer WebDav-Anmeldung über den Windows-Explorer kam plötzlich immer die Meldung Server nicht gefunden. Auch über nslookup war der...
  • [gelöst] Nach Win10 2004 Update keine WLAN Verbindung mehr

    [gelöst] Nach Win10 2004 Update keine WLAN Verbindung mehr: Hallo Team Microsoft, ich habe gestern das Windows 10 2004 Fuktionsupdate gemacht. Seitdem kann ich mit dem WLAN nicht mehr in das Internet...
  • GELÖST: Hilfe: Ich empfange E-Mails von einer bestimmten Adresse nicht mehr! Kontowiederherstellung!

    GELÖST: Hilfe: Ich empfange E-Mails von einer bestimmten Adresse nicht mehr! Kontowiederherstellung!: Guten Abend liebe Community, ich habe ein großes Problem beim Empfangen einer wichtigen E-Mail in meiner Hotmail-Mail. Hier der Fall: Ich...
  • Medienstreaming deaktivieren? [GELÖST]

    Medienstreaming deaktivieren? [GELÖST]: Hallo an alle, wie kann ich das Medienstreaming wieder deaktivieren? Muss ich das echt über Umwege wie einer erstellten Heimnetzgruppe...
  • Ähnliche Themen
  • net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*

    net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*: Problem: Bei einer WebDav-Anmeldung über den Windows-Explorer kam plötzlich immer die Meldung Server nicht gefunden. Auch über nslookup war der...
  • [gelöst] Nach Win10 2004 Update keine WLAN Verbindung mehr

    [gelöst] Nach Win10 2004 Update keine WLAN Verbindung mehr: Hallo Team Microsoft, ich habe gestern das Windows 10 2004 Fuktionsupdate gemacht. Seitdem kann ich mit dem WLAN nicht mehr in das Internet...
  • GELÖST: Hilfe: Ich empfange E-Mails von einer bestimmten Adresse nicht mehr! Kontowiederherstellung!

    GELÖST: Hilfe: Ich empfange E-Mails von einer bestimmten Adresse nicht mehr! Kontowiederherstellung!: Guten Abend liebe Community, ich habe ein großes Problem beim Empfangen einer wichtigen E-Mail in meiner Hotmail-Mail. Hier der Fall: Ich...
  • Medienstreaming deaktivieren? [GELÖST]

    Medienstreaming deaktivieren? [GELÖST]: Hallo an alle, wie kann ich das Medienstreaming wieder deaktivieren? Muss ich das echt über Umwege wie einer erstellten Heimnetzgruppe...
  • Oben