Befehl-für das zweite "ausführen" eines Buttons

Nico192

Mitglied
Hallo nochmal
Ich möchte einem Button zwei verschiedene Texte zuweisen!
Will heißen:
If button click then text1.text=sie haben den Button einmal angeklickt
(hier fehlt mir nun der befehl dafür, dass die zweite Bedinung (text1.text=Sie haben den Button ein zweites mal angeklickt --im gleichen Textfeld-- ) damit dieser text erst ausgegeben wird, wenn der button auch wirklick das zweite mal angeklickt wurde!!)
Natürlich muss der Text nachdem der Button ein zweites mal gedrückt wurde (ich schätze mal mit: "text1.text"" | oder mit "text1.text.cls" o.ä.) ersteinmal gelöscht werden-bevor der nächste text kommt (vll macht ist das aber auch nicht nötig-KA!!)

Ich weiß ich schreibe oft sehr unverständlich(vor allem mit den klammern :rolleyes: )
Das tut mir dann auf jeden Fall aufrichtig Leid!!

Habe dieses Thema zwar schon in 2 anderen Foren eröffnet-in denen aber nichts los war!!
Drum schrieb ich es hier noch einmal

Danke für eure Hilfe!!
N!C0 192
 
Moin,

du schreibst wirklich ein bisschen wirr, aber das kiregen wir schon hin!
Also, du möchtest also einen anderen Text, wenn er das zweite mal angeklickt wurde, ja?
Text nur beim ersten und zweiten klick oder auch weiterführende klicks, das 9te usw.?

Du kannst das Ganze auf jeden mit einer globalen Variable lösen,
indem du diese als Laufparameter einsetzt.

Das heißt, wenn erste mal geklickt wurde, hat diese dann den Wert 1,
wenn das zweite mal geklickt wird, einfach um 1 erhöhen und dann abfragen,
welchen Wert diese Variable hat.

Im Klartext:
Code:
Option Explicit
Dim nClicker As Long
 
Public Sub Form_Load()
 
nClicker = 0
 
End Sub
 
Public Function Button_Click()
 
nClicker = nClicker + 1
If nClicker = 1 Then
Text1.Text = "erstes mal geklickt"
Else If nClicker = 2 Then
Text1.Text = "zweites mal geklickt"
End If
' usw. usw.
 
End Function
Is nur ne Idee aus dem Kopf!
 
Danke für die Hilfe-also des Prinzip verstehe ich..aber bei dem Code stimmt irgendwie was net!!(oder ich muss den Objekten (Textfeld,Button) andere Namen geben..aber:

Option Explicit
Dim nClicker As Long

Public Sub Form_Load()

nClicker = 0

End Sub

Public Function Button_Click()

nClicker = nClicker + 1
If nClicker = 1 Then
Text1.Text = "erstes mal geklickt"
Else If nClicker = 2 Then
Text1.Text = "zweites mal geklickt"
End If
' usw. usw.

End Function

Fett-geschriebene markiert er rot-also ist da ein fehler...

Die Fehlermeldung wäre:
Fehler beim kompilieren!

Es muss sich um die erste Anweisung in der Zeile handeln


Hoffe mir kann je´mand sagen wo der Fehler liegt!!

Danke schon mal für den Code

N!C0 192
 
ja, da ist der Fehler!
Rate mal, warum! Schreibfehler!
Wie gesagt, war auf die schnelle aus dem Kopf,
wenn du den Fehler nicht findest, dann solltest du dir mal ein Tutorial vornehmen,
dort sind die IF-Bedingungen sehr gut erläutert!

Du mußt den Code natürlich auf dein Prog anpassen, da ich ja nicht wissen kann,
wie dein Button, oder deine Textbox, dein Formular usw. heißt!
 
Also:
Meine Objekte haben alle noch den Anfangsnamen (die VB 6.0 automatisch zuweist!!)

..was falsch is..da muss ich suchen..

...was ich gelese hab, sagt mir dass es "elseif" und net "else if" heißen muss; aber dann kommt trotzdem kein text...
Option Explicit
Dim nClicker As Long

Public Sub Form_Load()

nClicker = 0

End Sub

Public Function Button_Click()

nClicker = nClicker + 1
If nClicker = 1 Then
Text1.Text = "erstes mal geklickt"
ElseIf nClicker = 2 Then
Text1.Text = "zweites mal geklickt"
End If
' usw. usw.

End Function


_____________
Die Form heißt : Form1
Des Textfeld: Text1
Der Button: Command1
...joa, muss ich was umbenenne

Thx N!C0 192
 
Zuletzt bearbeitet:
Hallo Nico,

das geht auch wesentlich eleganter :-)

Code:
Private Sub Command1_Click()

    Static nClicker As Integer
      
    nClicker = nClicker + 1
    
    Text1.Text = nClicker  & " mal geklickt"
    
End Sub

Jens
 
Zuletzt bearbeitet:
Ah
Cool, danke!

Wenn ich nun aber ganz verschiedene Texte ausgeben will, geht es wohl nicht so, oder
Da muss ich dann auch wieder alles einzeln tippen-da die Texte auch so gut wie nichts mit einander zu tun haben sollen!!
Wäre sehr dankbar, für nen Code, mit -sagen wir mal (*träum*) 5- ganz unterschiedlichen texten

Danke für all eure Hilfe!!

P.S. Und wie ich das,wiederrum aus ner Text datei auslesen lassen kann-wenn mir des jemand erklärt-dann wäre ich (wenn ich´s versteh) stolz :) auf denjenigen

Grüße N!C0 192
 
Hallo Nico,

dann eben so

Code:
Private Sub Command1_Click()

    Static nClicker As Integer
   
    nClicker = nClicker + 1
    
    
    Select Case nClicker
        Case 1
             Text1.Text = "einmal geklickt"
        Case 2
            Text1.Text = "zweinmal geklickt"
        Case 3
            Text1.Text = "dreimal geklickt"
        Case 4
            Text1.Text = "viermal geklickt"
        Case 5
            Text1.Text = "fünfmal geklickt"
    
    End Select
    
    
   

End Sub


Wie man das ganze in Textdateien schreibt oder ausliest, dazu gibt es mittlerweile ZIG
Threads. einfach mal die Suchfunktion nutzen und wenns dann nicht geht wieder nachfragen :-)

Jens
 
Cool!!Danke!!

Habe die Suchfunktion auch schon mit ein paar Begriffen dazu ausgefragt, aber sie konnte mir leider auch nicht helfen..vll hab ich aber auch nen Thread, in dem Dinge erklärt sind, die ich hier genauso anwenden könnte, wie bei diesem Fall, übersehen!!
Falls, wäre es nett wenn mir jemand nen Link reinschreiben würde

Danke N!C0 192
 
Was genau willst du denn aus der Textdatei auslesen ? Die Texte oder ....
Werde bitte mal ein wenig konkreter.
Gibt es die Datei schon oder soll diese vom Programm erzeugt werden und und und
Wenn es diese schon gibt dann zeig sie mal...

Jens
 
Zurück