AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verstehe Fehler nicht

Ein Thema von ferby · begonnen am 2. Mär 2005 · letzter Beitrag vom 2. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Verstehe Fehler nicht

  Alt 2. Mär 2005, 21:53
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?
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#2

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 21:58
is doch logisch.
Du willst unter savedialog1.Filename speichern, aber er wurde ja gar nicht ausgeführt
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 21:59
hallo,

versteh ich noch immer nicht,
was wurde gar nicht ausgeführt?
warum wird er ausgeführt wenn ich ein if davor gebe?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:00
Zitat von ferby:
es funktioniert auch so wie ich will, aber wenn ich das "if SaveDialog1.Execute then" weglase kommt eine fehlermeldung:
Wenn Du SaveDialog1.Execute wegläßt (also den Dialog nicht anzeigst) ist ja SaveDialog.FileName undefiniert (vermutlich leer).
Und wohin soll nun Bitmap.SaveToFile('') erfolgen?

Zitat von ferby:
Und dann habe ich noch Fragen zu
Bitmap.PixelFormat:= pf1bit;

wiviel Farben entsprechen 1 und 24 bit?
Wiviel bit sind 16 und 256 Farben?
1 Bit = 2 Farben (Schwarz und Weiß)
16 Farben = 2^4 = 4 Bit
256 Farben = 2^8 = 8 Bit
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#5

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:03
hallo,


was bewirkt/heißt saveDialog1.Execute, und wie kann ich mit einer if abfrage etwas definieren, das versteh ich nicht...??
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#6

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:09
Zitat von ferby:
es funktioniert auch so wie ich will, aber wenn ich das "if SaveDialog1.Execute then" weglase kommt eine fehlermeldung:
Die Fehlermeldung kommt, weil in der Execute - Methode (als Funktion implementiert->mit Boolschem Rückgabewert) das Erzeugen des Dialogs und die Einstellung des Dateinamen per Auswahl in der Listview des Dialoges steckt. Wenn alles geklappt hat, d.h. die Datei auf der Platte gefunden wurde, fehlerfrei von der Platte gelesen werden konnte, dann wird der Name der Eigenschaft FileName zugewiesen und als Funktionsergebnis TRUE zurückgegeben. Dann und nur dann kannst Du Dich auch drauf verlassen, das mit SaveDialog.Filename auch ein gültiger Dateiname übergeben wird.

Zitat von ferby:
wiviel Farben entsprechen 1 und 24 bit?
Wiviel bit sind 16 und 256 Farben?
1 Bit = 2 Farben (Schwarz und Weiß) 2 hoch 1
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
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#7

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:14
hallo,


jetzt habs ich verstanden
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:16
Zitat von schöni:
fehlerfrei von der Platte gelesen werden konnte, dann wird der Name der Eigenschaft FileName zugewiesen und als Funktionsergebnis TRUE zurückgegeben.
Der Dialog liest nichts von der Festplatte. Er gibt nur den ausgewählten Dateinamen in der Eigenschaft Filename zurück.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:16
Zitat von ferby:
Und dann habe ich noch Fragen zu
Bitmap.PixelFormat:= pf1bit;

wiviel Farben entsprechen 1 und 24 bit?
Wiviel bit sind 16 und 256 Farben?
Ein Bit sind zwei Farben (meist schwarz und weiß), auch monochrom genannt.
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
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Verstehe Fehler nicht

  Alt 2. Mär 2005, 22:58
Du könntest es auch so machen...
Delphi-Quellcode:
 if SaveDialog1.Execute then
        if SaveDialog1.FileName<>'then...
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 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