Seite 1 von 1

Absoluter Beginner (Stringprobleme mit NextDirectoryEntry)

Verfasst: 24.09.2005 09:22
von dietmar
Wenn ich folgendes Versuche:

Code: Alles auswählen

Repeat

ExamineDirectory(0, "D:\Auswertung\52019043", "*.*")
 Name = NextDirectoryEntry()
 CreateFile(1, "D:\Name.txt")
 UseFile(1)
 WriteString(Name)
Until Name = 0
Bekomme ich eine Fehlermeldung das ein String erwartet wird. Wenn ich "Name als String deklariere sagt er das geht auch nicht, warum? Und wie kann ich das verhindern.

Anm. von freedimension: Nächstes Mal bitte Code-Tags setzen und einen aussagekräftigen Titel wählen, absolute Beginner gibt es hier wie Sand am Meer ;)

string

Verfasst: 24.09.2005 09:38
von roherter

Code: Alles auswählen

NextdirectoryEntry; Springt einfach auf nächste file den namen must du anders auslesen!


Repeat
  
  ExamineDirectory(0, "D:\Auswertung\52019043", "*.*")
  Name = NextDirectoryEntry()
  DateiName$ = DirectoryEntryName()
  
  CreateFile(1, "D:\Name.txt")
  UseFile(1)
  WriteString(DateiName$)
Until Name = 0 

Re: string

Verfasst: 24.09.2005 11:32
von Kiffi
roherter hat geschrieben:

Code: Alles auswählen

  CreateFile(1, "D:\Name.txt")
  UseFile(1)
1. UseFile benötigt man in diesem Fall nicht

2. Immer prüfen, ob CreateFile() geklappt hat

Code: Alles auswählen

  FF = CreateFile(#PB_ANY, "D:\Name.txt")
  If FF
    [...]
3. Hast Du Deinen Code eigentlich mal ausprobiert? ExamineDirectory in
einer Repeat-Schleife tut nicht gut.

@dietmar: so, wie Du das wahrscheinlich vorhast, wird es nicht klappen.
Du möchtest alle Dateinamen, die sich im Ordner '52019043' befinden,
zeilenweise in die Datei Name.txt schreiben. Korrekt?

Ich würde so vorgehen:

Code: Alles auswählen

  If ExamineDirectory(0, "D:\Auswertung\52019043", "*.*")
    
    FF = CreateFile(#PB_Any, "D:\Name.txt")
    
    If FF
      
      Repeat
        
        FileType = NextDirectoryEntry()
        
        If FileType = 1 ; handelt es sich um eine Datei?
          DateiName$ = DirectoryEntryName() 
          WriteStringN(DateiName$)
        EndIf
        
      Until FileType = 0 
      
      CloseFile(FF)
      
    Else
      
      MessageRequester("", "Datei konnte nicht erstellt werden!")
      
    EndIf
    
  Else
    
    MessageRequester("", "Konnte Verzeichnis nicht analysieren!")
    
  EndIf
Grüße ... Kiffi

kiffi

Verfasst: 24.09.2005 11:59
von roherter
Hast recht kiffi habs heute morgen nur überflogen!

Verfasst: 26.09.2005 15:02
von dietmar
So funktioniert es wesenlich besser als vorher.
Danke