Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zähler nach speichern erhöhen (https://www.delphipraxis.net/83164-zaehler-nach-speichern-erhoehen.html)

Crazymodder 28. Dez 2006 17:14


Zähler nach speichern erhöhen
 
Hi hab jetzt angefangen mit delphi zu arbeiten.
Naja egal jedenfalls steht ich vor meinem ersten problem was ich auch net mit google gelöst kriege ich eine Image speichern.
image1.Picture.SaveToFile das krieg ich hin speichert er auch alles aber ich will es so haben das wenn er es gespeichert hat sich der Name des Bildes. Also zuerst soll es 1.bmp heißen danach soll er gleich wiedre speichern als 2.bmp und so weiter!! Das geht irgendwie glaub ich mit inc(i) aber wie da bin ich auf eure Hilfe angewiesen und würde mich drüber freuen, damit ich mein screencapture programm endlich fertig bekomme.

Danke im Vorraus
Crazymodder

Pfoto 28. Dez 2006 17:17

Re: Zähler nach speichern erhöhen
 
Hallo,

das mit inc(i) war schon richtig, um einen Zähler zu erhöhen.

Um diesen Interger-Wert in einen String für den Dateinamen zu ändern,
einfach mit IntToStr(Int-Wert) umwandeln.

Dann hättest du z.B. so den jeweils neuen Dateinamen:
Delphi-Quellcode:
i:= 0;
{ hier neues Bild holen, bearbeiten, etc. }
inc(i);
Dateiname:= IntToStr(i) + '.bmp';
Gruß
Pfoto

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]

QuickAndDirty 28. Dez 2006 17:21

Re: Zähler nach speichern erhöhen
 
Willkommen in der DP

Eine richtige lösung wäre es mit Hilfe von Fileexists
zu prüfen ob es den Namen schon gibt und wenn ja dann den Zähler zu incrementieren
Das in eineer schleife bis Fileexists einen Fals wert zurrück gibt.

Crazymodder 28. Dez 2006 17:46

Re: Zähler nach speichern erhöhen
 
Mh erstmal danke für die super schnelle antwort aber irgendwie erhöht der das immer noch net. Also er soll ja nen screenshot machen diesen speichern dann den nächsten screenshot machen und wieder unter eineim anderen namen speichern also:
Screenshot hab ich ja schon
Delphi-Quellcode:
procedure MakeScreenShot(const ATarget: TBitmap);
var
  DesktopDC: HDC;
begin
  DesktopDC := CreateDC('DISPLAY', nil, nil, nil);
  try
    ATarget.PixelFormat := pfDevice;
    ATarget.Width := Screen.Width;
    ATarget.Height := Screen.Height;

    BitBlt(ATarget.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DesktopDC, 0, 0, SRCCOPY);
  finally
    DeleteDC(DesktopDC);
  end;
end;

und dann

i:= 0;
inc(i);
image1.Picture.SaveToFile(IntToStr(i)+'.bmp');
Also wäre net wenn ihr mir da nochmal helfen könnten das das oben beschriebene funkt thx thx

[edit=SirThornberry]Delphi-Tags gesetzt. Nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit]

Luckie 28. Dez 2006 18:22

Re: Zähler nach speichern erhöhen
 
Nun ja, wenn du i immer wieder mit null initialisierst kann das auchnicht klappen. i muss global bzw. als Variable deiner Form-Klasse deklariert sein.

Btw ein paar Kommas und etwas mehr auf die Rechtschreibung achten, wäre bestimmt auch nicht schlecht.

Crazymodder 28. Dez 2006 18:48

Re: Zähler nach speichern erhöhen
 
Mh ah okay könnte mir jemand mal das soll zeigen wie oben thx

Sierra 28. Dez 2006 19:57

Re: Zähler nach speichern erhöhen
 
Delphi-Quellcode:
image1.Picture.SaveToFile(IntToStr(i)+'.bmp');
Das ist ja schonmal nicht schlecht.
Du musst nur dafür sorgen, dass du i richtig initialisierst.
Luckie hat schon Recht.
Du darfst nicht immer i:=0 setzen.

Crazymodder 29. Dez 2006 10:13

Re: Zähler nach speichern erhöhen
 
Okay kurze Frage wie intialisiere ich das anderes?

phreax 29. Dez 2006 10:18

Re: Zähler nach speichern erhöhen
 
indem du das ganze als globale Variable deklarierst

Delphi-Quellcode:
//...
implementation

var i: integer=0; //intialisieren beim start mit 0

//...
procedure SaveSreenShot;
begin
inc(i);
Dateiname:= IntToStr(i) + '.bmp';
end;
mfg Phreax

//EDIT: Rechtschreibung -_-


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz