AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Einfügen von Prozeduren
Thema durchsuchen
Ansicht
Themen-Optionen

Einfügen von Prozeduren

Ein Thema von Cloudwalk · begonnen am 10. Apr 2008 · letzter Beitrag vom 11. Apr 2008
Antwort Antwort
Seite 2 von 2     12   
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#11

Re: Einfügen von Prozeduren

  Alt 10. Apr 2008, 21:36
[ot]
Zitat von TonyR:
Ich habe mir grad deinen Source runtergeladen und bin erschüttert ...
ich schätze die Fehleranzahl auf 30 -.-

Hast du diesen Quellcode erstellt? Wenn ja wie hast du dir das alles gedacht???

Bitte lese dir sämtliche Einsteiger Tutorials durch und versuch dich als erstes an kleinen Projekten, im Moment kann dir Keiner hier helfen.
Ach, am Anfang macht jeder Fehler. Und seitdem ich in meinem Infokurs gesehen habe, wie einer ein Struktogramm aus Labels zusammengebaut hat, und sich gewundert hat, dass es nicht funktioniert, erschüttert mich so schnell nichts mehr
[/ot]
  Mit Zitat antworten Zitat
Cloudwalk

Registriert seit: 10. Apr 2008
25 Beiträge
 
#12

Re: Einfügen von Prozeduren

  Alt 10. Apr 2008, 21:43
ich brauch nur die Fragen beantwortet, wie man die Procedur im "head" aufbaut
den Prozedurkopf schreibt und die Prozeduren dann wieder aufruft...
Daniel
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#13

Re: Einfügen von Prozeduren

  Alt 10. Apr 2008, 23:19
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;
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#14

Re: Einfügen von Prozeduren

  Alt 10. Apr 2008, 23:37
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...
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: Einfügen von Prozeduren

  Alt 11. Apr 2008, 01:19
Ich denke mal eine Fehlermeldung wird unter anderem lauten
Code:
[Pascal Fehler] : E2065 Ungenügende Forward- oder External-Deklaration: 'TForm1.Zug'
Das heißt, du hast dem Programm gesagt, dass TForm1 eine Methode names 'Zug' besitzt.
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;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 01:38 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