AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zähler nach speichern erhöhen

Ein Thema von Crazymodder · begonnen am 28. Dez 2006 · letzter Beitrag vom 29. Dez 2006
Antwort Antwort
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#1

Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 17:14
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
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 17:17
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]
Jürgen Höfs
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.672 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 17:21
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.
Andreas
#PerfMatters
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#4

Re: Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 17:46
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]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 18:22
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#6

Re: Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 18:48
Mh ah okay könnte mir jemand mal das soll zeigen wie oben thx
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#7

Re: Zähler nach speichern erhöhen

  Alt 28. Dez 2006, 19:57
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.
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#8

Re: Zähler nach speichern erhöhen

  Alt 29. Dez 2006, 10:13
Okay kurze Frage wie intialisiere ich das anderes?
  Mit Zitat antworten Zitat
Benutzerbild von phreax
phreax

Registriert seit: 1. Mai 2006
Ort: Dresden
147 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Zähler nach speichern erhöhen

  Alt 29. Dez 2006, 10:18
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 -_-
Und dann war da noch der junge Mann ....
... der unbedingt Schriftsteller werden wollte.
Er wollte Emotionen wecken und die Leute zum weinen bringen.
Sein Traum wurde wahr, er verfasst heute die Fehlermeldungen bei Microsoft!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf