Seite 1 von 1

Dateinamen vervollständingen

Verfasst: 16.01.2006 17:55
von KingS
Hi.
Ich hab folgendes Problem:
Ich hab in einem Ordner ein paar Dateien. Sagen wir mal:
test1-muh
test2-jop
test3-asdasd
Ich weiß aber nich, wie die Endungen der Dateien sind. Ich weiß, dass die erste Datei mit test1 anfängt, aber wies weitergeht weiß ich nicht.

Und ich würd gern den kompletten Dateinamen von der ersten Datei z.B kriegen: test1-muh

Hoffe, ich habs verständlich ausgedrückt, garnicht mal so einfach :D
Danke füe eure Hilfe.

Verfasst: 16.01.2006 17:59
von Macros

Code: Alles auswählen

Procedure.s complete(string.s)
ExamineDirectory(1,x$,"*.*")
While NextDirectoryEntry()
  If FindString(LCase(DirectoryEntryName()),LCase(string),0)
    ProcedureReturn DirectoryEntryName()
  EndIf
Wend
EndProcedure

Debug complete("test1")
edit: funktioniert natürlich nur wenn es nicht z.B.
test1-muh und test1-hfgj gibt. Ist jetzt nicht mehr Case-sensitive

Verfasst: 16.01.2006 18:04
von edel
Versuch es mal so :

Code: Alles auswählen

  Procedure Scan(dir.s,needle.s)
    ExamineDirectory(#PB_Any,dir,"*.*")
    needle2.s = UCase(needle)
    
    While NextDirectoryEntry()
      entry.s = UCase(DirectoryEntryName())
      If CompareMemory(@entry,@needle2,Len(needle))
        Debug DirectoryEntryName() 
      EndIf  
    Wend  
    
  EndProcedure
  
  Scan("c:\","boot")

Verfasst: 16.01.2006 18:04
von KingS
Funktioniert einwandfrei, ich dank dir :)