Pfad angabe in txt

SPN_X

Mitglied
Hi ich habe folgendes problem, wenn ich überprüfen will ob eine datei schon existiert habe ich normal den code:
Visual Basic:
If Dir(Dir1.path & "/bla.exe") <> "" Then
aber nun habe ich keine Dir1 komponente. Ich habe habe nur Text1.txt aber wenn ich anstadt Dir1.path Text1.txt einsetze geht das nicht. weiß jemand warum ?
Wie kann ich des machen das es funktioniert ?
 
Probier mal vor "bla" den anderen Schrägstrich, der von links oben nach rechts unten geht.
Was steht denn in Text1.Text drin?
 
aloso im text1.text steht :
C:\Programme\ICQ

und in meiner abfrage soll er prügen ob die datei ICQLite.exe in den Verzeichnis vorhanden ist.
Also wenn es vorhanden ist dann soll Check1 Checked sein ansonsten nichts passieren. Das verzeichnis kann man ändern (falls man es auf D: oder so installiert hat.)
Aber auch mir dem BackSlash geht es net.... komischer weiße. der macht einfach nichts.
:suspekt:
Mein Code
Visual Basic:
'Der Finish Button heißt Überprüfen
Private Sub Wizard1_FinishClicked()
' Überprüfen ob ICQ noch läuft und Pfad angegeben ist -> Funktioniert einwandfrei
If IsEXERunning("ICQLite.exe") Then
   MsgBox "Error! ICQ muss zuerst geschlossen werden!"
   Check1 = vbUnchecked
Else
   Check1 = vbChecked
End If

'geht net
If Dir(Text1.Text & "\ICQLite.exe") <> "" Then
  Check1 = vbChecked
Else
  Check1 = vbUnchecked
End If

'Nach vollständiger überprüfung soll Die nächste Page aufgerufen werden (Enabled) 
'und diesmal soll der Finish button Finish heißen
If Check1 = vbChecked And Check2 = vbChecked Then
   'das die nächste Page aufgerufen werden kann
   WizardPage2.Enabled = True 
End If
Wizard1.FinishBtnText = "Install"
End Sub
Aber selbst wenn ich folgendes mache macht er nach der 1. If anweisung nicht weiter
Visual Basic:
Private Sub Wizard1_FinishClicked()
If IsEXERunning("ICQLite.exe") Then
   MsgBox "Error! ICQ muss zuerst geschlossen werden!"
   Check1 = vbUnchecked
Else
   Check1 = vbChecked   'Das macht er erfolgreich
End If

If Check1 = vbChecked Then   'ist true!!
   WizardPage2.Enabled = True  'wird nicht gemacht - er bleibt auf der aktuellen seite
End If
Wizard1.FinishBtnText = "Install" 'Das macht er noch
End Sub
 
Zuletzt bearbeitet:
Ja, der sagt mir am anfang gleich mal bei Form_Load: Error: Control cannot run under this environment., aber wenn ich es starte gehen ja die ersten 2 seiten des Wizards.
(Oder muss ich da n anderes Formular oder so nehmen, ich habe Standard Form)
Aber beim Debuggen geht er nicht zur 2. WizardPage. Ich klicke auf Weiter aber er macht nichts.

Wenn ich das Pro normal starte, dann macht er des bis zu meinem besagten fehler...
 
Dann hat dein Problem aber erst mal nichts mit der Dir-Funktion oder Ähnlichem zu tun, wie einem in deinem 1.Post suggeriert wird.
Die von dir genannte Fehlermeldung ist mir jedoch unbekannt, ich kann damit nichts anfangen. Und selbst Google hat mir nichts brauchbares geliefert.
Wird das Control denn in der Entwicklungsumgebung korrekt angezeigt?
 
ja danke es klappt nun alles bis zur letzten in anweisung.
er überprüft ob beide kontroll kästchen aktiviert sind und macht dann die anweisung
-Wizard1.FinishBtnText = "Install" da ich die noch mit in die If anweisung mit hinein genommen habe. Sprich so:
Visual Basic:
If Check1 = vbChecked And Check2 = vbChecked Then
   WizardPage2.Enabled = True
   Wizard1.FinishBtnText = "Install"
End If
ABER Die Page Enabled macht er nicht! Er bleibt immer auf der selben seite, zeigt die 'neue' nicht an nur der Button text hat dich geändert....

Ich verzweifle langsam ! Aber komme zum glück dank eurer hilfe immer stück für stück weiter.
 
vb Code:
  1. If Check1 = vbChecked And Check2 = vbChecked Then
  2. WizardPage2.Enabled = True
  3. Wizard1.FinishBtnText = "Install"
  4. End If

ABER Die Page Enabled macht er nicht! Er bleibt immer auf der selben seite, zeigt die 'neue' nicht an nur der Button text hat dich geändert....
Du aktivierst "Enabled = True" das Control lediglich, du musst es aber auch anzeigen.
Dazu musst du einmal "Visible" auf True stellen und dann noch das Control entweder in den Vordergrund holen oder alle anderen Controls die die gleiche Position haben, unsichtbar machen:
Visual Basic:
WizardPage2.Enabled = True
WizardPage2.Visible = True
WizardPage2.ZOrder vbBringToFront
 
Zurück