![]() |
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 |
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:
Gruß
i:= 0;
{ hier neues Bild holen, bearbeiten, etc. } inc(i); Dateiname:= IntToStr(i) + '.bmp'; Pfoto [edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit] |
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. |
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:
Also wäre net wenn ihr mir da nochmal helfen könnten das das oben beschriebene funkt thx thx
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'); [edit=SirThornberry]Delphi-Tags gesetzt. Nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit] |
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. |
Re: Zähler nach speichern erhöhen
Mh ah okay könnte mir jemand mal das soll zeigen wie oben thx
|
Re: Zähler nach speichern erhöhen
Delphi-Quellcode:
Das ist ja schonmal nicht schlecht.
image1.Picture.SaveToFile(IntToStr(i)+'.bmp');
Du musst nur dafür sorgen, dass du i richtig initialisierst. Luckie hat schon Recht. Du darfst nicht immer i:=0 setzen. |
Re: Zähler nach speichern erhöhen
Okay kurze Frage wie intialisiere ich das anderes?
|
Re: Zähler nach speichern erhöhen
indem du das ganze als globale Variable deklarierst
Delphi-Quellcode:
mfg Phreax
//...
implementation var i: integer=0; //intialisieren beim start mit 0 //... procedure SaveSreenShot; begin inc(i); Dateiname:= IntToStr(i) + '.bmp'; end; //EDIT: Rechtschreibung -_- |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz