Einzelnen Beitrag anzeigen

Benutzerbild von eddy
eddy

Registriert seit: 3. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#6

Re: Grafik speichern und +1 benennen!?

  Alt 18. Aug 2007, 11:13
Hallo woggly4,

hier ein bißchen Code zum Probieren:

Delphi-Quellcode:
// liefert filename mit angehängter _nnnn (mit n=0,1,..,9)
// falls Quelldatei bereits auf eine Nummer _nnnn endet, wird diese bis auf die
// nä. freie Nummer hochgezählt z.B. Test_0005.DB --> Test_0007.DB (falls Test_0006.DB bereits vorh. ist)
function GetNextFileName(pfn : string) : string;
var
  fpath,
  fn, fext,
  s, hs : string;
  i : integer;
  gefu : boolean;
begin
  fpath := ExtractFilePath(pfn);
  s := ChangeFileExt(ExtractFileName(pfn), '');
  gefu := copy(s,length(s)-4,1) = '_';
  if gefu then begin
    for i := 3 downto 0 do begin
      gefu := gefu and (Pos(copy(s,length(s)-i,1), '0123456789') > 0);
    end;
  end;
  if gefu then begin
    hs := copy(s,length(s)-3,4);
    i := StrToInt(hs);
    fn := copy(s, 1, length(s) - 5);
  end
  else begin
    i := 0;
    fn := s;
  end;
  fext := ExtractFileExt(pfn);
  repeat
    inc(i);
    hs := IntToStr(i);
    while length(hs) < 4 do hs := '0' + hs;
    s := fn + '_' + hs + fext;
  until not FileExists(IncludeTrailingBackslash(fpath) + s);
  Result := s;
end;
Die Funktion ist noch ein bißchen unflexibel, aber Du kannst sie ja entsprechend Deinen Wünschen anpassen.

mfg
eddy
  Mit Zitat antworten Zitat