Dateipfad händisch eingeben, die restriktive Variante

Schnipsel, Ideen und Lösungsvorschläge

Dateipfad händisch eingeben, die restriktive Variante

Beitragvon rammelteid » Di 11. Apr 2006, 10:39

Folgendes Problem:

Es sollen zwei Möglichkeiten geboten werden, im Hauptfenster eine Dateiauswahl zu treffen. Einmal über Dialog und über eine direkte Texteingabe (txtPfad). Dabei soll die Fortsetzung des Programmes (btnStart) nur erlaubt sein, wenn ein gültiger Pfad eingegeben wurde, d.h. unterhalb ~ und eine nicht-/existente Datei. Die Prüfung erfolgt während der Texteingabe.

Ist vielleicht trivial, sieht aber recht elegant aus, imho.

Code: Alles auswählen
PUBLIC SUB txtPfad_Change() 'Schau'mer mal
    DIM homedir AS String
    DIM homedirlen AS Integer
    DIM pfadlen AS Integer
    DIM istdatei AS Integer

    homedir = user.Home & "/" 'Dateien sollten prinzipiell unterhalb ~ angelegt werden
    homedirlen = Len(homedir)
    pfadlen = Len(txtPfad.Text)

    IF Left(txtPfad.Text, homedirlen) = homedir AND pfadlen > homedirlen THEN 'Es könnte eine gültige Auswahl kommen
        TRY Stat(txtPfad.Text) 'Existiert die Datei?
        IF ERROR THEN 'Tut sie nicht
            btnStart.Enabled = TRUE 'Sehr gut
        ELSE 'Ansonsten...
            WITH Stat(txtPfad.Text) '... mal schauen, ...
                istdatei = .Type '...womit wir es zu tun haben
            END WITH
            btnStart.Enabled = If(istDatei <> gb.directory, TRUE, FALSE) 'Kein Verzeichnis - weitermachen
        ENDIF
    ELSE 'Alles andere wird ignoriert
        btnStart.Enabled = FALSE
    END IF
END
rammelteid
Foriker
 
Beiträge: 18
Registriert: Mo 3. Apr 2006, 11:31

Zurück zu Schnipsel / HOWTO's

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast