tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
476
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    SPN_X SPN_X ist offline Mitglied Silber
    Registriert seit
    Aug 2006
    Beiträge
    76
    Hi ich habe folgendes problem, wenn ich überprüfen will ob eine datei schon existiert habe ich normal den code:
    Code vb:
    1
    
    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 ?
     

  2. #2
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Probier mal vor "bla" den anderen Schrägstrich, der von links oben nach rechts unten geht.
    Was steht denn in Text1.Text drin?
     
    hihi = -h²

  3. #3
    SPN_X SPN_X ist offline Mitglied Silber
    Registriert seit
    Aug 2006
    Beiträge
    76
    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.

    Mein Code
    Code vb:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    '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
    Code vb:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    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
    Geändert von SPN_X (24.09.06 um 19:01 Uhr)
     

  4. #4
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Bist du den Code mal mit dem Debugger durchgegangen?
     
    hihi = -h²

  5. #5
    SPN_X SPN_X ist offline Mitglied Silber
    Registriert seit
    Aug 2006
    Beiträge
    76
    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...
     

  6. #6
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    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?
     
    hihi = -h²

  7. #7
    d1ng0d0gt0r d1ng0d0gt0r ist offline Mitglied Silber
    Registriert seit
    Oct 2006
    Beiträge
    53
    Nim den Code:

    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FileExists("C:\test.txt") Then



    Damit gehts sehr gut!
     

  8. #8
    SPN_X SPN_X ist offline Mitglied Silber
    Registriert seit
    Aug 2006
    Beiträge
    76
    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:
    Code vb:
    1
    2
    3
    4
    
    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.
     

  9. #9
    d1ng0d0gt0r d1ng0d0gt0r ist offline Mitglied Silber
    Registriert seit
    Oct 2006
    Beiträge
    53
    Also um eine Form anzeigen zu lassen musst du
    Code :
    1
    
    Form1.show
    benutzen nicht
    Code :
    1
    
    Form1.enabled
     

  10. #10
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Zitat Zitat von SPN_X Beitrag anzeigen
    vb Code: [LEFT]
    1. If Check1 = vbChecked And Check2 = vbChecked Then
    2. WizardPage2.Enabled = True
    3. Wizard1.FinishBtnText = "Install"
    4. End If
    [/LEFT]

    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:
    Code vb:
    1
    2
    3
    
    WizardPage2.Enabled = True
    WizardPage2.Visible = True
    WizardPage2.ZOrder vbBringToFront
     
    hihi = -h²

  11. #11
    SPN_X SPN_X ist offline Mitglied Silber
    Registriert seit
    Aug 2006
    Beiträge
    76
    Hey , danke soweit funktioniert es nun, meld mich wenn mir noch fehler unterkommen

    THX
     

Ähnliche Themen

  1. relative pfad angabe
    Von Bumbbleman im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 03.12.08, 18:05
  2. Pfad angabe
    Von theplake im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 16.06.08, 17:55
  3. Pfad-Angabe-Frage
    Von maazus im Forum PHP
    Antworten: 1
    Letzter Beitrag: 30.04.05, 12:34
  4. Format einer gültigen Pfad-Angabe
    Von cocoon im Forum Coders Talk
    Antworten: 1
    Letzter Beitrag: 03.12.04, 06:23
  5. [C#] - saveFileDialog Pfad Angabe in var. speichern.
    Von liquidbeats im Forum .NET Archiv
    Antworten: 9
    Letzter Beitrag: 09.10.04, 21:53