nach dem

bin ich mal wieder richtig motiviert gewesen und habe mich mal wieder

mit PB beschäftigt.
Nun gut, es ist jetzt kein monster projekt aber doch ein anfang

Kleine beschreibung.
Ich spiele ab und zu gerne mal UnrealTournament 2004 und hier werden Gamedateien die heruntergeladen
werden im Cache Ordner gespeichert.
Dokumentiert wird das ganze in der cache.ini,
aber die Dateien haben nicht denn richtigen Namen sondern werden in etwa so gespeichert:
CE6F0FF54AA523ADDBC66D8CF622003E-1.uxx
dabei ist die endung immer .uxx.
In der *.ini steht aber der ganze Name samt richtiger endung mit dabei,
CE6F0FF54AA523ADDBC66D8CF622003E-1=VCTF-[Id]-CTC-Arcade-Beta4.ut2
Ziel war es die Datei mit den Pseudoname in einen anderen Ordner mit dem "richtigen" Namen zu kopieren.
Das klappt nun auch prima

Ich muss nun nur noch die Dateien mit den richtigen endungen in die dem entsprechenden Ordner kopieren.
Ich wollte nur mal wissen ob das so in die richtige richtung läuft oder ob ich das zu umständlich
geschrieben habe.
Die Textdateien die hier angelegt werden sind nur für mich zur kontrolle und kommen später raus.
Hier mal den ersten Code dazu.
Code: Alles auswählen
Global a.s ; Stringvariable
Global b.s ; Stringvariable
Global path.s ; Variable für die pfadangabe
Global endung.s ; für die dateiendung z.b .u , .utx......
Global pos.w ; Variable für positionsbestimmung
Global lang.w ; Variable für stringlänge
Global count.a ; counter für For Each
count.a = 0
Global NewList file.s() ;Liste zum aufnehmen der Cache.ini
InitKeyboard() ; Tastatur initialisieren, wird später mal gebraucht
If OpenConsole() ;Console öffnen
If FileSize("path.txt") > 0 ;Überprüfung ob Datei vorhanden ist. Alternative ?????
OpenFile(1,"path.txt") ; Datei öffnen und auslesen
a.s = ReadString(1)
CloseFile(1) ;
Else ; falls path.txt nicht vorhanden ist oder "0" leer ist
; pfadangabe der cache.ini
a.s = OpenFileRequester("Cache Orden von UT2K4 angeben","","Ini Dateien .ini | *.ini",0)
OpenFile(1,"path.txt") ; datei erstellen
WriteString(1,a.s) ; pfad eintragen
CloseFile(1)
EndIf
path.s = GetPathPart(a.s)
If OpenFile(0,a.s) ; Pfad aus der path.txt auslesen und cache.ini öffnen
; und solange auslesen bis zum ende der datei
While Eof(0) = 0
a.s = ReadString(0)
AddElement(file.s()) ; zeilen in die Liste eintragen
file.s() = a.s
PrintN(a.s) ; ausgabe auf dem screen zur überprüfung
; Delay(300) ; damits nich zu schnell ab läuft ;)
Wend
CloseFile(0)
EndIf
;----------------------------------------------------------
; nur nochmals zur kontrolle, wird später rausgeworfen
If OpenFile(2,"data.txt")
ForEach file.s()
WriteStringN(2,file.s())
Next
CloseFile(2)
EndIf
; Delay(6000)
;----------------------------------------------------------
EndIf
;################## Sortieren und speichern ####################
ForEach file.s()
a.s = file.s()
If count.a > 0 ; erste zeile überspringen, hier steht nur [Cache]
lang.w = Len(a.s)
endung.s = GetExtensionPart(a.s)
pos.w = FindString(a.s,"-1=",1)
b.s = Mid(a.s,pos.w+3) ; Original Name der datei mit endung
a.s = Left(a.s,pos.w+1) ; Name der Cache datei ohne endung
If FileSize(path.s+a.s+".uxx") > 0
; Hier kommt noch das Löschen der Cache.ini und dann wieder eine neue leere anlegen,
; das löschen der Cachedatei,
; das sortieren der unterschiedlichen endungen und enstrechende
; kopiereaktionen in die richtigen Ordner
; Maps, System, Sound...usw
CopyFile(path.s + a.s +".uxx", path.s+"test\"+b.s)
EndIf
PrintN(b.s)
PrintN(a.s)
PrintN(endung.s)
PrintN(path.s)
EndIf
If count.a < 1
count.a+1
EndIf
Next
CloseConsole()
End