Dateinamen vervollständingen

Für allgemeine Fragen zur Programmierung mit PureBasic.
KingS
Beiträge: 11
Registriert: 04.01.2006 15:12

Dateinamen vervollständingen

Beitrag 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.
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag 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
Zuletzt geändert von Macros am 16.01.2006 18:18, insgesamt 1-mal geändert.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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")
Zuletzt geändert von edel am 16.01.2006 18:05, insgesamt 1-mal geändert.
KingS
Beiträge: 11
Registriert: 04.01.2006 15:12

Beitrag von KingS »

Funktioniert einwandfrei, ich dank dir :)
Antworten