![]() |
Lazarus Einarmiger Bandit
Hallo,
Ich will einen Einarmigen Bandit programmieren mit 3 Bildern. Die Bilder heißen bei mir ABild & BBild. Es muss kein Betrag sonder nur der Text Verloren oder Gewonnen im Panel2 ausgegeben werden Ich habe auf den Button geschrieben procedure TForm1.Button1Click(Sender: TObject); begin Image1.picture.loadfromfile ('ABild'); Image2.picture.loadfromfile ('ABild'); Image3.picture.loadfromfile ('ABild'); Image1.picture.loadfromfile ('BBild'); Image2.picture.loadfromfile ('BBild'); Image3.picture.loadfromfile ('BBild'); if (Image1 = Image2) AND (Image3 = Image1) then panel2.caption:=('gut') ; end; Ich habe mehere Probleme , wie bekomme ich es hin dass die Bilder gemischt werden also neu gewürfelt ? Wenn ich das Programm starte und auf den Button drücke kommt unable to load file 'ABild' Ich bin noch sehr neu & habe bis jetzt alle Aufgaben geschafft aber ich komme nicht weiter... |
AW: Lazarus Einarmiger Bandit
Bei LoadFromFile musst du den kompletten Dateinamen inkl. Pfad angeben.
Um etwas zufällig machen zu können, brauchst du den Befehl Random. |
AW: Lazarus Einarmiger Bandit
Hey willkommen im Forum!
Deine Fehlermeldung beschreibt doch schon dein erstes Problem: die procedure loadfromfile erwartet as Argument einen Dateinamen. Dein Quelltext wäre richtig, wenn dein Bild tatsächlich "ABild" heißt (ohne Dateiendung) und sich im Ordner befindet, wo auch die ausführbare Echse hinkompiliert wird. Such mal die Dateiendung und versuch die Bilder richtig einzulesen. Zweites Problem ist die if-Abfrage. Ein Image ist ein VCL Objekt, so wie ein Button, ein Edit-Feld, oder eine Memo. Du hast zwei Bilder auf deinem Formular und mit der If-Abfrage prüfst du, ob Image1 identisch mit Image2 ist, was immer false zurückliefern wird. Stell es dir zunächst vielleicht mal wie 2 Bilderrahmen vor (ein roter und ein blauer), wo du Bilder "reinladen" kannst. Die zwei Rahmen sind nicht identisch, auch wenn identische Bilder eingeladen sind. Am besten definierst du dir eine zusätzliche Variable BildIndex1, BildIndex2: integer, die mit ganzen Zahlen speichert, ob ABild (z.B. = 0) oder BBild (z.B. = 1) in image1 bzw. image2 geladen worden ist. Dann wäre deine if Abfrage: if BildIndex1= BildIndex2 then.... Um zufällige Bilder in deine Images einzuladen, guck dir mal den Befehl random an. Besten Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 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