Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Screenshot (https://www.delphipraxis.net/93976-screenshot.html)

DMaddin 14. Jun 2007 07:04


Screenshot
 
Hallo Leute

ich bin ganz neu hier und auch in der Sprache Delphie hab erst vor ein paar Tagen angefangen.
Hab mir das Buch gekauft Borland Delphi 7. Ist gar net schlecht das Buch.
Bitte entschuldigt ich weiß nicht ob das Thema im richtigen Forum steht.

Nun zu meiner Frage.
Mich würde interessieren ob es möglich ist unter Delphie eine kleine Anwendung zu schreiben die mir einen Screenshot erstellt.
Was sonst mit Alt + Druck geht.
Allerdings wollte ich gern ein kleines Icon dafür haben das in der leiste eines Programms, meinet wegen Word oder Excel, einegbaut ist.
Und zwar an der stelle wo ich das Programm schliesse oder minimiere also praktisch daneben irgendwie.
Ist so etwas möglich? Denn ich muss mir doch das Programm selber auch umschreiben oder braucht man das nicht ?
Kann man das einfach so einbinden bzw. kann man mit Delphi Anwendungen schreiben die ich in andere Programme einbinden kann ?

Als Anmerkung sei hier gesagt ich hab kein Plan und das ist einfach mal nur ne Frage :-D

Danke schon mal für jede Reaktion bis denne :P

DMaddin 14. Jun 2007 07:24

Re: Screenshot
 
Ich noch mal

Entschuldigt Delphi wird natürlich ohne ie geschriben sorry :wall:

QuickAndDirty 14. Jun 2007 07:29

Re: Screenshot
 
Willkommen bei Delphipraxis
(erster :) )
Du kannst deine Beiträge editieren, muss ich auch des öfteren mal....

Screenshot mit mauszeiger könnte ich dir sagen.
Du must dir einfach ein Handle auf das Display device holen und
dann z.b. mit BitBLT in ein Canvas kopieren.
Ich schau gleich mal welche Api Funktionen das waren.

Mazel 14. Jun 2007 07:31

Re: Screenshot
 
Hallo,

du kannst auch die Suche hier in der DP verwenden, die gibt dir auch genügend schöne Beispiele, mit und ohne Cursor, als BMP oder PNG abspeichern. Auf jeden Fall wirst du fündig. :)

Das nun aber in eine andere Applikation zu packen wird wohl nicht so einfach sein, ob das so ohne größere Probleme möglich ist weis ich gar nicht.

Gruß
Mazel

DMaddin 14. Jun 2007 07:36

Re: Screenshot
 
Danke für deine schnelle Antwort
mit dem Editiren muss ich mal sehen wie das geht ist hilfreich hehe

Gut ich hab nicht viel Verstanden muss erst mal in dem Buch nachlesen was die Einzelnen begriffe bedeuten handle usw. aber das wird schon.
Wie gesagt hab gerade mal vor drei Tagen angefangen das Buch zu lesen wollt eigentlich nur mal wissen ob man seine vorhanden Programme anpassen kann. Wenn ich mir z.B. Word kaufe ob ich in der lage bin mit Delphi dort zusätzliche Funktionen ein zu bauen ?

Und dann hab ich noch ne blöde Frage, nach dem rum stöbern hier im Forum ist mir aufgefallen das auch öfter mal C oder C++ ins Spiel kommt.
Sind die beiden Sprachen kombinierbar und muss ich irgend wann C/C++ lernen ?

Danke noch mal :-D

Danny87 14. Jun 2007 07:46

Re: Screenshot
 
Hi,
um zB. Word2000 zu "erweitern" brauchste glaub ich VBA (Visual Basic for Applications) und das is so weit ich weiss da schon integriert.
Mit Delphi geht das meines Wissens nicht.
Was C/C++ angeht kann ich dich beruhigen. ;) Musste natürlich nicht lernen. Wirklich kompinierbar mit Delphi sind die so weit ich weiss auch nicht.
Falls du dich für so ne Sprache wie C oder C++ interessierst, kann ich dir Java sehr empfehlen.
Java vereint (meiner Meinung nach) die komplexität von C/C++, die Objektorientiertheit von C# und die Einfachheit von DelphiLanguage.
Na gut....ein Anfänger widerspricht mir da wahrscheinlich^^
Für den Anfang würd ich also an deiner Stelle bei Delphi bleiben. Is auch ne schöne Sprache ;)

Gruss
Daniel

QuickAndDirty 14. Jun 2007 08:37

Re: Screenshot
 
Also du brauchst
Delphi-Quellcode:
Procedure Screenshot;
var hdc :Thandle
    bm:timage;
Begin
  bm := Timage.create(nil);
  hdc := CreateDC('DIPSLAY',nil,nil,nil);
  bm.Width := Screen.Width;
  bm.height := Screen.height;
  Bitblt(bm.Picture.canvas.handle,0,0,screen.width,screen.height,hdc,0,0,SRCCOPY);
  bm.picture.savetofile('bla.bmp');
  bm.free;
  DeleteDC(hdc);
end;
das könnte gehen, könnten aber auch Fehler drinn sein, habs nicht getestet

Oxmyx 29. Jul 2007 18:23

Re: Screenshot
 
Zitat:

Zitat von Danny87
Java vereint (meiner Meinung nach) die komplexität von C/C++

Alles, was C++ komplex macht, fehlt doch in Java. Hat ja bald weniger Sprachumfang als Delphi. ;)

Namenloser 29. Jul 2007 18:53

Re: Screenshot
 
Hi,

es ist natürlich möglich, mit Delphi Screenshots zu erstellen und zu speichern. Und es ist soweit ich weiß auch möglich, einen Button in die Titelleiste fremder Anwendungen zu schmuggeln (es gibt Programme, z.B. Hardcopy, die das können, also muss es ja wohl irgendwie gehen)
Allerdings sind das alles recht komplexe Api-vefehle, die viel Erfahrung erfordern. Wenn du dich gerade mal seit 3 Tagen mit Delphi beschäftigst, ist es klar, dass dir diese ganzen Begriffe wie THandle, CreateDC, TBitmap.Create usw. alle noch nichts sagen, und du wirst auch mit Sicherheit nicht alle Befehle innerhalb einer Woche lernen. Das braucht schon ein paar Monate oder sogar Jahre.
Am Anfang solltest du erstmal das Buch durcharbeiten, kleinere Programme mit dem bisher Gelernten schreiben, und natürlich viel, viel ausprobieren, denn das meiste lernt man eh durch rumprobieren. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 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