Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: While FileExists endlosschleife

  Alt 3. Feb 2017, 16:32
Ich hätte da was (uralt und wohl nicht State of the Art)
Delphi-Quellcode:
procedure GetListofGenerationFiles(const muster:string;var liste:tstringlist);
begin
  liste.Clear;
  Liste:=DATEILISTE(muster+'.G*');
  liste.Sort;
end;

function GENERATEGENERATIONFILE(muster:string):string;
var
  i : integer;
  dummy: string;
  dint : string;
  fl : tstringlist;
begin
  i:=length(muster);
  while (i>0) and (muster[i]<>'.') and (muster[i]<>'\') do dec(i);
  if i>0 then begin
    if muster[i]='\then dummy:=muster
    else dummy:=copy(muster,1,i-1);
  end
  else
    dummy:=muster;
  fl:=tstringlist.create;
  GetListofGenerationFiles(dummy,fl);
  if fl.count=0 then i:=0
  else begin
    i:=strtoint(copy(fl[fl.count-1],length(fl[fl.count-1])-1,2));
    i:=i+1;
  end;
  dint:=inttostr(i);
  while length(dint)<2 do dint:='0'+dint;
  dummy:=dummy+'.G'+dint;
  fl.free;
  result:=dummy;
end;{-- GENERATEGENERATIONFILE -----------------------------}
Das schaut nach Dateien MUSTER+'.Gxxx' und liefert die nächste Nummer, bzw. den Dateinamen zurück.
Ich seh' gerade, da fehlt noch ein fl.sort sonst ist nicht sichergestellt, daß die Einträge wirklich sortiert sind.
Hinter DATEILISTE verbirgt sich ein getfirst/getnextfile.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat