Hallo
Also erstmals vorweg. Ich programmiere zwischendurch und habe nicht all zu viel Ahnung davon. Meistens sind es kleine Programme für die Firma für interne Zwecke. Den Quelltext kopiere ich mir meist zusammen und passe ihn für mein Programm an, erkundige mich in der Delphi-Hilfe und auf diversen Webseiten mit Tutorials. Leider habe ich nie wirklich Zeit mich intensiver mit Delphi zu beschäftigen, obwohl ich mich dafür interessiere. Ich hoffe Ihr helft mir trotzdem weiter.
Zu meinem Problem:
Ich habe auf dem Form ein Image1. Dazu zwei Prozeduren. Die erste speichert das Bild im Image1 als Bitmap (*.BMP) und die andere komprimiert das Bild und speichert es als JPG (*.JPG).
Wenn ich diese Prozeduren einzeln aufrufe klappt das auch.
Meine Idee ist, dass wenn der SaveDialog öffnet zwei Dateitypen (Filter von SaveDialog (bmp und jpg)) zur Auswahl stehen und je nach dem welcher Typ man auswählt, die entsprechende Prozedur ausgeführt wird.
z.B. es wird "Bitmap-Grafikdatei *.bmp" ausgewählt, wird die Prozedur für das speichern des BMP ausgeführt.
Folgendes habe ich geschrieben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); begin SaveDialog1.Filter := 'JPEG-Grafikdatei|*.jpg|Bitmap-Grafikdatei|*.bmp'; SaveDialog1.Execute; if SaveDialog1.Filter = 'JPEG-Grafikdatei|*.jpg' then savejpg; if SaveDialog1.Filter = 'Bitmap-Grafikdatei|*.bmp' then savebmp; end; |
Ich weiss das es so nicht funktionieren kann, da der Wert von Filter niemals auf einer der beiden Abfragen zutreffen wird. Oder vielleicht gibt das Fenster um zu speichern den Wert von Filter auch nicht zurück? Aber wie mache ich das richtig? Ich kann in diveresen Foren keine Beiträge finden die mir weiterhelfen.
Ich danke für Hilfe.
gruss
boebel