Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ein SaveDialog statt 2 verwenden ? (https://www.delphipraxis.net/131217-ein-savedialog-statt-2-verwenden.html)

thomas2009 20. Mär 2009 20:35


Ein SaveDialog statt 2 verwenden ?
 
Hallo

ich habe 2 Buttons
Mit einem Button speichere ich das Bild Grau (SW)
Und mit einem Button speichere ich das Bild Farbig :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if savedialog1.Execute then
    begin
      If ExtractFileExt(SaveDialog1.Filename) = '.bmp' then
          Image1.Picture.Bitmap.PixelFormat := pf1bit;
          image1.picture.savetofile(SaveDialog1.FileName);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if savedialog2.Execute then
    begin
      If ExtractFileExt(SaveDialog2.Filename) = '.bmp' then
          Image1.Picture.Bitmap.PixelFormat := pf32bit;
          image1.picture.savetofile(SaveDialog2.FileName);
end;
end;
Nun möchte ich nur ein Button und nur ein SaveDialog verwenden. dafür muss ich den SaveDialog1.Filter so erstellen, dass ich sowohl das Bild als SW aber auch als farbig speichern kann

mkinzler 20. Mär 2009 20:37

Re: Ein SaveDialog statt 2 verwenden ?
 
Und wo ist das Problem?

Satty67 20. Mär 2009 21:02

Re: Ein SaveDialog statt 2 verwenden ?
 
Man könnte ja auch einfach mal ausprobieren was passiert wenn man SaveDialog2 entfernt und im Code immer SaveDialog1 verwendet ;)

Ich bin mir nicht sicher, was die Routinen genau erfüllen sollen (PixelFormat nur bei .bmp, speichern immer?). Mein Gefühl sagt mir, das begin gehört hinters zweite then.

€: Ok nur ein Button... woher weis das Programm, wann welches Format verwendet werden soll?

thomas2009 20. Mär 2009 21:05

Re: Ein SaveDialog statt 2 verwenden ?
 
Zitat:

Zitat von mkinzler
Und wo ist das Problem?

Mein Problem ist, wie kann ich wissen, was der Anwender gewählt hat ?
Ich wollte das über SaveDialog1.Filtername tun, leider erkennt Delphi das nicht

Satty67 20. Mär 2009 21:07

Re: Ein SaveDialog statt 2 verwenden ?
 
Du musst dem Benutzer eine Auswahlmöglichkeit geben. Also z.B. eine Checkbox unterm Button "Speichere als Schwarz/Weiß"

Dann kannst Du Checked abfragen und entsprechend PixelFormat setzen.

Bei Datei-Formaten, die beide Formate verwenden können, reicht die File-Extension nicht.

Blackheart 20. Mär 2009 21:16

Re: Ein SaveDialog statt 2 verwenden ?
 
FilterIndex

Satty67 20. Mär 2009 21:26

Re: Ein SaveDialog statt 2 verwenden ?
 
...oder so, klingt nach der besseren Variante.

thomas2009 20. Mär 2009 21:52

Re: Ein SaveDialog statt 2 verwenden ?
 
Zitat:

Zitat von Blackheart
FilterIndex

Stimmt :thumb:

sx2008 21. Mär 2009 00:45

Re: Ein SaveDialog statt 2 verwenden ?
 
Nimm doch den TSavePictureDialog; der ist speziell angepasst zum Speichern von Bildern.


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