Autor Beitrag
boebel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16


Delphi 7, Microsoft Visual C# 2010
BeitragVerfasst: Sa 05.11.05 18:37 
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:
ausblenden 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
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Di 08.11.05 16:20 
Hallo,

mit der Eigenschaft FilterIndex kannst Du abfragen, welcher Filter im Dilaog ausgewählt wurde:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
...
if SaveDialog1.Execute then
begin
  case SaveDialog1.FilterIndex of 
    1:ShowMessage('JPEG');
    2:ShowMessage('Bitmap');
  end; // case
end; // if

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)