![]() |
Image als Bedingung?
Hi Leute!
Ist es möglich, bei einer if-Schleife als Bedingung zu definieren daß ein bestimmtes Bild auf einer Canvas angezeigt wird bzw. wenn ja, wie muss mein Code lauten? Ich erhalte immer die Meldung "undeclared identifier"... |
Poste doch bitte mal den Code, welcher Dir Deine Probleme bereitet.
...:cat:... |
muss bei einer if then die bedingung nicht von boolean sein?? wenn ja, dann kann ich mir das nur schwer vorstellen. aber wenn du nicht all zu viele bilder hast kannst du doch flags setzen, und diese dann abfragen
wenn alsi image 1 angezeigt wird, dann flag1:=true und dann... if flag1 then.... vielleicht eine variante |
Delphi-Quellcode:
procedure TForm1.Image1Click(Sender: TObject);
var BitmapO: TBitmap; begin if Image1.picture = schloss zu.bmp then begin BitmapO := TBitmap.create; BitmapO.LoadFromFile('schloss offen.bmp'); Image1.Picture.LoadfromFile('schloss offen.bmp'); bild := 1; end else begin BitmapO := TBitmap.create; BitmapO.LoadFromFile('schloss zu.bmp'); Image1.Picture.LoadfromFile('schloss zu.bmp'); bild := 0; end; end; |
Stimmt, so geht es nicht :)
Delphi-Quellcode:
Nutze einfach Deine Bild Variable dafür ;)
procedure TForm1.Image1Click(Sender: TObject);
var BitmapO: TBitmap; begin if bild <> 1 then begin BitmapO := TBitmap.create; BitmapO.LoadFromFile('schloss offen.bmp'); Image1.Picture.LoadfromFile('schloss offen.bmp'); bild := 1; end else begin BitmapO := TBitmap.create; BitmapO.LoadFromFile('schloss zu.bmp'); Image1.Picture.LoadfromFile('schloss zu.bmp'); bild := 0; end; end; ...:cat:... |
Ich hab da vergessen was rauszulöschen stell ich gerade fest - die Zuweisung für die Variable "Bild" muss raus, da ich sonst im fertigen Programm 108 mal eine Variable für sowas bräuchte (und das ist ja nun wirklich nicht die "feine" Art des programmierens)
|
So hier kommt noch mal die bereinigte Version des Codes...
Delphi-Quellcode:
Das Problem ist folgendes: Bei Zeile "if Image1.picture..." kommt immer die Meldung "Undeclared identifier" - wenn ich das Bild aber so angebe wie unten kommt "Incompatible types: 'String' and 'TPicture' ". Wie muss ich das also angeben bzw. geht das so überhaupt?
procedure TForm1.Image1Click(Sender: TObject);
var BitmapO: TBitmap; begin if Image1.picture = schloss zu.bmp then begin BitmapO := TBitmap.create; BitmapO.LoadFromFile('schloss offen.bmp'); Image1.Picture.LoadfromFile('schloss offen.bmp'); end else begin BitmapO := TBitmap.create; BitmapO.LoadFromFile('schloss zu.bmp'); Image1.Picture.LoadfromFile('schloss zu.bmp') end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 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-2025 by Thomas Breitkreuz