Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#4

AW: Nummer der Datei um 1 erhöhen

  Alt 3. Apr 2013, 07:43
Vor 5 Jahren habe ich für Screenshots das gleiche Problem gehabt und so gelöst:
Die Funktion GetNextFreeFileName ist selbsterklärend.
Die Procedure ist nur beispielhaft.
Das Ergebnis ist dann: 001.bmp, 002.bmp, 003.bmp ...

Delphi-Quellcode:
function GetNextFreeFileName(const FileName: string;
const sFormat: string = '%.3d'): string;
var i: integer;
    sPath, sExt: string;
begin
  sPath := IncludeTrailingBackslash(ExtractFilePath(FileName));
  sExt := ExtractFileExt(FileName);
  i := 0;
  repeat
    inc(i);
    Result := sPath + Format(sFormat,[i]) + sExt;
  until not FileExists(Result);
end;

procedure TForm1.ButtonClick(Sender: TObject);
var B : TBitmap;
begin
Image2.Picture.Bitmap := NIL;
Application.ProcessMessages;
  B := TBitmap.Create;
  try
    GetScreenShot(B);
    Image2.Picture.Assign(B);
  B.SaveToFile(GetNextFreeFileName(ExtractFilePath(Application.ExeName) + '001.bmp'));
  finally
    B.Free; //B.Destroy;
  end;
end;

Geändert von hathor ( 3. Apr 2013 um 07:49 Uhr)
  Mit Zitat antworten Zitat