Hi,
ich habe jetzt ein Programm, in dem ich prüfe, ob sich Dateien mit einem bestimmten Namen in einem Verzeichnis befinden.
Filenamen sind ungefähr so:
C:\kindOfDir\OMGO_2323323232331122_1.tif
wobei _2323323232331122 eine eindeutige Nummer ist.
und _1 eine Art Suffix.
Das heisst es können zu einer eindeutigen Nummer unterschiedliche Anzahlen von Dateien befinden (mit jeweils unterschiedlichen fortlaufenden Suffix.
Also Beispiel:
C:\kindOfDir\OMGO_2323323232331122_1.tif
C:\kindOfDir\OMGO_2323323232331122_2.tif
C:\kindOfDir\OMGO_2323323232331122_3.tif
Bei der nächsten fortlaufenden Nummer kann es aber z.B. nur ein File sein:
C:\kindOfDir\OMGO_23233232323319999_1.tif
Jetzt muss ich pro eindeutiger Nummer das höchste Suffix herausbekommen.
Ich mache das jetzt so:
function tifHighestFileNumber as Integer
on error goto Fehler
[... some stuff ..]
For tifHighestFileNumber = 1 to 500
FileNameTif = FileNameTifBase & "_" & Cstr(tifHighestFileNumber) & ".tif"
' FileNameTifBase steht für alles links des letzten _
' tifHighestFileNumber für das Suffix
Open FileNameTif for Input as #File1
Close #File1
next
end function
ErrrorHandler:
If Err = 101 Then
tifHighestFileNumber = tifHighestFileNumber - 1
End If
[...some stuff ...]
Ich benutze also Errorhandling als Teil der Programmlogik. Definitiv nicht die feine englische.
Hat jemand eine elegantere Idee
Axel