Entwickler-Ecke
Windows API - Screenshot Hilfe ?..[gelöst]
CABALxx - Fr 23.01.04 17:14
Titel: Screenshot Hilfe ?..[gelöst]
hallo erstmal
ich will gleich am anfang sagen ich bin ein neuling was Delphi angeht ich hab das erst seit kurzem in Informatik und auch vorher noch nicht sooooo viel gemacht....also ist mein knowledge entsprechend klein......
ich will per Buttonklick einen screenshot machen und an einem bestimmten punkt speichern
bisheriger code:
.........
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| procedure GetScreenShot (var ABitmap : TBitmap); var DC : THandle; begin if Assigned(ABitmap) then begin DC := GetDC(0); try ABitmap.Width := Screen.Width; ABitmap.Height := Screen.Height; BitBlt(ABitmap.Canvas.Handle, 0,0,Screen.Width,Screen.Height, DC, 0,0, SrcCopy ); finally ReleaseDC(0, DC); end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var B : TBitmap; begin B := TBitmap.Create; try GetScreenShot(B); Image1.Picture.Assign(B); finally B.Free; end;
end;
end. |
wie man sieht hab ich den grössten teil aus einem tutorial übernommen
nun macht das Programm bei klick auf den Button1 einen screenshot und zeigt diesen in Image1 an. ich wollte jetzt mal fragen wie ich das machen muss, damit der screenshot in einem ordner / unter einem bestimmten Pfad gespeichert wird????
( ich hatte schon mal nachgeschaut wie man dateien von verzeichnissen in ander kopiert. das wäre kein problem aber ich hab ( als N00b ) ja keine ahnung von welchem Pfad ich den screen holen muss.......... )
sry falls es schon nen threat darüber gibt....
Moderiert von
Motzi: Delphi-Tags hinzugefügt
Chatfix - Fr 23.01.04 17:18
:welcome: Such im Forum doch mal nach
SCREENSHOT. Da findest du sicher was!
Anonymous - Fr 23.01.04 17:26
:welcome:
Den Code für das Screenshot hat er ja schon...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var B : TBitmap; begin B := TBitmap.Create; try GetScreenShot(B); B.SaveToFile('c:\pfad\dateiname.bmp'); finally B.Free; end; end; |
Benutz am besten nächstesmal den [delphi]-Code
CABALxx - Fr 23.01.04 18:00
hey
danke danke
hat klasse funktioniert
:D :D :D :D
vielen dank
:o
FatalError - Di 04.05.04 22:32
Hi,
wenn ich den obersten Code in ein neues Formular implementiere(etwa so)...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| type TForm1 = class(TForm) Image1: TImage; Button1: TButton; procedure Button1Click(Sender: TObject); procedure GetScreenShot (var ABitmap : TBitmap); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure GetScreenShot (var ABitmap : TBitmap); var DC : THandle; begin if Assigned(ABitmap) then begin |
dann bekomme ich an der markierten Stelle eine Fehlermeldung:
Zitat: |
[Error] Unit1.pas(14): Unsatisfied forward or external declaration: 'TForm1.GetScreenShot' |
Was hab ich da vergessen? :?
Grüße
Andy :roll:
Motzi - Di 04.05.04 23:25
Delphi-Quelltext
1:
| procedure TForm1.GetScreenShot (var ABitmap : TBitmap); |
FatalError - Do 06.05.04 14:23
In der selben Zeile scheint noch ein Fehler zu liegen :roll: , jedenfalls bekomme ich <hier>
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm) Image1: TImage; Button1: TButton; procedure Button1Click(Sender: TObject); procedure TForm1.GetScreenShot(var ABitmap : TBitmap); private public end; |
den Fehler
Zitat: |
Expected '=' but '(' found. |
iKilledKenny - Do 06.05.04 14:47
du musst das TForm1. nicht in der interface section sondern in der implementation section vor deine function schreiben...
viele grüße
alex
FatalError - Do 06.05.04 16:21
Das ist es :D Vielen Dank euch beiden :D :D
Grüße
Andy :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!