ReadDir + OpenFile?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Feder

Betreff: ReadDir + OpenFile?

BeitragMi, Jul 30, 2008 3:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo. Also ich möchte die Dateien eines Ordners auslesen und diese gefundenen Dateien dann mit OpenFile öffnen um sie zu ändern. Wie lässt sich das machen?

Hier ein Beispiel, das natürlich nicht geht:
Code: [AUSKLAPPEN]
ordner=ReadDir("...")
  datei01$=NextFile (ordner)
  datei02$=NextFile (ordner)
CloseDir (ordner)
 
datei = OpenFile(datei01$) ;geht natürlich nicht ^^"
CloseFile datei


LG

The Shark

BeitragMi, Jul 30, 2008 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Die ersten 2 Dateien sind "." und "..", was für den aktuellen und den übergeordneten ordner steht. Das sind also kenen Dateien, deshalb kannst du sie nicht ändern.

Jean

BeitragMi, Jul 30, 2008 11:37
Antworten mit Zitat
Benutzer-Profile anzeigen
So geht es am besten. Very Happy

Code: [AUSKLAPPEN]
pfad$ = "c:\"
max_dateien = 500

Dim dateien$(max_dateien)

verz=ReadDir(pfad$) ;Ordner auslesen
Repeat
   datei$ = NextFile$(verz)
   If datei$="" Then Exit
   If FileType(pfad$+datei$) = 1 Then
      dateien$(n) = pfad$+datei$
      n=n+1
   EndIf
Until n = max_dateien+1
CloseDir verz

For n=0 To max_dateien ;Dateien bearbeiten
   If dateien$(n) = "" Then Exit
   stream=OpenFile (dateien$(n))
   
   Print dateien$(n) + " --- Stream: " + stream
   
   CloseFile stream
Next

Print "Fertig!"
WaitKey

Eingeproggt

BeitragMi, Jul 30, 2008 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Jean's Methode is schon recht ausgeklügelt, aber ich würde es alles in einer Schleife machen. Ohne die Dateipfade in dem Array zwischen-zu-speichern. (Außer, es geht darum, die Anzahl der zu bearbeitenden Dateien herauszufinden)

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Jean

BeitragMi, Jul 30, 2008 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Manchmal denke ich einfach zu umständlich Wink

Code: [AUSKLAPPEN]
pfad$ = "c:\"

verz=ReadDir(pfad$) ;Ordner auslesen
Repeat
   datei$ = NextFile$(verz)
   If datei$="" Then Exit
   
   If FileType(pfad$+datei$) = 1 Then
      stream=OpenFile (pfad$+datei$) ;Datei bearbeiten

      Print pfad$+datei$ + " --- Stream: " + stream

      CloseFile stream
   EndIf
Forever
CloseDir verz

Print "Fertig!"
WaitKey
 

Feder

BeitragMi, Jul 30, 2008 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank. Funktioniert alles. Wink

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group