Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildschirm unter einem gewünschten Namen kopieren (https://www.delphipraxis.net/100789-bildschirm-unter-einem-gewuenschten-namen-kopieren.html)

taktaky 3. Okt 2007 23:53


Bildschirm unter einem gewünschten Namen kopieren
 
Hallo,

mit dem Code kann man den Bildschirm kopieren
ich möchte aber den namen vom Bild jedes mal bestimmen statt ein konstanter Name
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
const
  FileName = '.\test.jpg';
//ich möchte aber so : FileName = Edit1.text;
// es wird leider nicht akzeptiert !!!
  JpgQuality = 98; // 1..100
var
  DeskHdC : Longint;
  JpgImg: TJPEGImage;
  BmpImg: TBitmap;
begin
  JpgImg := TJPEGImage.Create;
  BmpImg := TBitmap.Create;
  try
    DeskHdc := GetDC(GetDesktopWindow);
    BmpImg.Height := Screen.Height;
    BmpImg.Width := Screen.Width;

    BitBlt(BmpImg.Canvas.Handle,
           0,
           0,
           Screen.Width,
           Screen.Height,
           DeskHdc,
           0,
           0,
           SRCCOPY);

    JpgImg.Assign(BmpImg);

    if FileExists(FileName) then DeleteFile(FileName);

    JpgImg.CompressionQuality := JpgQuality;
    JpgImg.SaveToFile(FileName);

    //Previewimage
    Image1.Picture.Assign(BmpImg);
  finally
    JpgImg.Free;
    BmpImg.Free;
  end;
end;
Ich möchte also den Namen Bild-namen in Edit1.Text eingeben
warum geht es nicht ?!
Statt FileName = '.\test.jpg';
soll so : FileName = Edit1.text;

Billi Berserker 4. Okt 2007 00:06

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Das meinst du jetzt nicht ernst oder? :wall:

ich empfehle dir drigends dir irgendwie auch nur ansatzweise grundlegende Programmierkentnisse anzueignen.
http://www.dsdt.info/grundlagen/sprache/
http://www.dsdt.info/tutorials/crashkurs/?page=3

was du hier betreibst ist übelstes copy/paste von Quellcode den du sonstwo findest ohne auch nur ansatzweise zu verstehen was du eigentlich machst.


Schau dir den Quellcode mal ein wenig an, denk drüber nach und dann siehst du sofort die Lösung.
Warum du den Wert aus Edit1.Text nicht auf FileName zuweisen kannst sagt dir das Fettgedruckte Wort in der zweiten Zeile...

taktaky 4. Okt 2007 00:14

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Zitat:

Zitat von Billi Berserker
Warum du den Wert aus Edit1.Text nicht auf FileName zuweisen kannst sagt dir das Fettgedruckte Wort in der zweiten Zeile...

Ich möchte den Teil die Konstant ".\test.jpg" natürlich in Edit1.Text eingeben

Ist das ein Problem?

Oder soll ich den Teil von Const zu Var ändern ?

Billi Berserker 4. Okt 2007 00:20

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Konstanten haben die Eigenschaft das man sie im Normalfall zur Laufzeit nicht mehr ändern kann... (wo wäre sonst der Unterschied zu Variablen?)
Was du also brauchst ist eine Variable auf die du den Wert von Edit1.Text zuweise kannst...

denk mal drüber nach...

Mackhack 4. Okt 2007 00:29

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Zitat:

Zitat von taktaky
Zitat:

Zitat von Billi Berserker
Warum du den Wert aus Edit1.Text nicht auf FileName zuweisen kannst sagt dir das Fettgedruckte Wort in der zweiten Zeile...

Ich möchte den Teil die Konstant ".\test.jpg" natürlich in Edit1.Text eingeben

Ist das ein Problem?

Oder soll ich den Teil von Const zu Var ändern ?

Wie waere es mit FileName := Edit1.Text?

Vlt. auch mal den Cursor auf Const setzen und F1 druecken zur Abwechslung mal was anderes als CTRL+C und CTRL+V :twisted:

taktaky 4. Okt 2007 00:33

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Zitat:

Zitat von Mackhack

Wie waere es mit FileName := Edit1.Text?

Das habe ich gemacht ohne Erfolg !

ich habe auch versucht Filename als lokale variable zu deklarieren :
var FileName : Edit1.Text; auch geht nicht !

Billi Berserker 4. Okt 2007 00:39

Re: Bildschirm unter einem gewünschten Namen kopieren
 
lesen soll helfen... :wall:

das ist so eine echt Grundlegende sache, ich bitte darum das NIEMAND die fertige lösung postet.
Wenn du das nicht selber hinbekommst solltest du es komplett sein lassen.

taktaky 4. Okt 2007 00:48

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Zitat:

Zitat von Billi Berserker
lesen soll helfen... :wall:

das ist so eine echt Grundlegende sache, ich bitte darum das NIEMAND die fertige lösung postet.
Wenn du das nicht selber hinbekommst solltest du es komplett sein lassen.

Du hast Recht :mrgreen:
Nun habe ich den Teil so geändert:
Delphi-Quellcode:

var Filename: String;
...
begin
filename:=Edit1.Text
...
Dann funktioniert

Danke!

DeddyH 4. Okt 2007 07:15

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Na also, geht doch. :mrgreen:

taktaky 4. Okt 2007 09:47

Re: Bildschirm unter einem gewünschten Namen kopieren
 
Zitat:

Zitat von DeddyH
Na also, geht doch. :mrgreen:

Das war gegen 02:00 morgen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.
Seite 1 von 2  1 2      

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