![]() |
Verstehe Fehler nicht
Hallo,
ich probiere gerade mit savedialoge zu programmieren und ein bitmap zu speichern
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Bitmap: TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.PixelFormat:= pf1bit; Bitmap.Width:=100; Bitmap.Height:=100; bitmap.Canvas.pen.Color:=clred; bitmap.canvas.Polyline([Point(0, 0), Point(50, 0), Point(75, 50), Point(25, 50), Point(0, 0)]); if SaveDialog1.Execute then Bitmap.SaveToFile(SaveDialog1.Filename); Bitmap.Free; end; es funktioniert auch so wie ich will, aber wenn ich das "if SaveDialog1.Execute then" weglase kommt eine fehlermeldung: --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Project1.exe ist eine Exception der Klasse EFCreateError aufgetreten. Meldung: 'Datei "" kann nicht erstellt werden. Das System kann den angegebenen Pfad nicht finden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. --------------------------- OK Hilfe --------------------------- Ich verstehe nicht warum, wie kann diese if abfrage den fehler vermeiden, es kann ja nichts anders sein wenn ich die if abfrage weglasse da savedialog sowiso ausgelöst wird??? ich blick da nicht durch??? Und dann habe ich noch Fragen zu Bitmap.PixelFormat:= pf1bit; wiviel Farben entsprechen 1 und 24 bit? Wiviel bit sind 16 und 256 Farben? |
Re: Verstehe Fehler nicht
is doch logisch.
Du willst unter savedialog1.Filename speichern, aber er wurde ja gar nicht ausgeführt :shock: |
Re: Verstehe Fehler nicht
hallo,
versteh ich noch immer nicht, was wurde gar nicht ausgeführt? warum wird er ausgeführt wenn ich ein if davor gebe? |
Re: Verstehe Fehler nicht
Zitat:
Und wohin soll nun Bitmap.SaveToFile('') erfolgen? Zitat:
16 Farben = 2^4 = 4 Bit 256 Farben = 2^8 = 8 Bit |
Re: Verstehe Fehler nicht
hallo,
was bewirkt/heißt saveDialog1.Execute, und wie kann ich mit einer if abfrage etwas definieren, das versteh ich nicht...?? |
Re: Verstehe Fehler nicht
Zitat:
Zitat:
2 Bit = 4 Farben usw. 2 hoch 2 4 Bit = 16 Farben 2 hoch 4 -> 256 Farben = 2 hoch 8 also 8 Bit Es grüßt schöni |
Re: Verstehe Fehler nicht
hallo,
jetzt habs ich verstanden |
Re: Verstehe Fehler nicht
Zitat:
|
Re: Verstehe Fehler nicht
Zitat:
24 bit sind 16.777.216 Farben. Allgemein gilt: Anzahl der Farben := 2^Anzahl der Bits Dementsprechend sind 16 Farben 4 Bit und 256 Farben sind 8 Bit. Selbstverständlich brauchen Bilder mit größerer Farbtiefe auch mehr Speicher. MfG Binärbaum |
Re: Verstehe Fehler nicht
Du könntest es auch so machen... :gruebel:
Delphi-Quellcode:
if SaveDialog1.Execute then
if SaveDialog1.FileName<>'' then... |
Re: Verstehe Fehler nicht
Wenn kein Dateiname gewählt oder eingegeben wurde, läßt sichd er Dialog auch nicht mit OK schließen, womit dann aich der Rückgabewert von Execute False wäre.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr. |
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 by Thomas Breitkreuz