TEIL 8: DATEISTEUERELEMENTE, Aufgaben 43 bis 48


Aufgabe 43


Im nächsten Programm DATEN sollen die 3 Dateisystem-Steuerelemente, das Dateilistenfeld (File-ListBox), das Laufwerkslistenfeld (Drive-ListBox) und das Verzeichnislistenfeld (Dir-ListBox) (in der Werkzeugleiste neben dem Timer) benutzt werden. Gestalte zunächst mal das Formular:



Noch funktioniert nichts, das lässt sich jedoch mit ganz weningen Befehlen ändern:



Speichere nun Projekt und Formular unter dem Namen DATEN und noch ein 2. Mal unter dem Namen DATEN_B ab.

Aufgabe 44


Daten_b soll mit Hilfe eines Nachrichtenfensters (MessageBox) mögliche Fehlermeldungen ausschalten:



Speichere nun als Daten_b und auch nochmals Projekt und Formular als Daten_c ab.

Aufgabe 45


Hier wird nun eine neues Steuerelement, das Kombinationslistenfeld (ComboBox) eingebaut. Es soll dazu dienen, nur Dateien eines bestimmten Typs anzeigen zu lassen.



Füge nun zunächst die ComboBox ins Formular ein. Ihre Anzeige muss beim Laden des Formulars gleich lesbar sein. Darum:

Private Sub Form_Load()
   Combo1.AddItem "Alle Dateien *.*"
   Combo1.AddItem "EXE-Dateien *.exe", usw. ...
   'der Listenindex muss noch initialisiert werden

   Combo1.ListIndex = 0
End Sub
In Abhängigkeit vom Listenindex erfolgt dann die Dateianzeige im Dateilistenfeld mit Hilfe einer Select Case-Abfrage:
Private Sub Combo1_Click()
    Select Case Combo1.ListIndex
      Case 0 'alle Dateien

         File1.Pattern = "*.*"
       ....
   End Select
End Sub



Speichere das fertige Projekt und Formular als daten_c und noch ein 2. Mal als daten_d ab.

Aufgabe 46


Ergänze nun das Formular wie folgt:



In den beiden oberen Textfeldern soll Dateiname und gewähltes Verzeichnis angezeigt werden. Überlege dir, in welches Unterprogramm der entsprechende Programmcode geschrieben werden soll. Speichere Projekt und Formular unter dem Namen daten_d und dazu unter daten_e ab.

Aufgabe 47


Im dritten Textfeld soll beim Programm daten_e noch zusätzlich die Dateigröße angezeigt werden. Dies geschieht mit dem Befehl text3.text=str(filelen(file1.filename)).

Wenn du nun das Programm testest, wirst du feststellen, dass nach einem Verzeichniswechsel (durch Doppelklick) und Anwahl einer Datei (durch einfaches Markieren) die Fehlermeldung "Datei nicht gefunden" erscheint. Dies liegt daran, dass der Befehl filelen (engl.: filelength) nur angewandt werden kann, falls die Datei gefunden wird, d.h. falls der vollständige Pfad mit angegeben wird: e:\vbasic\daten.frm. Und hier taucht schon das nächste Problem auf:

Mal endet der Pfad mit einem Backslash \, mal nicht. Definiert man also eine Variable dateiname, die z.B. die Zeichenkette e:\vbasic\daten.frm enthalten soll mit Hilfe von dateiname = File1.Path + File1.filename, dann muss zunächst abgefragt werden, ob file1.path rechts einen Backslash enthält oder nicht. Darum die ff. etwas umständliche Ausschaltung der Fehlermeldung:



Dein Mini-Dateimanager sollte nun anstandslos funktionieren. Denke ans Speichern und auch ans Erstellen der EXE-Datei.

Bemerkung:
Wie du an den Textabbildungen siehst, ist es sinnvoll, öfter mal einen Kommentar in den Programmcode zu schreiben. Also spare nicht daran und kommentiere deine Programm gut !!!


Aufgabe 48


Noch eine kleine Erweiterung soll zum endgültigen Mini-Dateimanager dazukommen: es sollen nur Dateien mit gewünschtem Dateiattribut angezeigt werden.
Dateien können die ff. Attribute haben:



Das Formular soll durch 5 Checkboxen ergänzt werden:



Hierzu gehört der ff. Programmcode: ergänze ihn für alle 5 Checkboxen!



Speichere das fertige Programm und Formular nochmals unter dem Namen DATEIEN, erstelle auch die zugehörige EXE-Datei.





© 2010 Asti PoVRay-Site Mathematische Streiflichter