Forum: Object-Pascal / Delphi-Language
by Neutral General,
26. Aug 2011
Achtung!
if CheckForWin(GBuffer) then
begin
Exit;
end;
if GPlayer = 1 then
begin
i := i +1;
Label14.Caption := IntToStr(i);
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
end else
begin
ChangePlayer;
i := i+1;
Label13.Caption := IntToStr(i);
end;
Nur IntToStr(i). i ist ja dann schon um 1 größer.
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
Hallo,
Du musst i erhöhen. Nicht nur das erhöhte anzeigen:
i := i + 1; // oder inc(i);
Label13.Caption := IntToStr(i);
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
Lies was ich geschrieben habe ;)
Naja.. Wenn du gewonnen hast, setzt du (warum auch immer) das Label ja wieder auf ''
if CheckForWin(GBuffer) then
begin
Label2.Caption := ''; // <-- das muss weg
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
Das Label wird dann neu gezeichnet.
Wenn du die Caption des Labels änderst, dann wird eine Windows-Message versandt, dass das Label sich neuzeichnen soll, weil sich sein Aussehen geändert hat.
Es kann aber sein, dass die Message erst ankommt NACHDEM du angezeigt hast, dass Spieler X gewonnen hat. Also zeichnest du das Label mit Repaint manuell neu, damit es auf jeden Fall noch das O oder X...
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
Hallo,
Dann schreib mal in den OnClicks:
if IsFieldEmpty(Label2.Caption) then
begin
Label2.Caption := WriteToField(GPlayer);
Label2.Repaint; // oder: Application.ProcessMessages
MakeArray;
// Weiterer Code
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
Hallo,
Das ist der Code der hinter deinem Formular steckt :mrgreen:
Aber scheinbar liegts daran nicht. Du solltest den Hinweis von mleyen besser weiterverfolgen.
Forum: Object-Pascal / Delphi-Language
by Neutral General,
25. Aug 2011
Wenn du im Formular-Editor bist drück mal Alt+F12, den Code brauchen wir/ich.
(Mit Alt+F12 kommst du wieder zurück in die normale Ansicht)