Re: Einfügen von Prozeduren
[ot]
Zitat:
[/ot] |
Re: Einfügen von Prozeduren
ich brauch nur die Fragen beantwortet, wie man die Procedur im "head" aufbaut
den Prozedurkopf schreibt und die Prozeduren dann wieder aufruft... |
Re: Einfügen von Prozeduren
Delphi-Quellcode:
procedure Ziehen(Zug, Wid: Integer);
begin zug := Dec(Zug); //zieht 1 ab if zug = 0 then begin if wid = 1 then begin wid := 2; spielnachricht.caption := 'Spieler 2 ist an der Reihe.'; zug := 5; end else begin wid := 1; spielnachricht.caption := 'Spieler 1 ist an der Reihe.'; zug := 5; end; end; end; procedure TForm11.Button1Click(Sender: TObject); begin Ziehen(2, 5); end; |
Re: Einfügen von Prozeduren
Grundlegendes Problem was ich sehe: Du hast eine globale Variable namens "Zug" und eine Methode namens "Zug". Diese hat auch noch ein Argument namens "Zug".
Probleme dabei: Der Compiler weiss nicht, was du nun meinst. Wenn es z.B. eine Funktion wäre, dann würde der Name Zug eine weitere Bedeutung in der Funktion bekommen: Zum zuweisen des Rückgabewertes. Dies ist zur Kompatibilität zu Turbo Pascal weiterhin möglich. Bei Argumenten schreiben viele ein Buchstaben als Präfix in den Namen, damit man erkennt, dass es ein Argument ist (meistens ein A). Auch lokale Variablen bekommen einen Präfix, da es sonst auch mit Properties etc. nicht eindeutig wäre (meist ein kleines L, für "local"). Auch würde ich dir empfehlen diese ganzen globalen Variablendeklarationen direkt in die Form zu verschieben (in den private Abschnitt). Dort nutzt man meist auch einen Präfix um diese zu unterscheiden. Borland hat dort ein kleines F genutzt ("field") und das wurde von vielen adaptiert. Naja, nur mal so als Anmerkung... |
Re: Einfügen von Prozeduren
Ich denke mal eine Fehlermeldung wird unter anderem lauten
Code:
Das heißt, du hast dem Programm gesagt, dass TForm1 eine Methode names 'Zug' besitzt.
[Pascal Fehler] : E2065 Ungenügende Forward- oder External-Deklaration: 'TForm1.Zug'
Dann mußt du natürlich diese Methode auch implementieren. 'TForm1.' hast du im Implementation-Teil vor 'Zug (...)' vergessen. Das du unter anderem auch 3 "Buffen" namens 'Zug' in deinem Code stehen hast, wurde dir ja schon nahe gelegt. Beispiel:
Delphi-Quellcode:
type
TForm1 = class(TForm) ... private ... procedure MachZug(var AZug, AWid:integer); ... public ... end; var ... gZug ... : Integer; Form1: TForm1; implementation {$R *.dfm} procedure TForm1.MachZug(var AZug,AWid:integer); begin ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 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