Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi problem beim vergleichen von Karten --- Gewinner ermitteln (https://www.delphipraxis.net/146838-problem-beim-vergleichen-von-karten-gewinner-ermitteln.html)

Fussel9 31. Jan 2010 17:10

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
wieso geht das nochmal nicht? Hatte den fehler glaub ich schonmal... aber weiß es nicht mehr das ist meine zweite Form ... der ''Debuger''

Delphi-Quellcode:
unit UDeb;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, UKartenliste, UKarte;

type
  TFDeb = class(TForm)
    MKartenliste: TMemo;
    MHandListen: TMemo;
    MProtokoll: TMemo;
    procedure FormCreate(Kliste,Hand,G1Hand,G2Hand: TKartenliste; Sender: TObject);
  private
    {LT}
  public
    procedure updateview(Kliste,Hand,G1Hand,G2Hand: TKartenliste);
  end;

var
  FDeb: TFDeb;

implementation

{$R *.dfm}

procedure TFDeb.FormCreate(Kliste,Hand,G1Hand,G2Hand: TKartenliste; Sender: TObject);
begin
  updateview(Kliste,Hand,G2Hand,G2Hand);
end;

procedure TFDeb.updateview(Kliste,Hand,G1Hand,G2Hand: TKartenliste);
Var Hilf,HandHilf,G1Hilf,G2Hilf: TKarte;
begin
hilf:=TKarte.create(nil);
HandHilf:=TKarte.create(nil);
G1Hilf:=TKarte.create(nil);
G2Hilf:=TKarte.create(nil);
MessageDLG('Der Debuger wird erneuert!',mtWarning,[mbYes],0);
hilf:=Kliste.GibAktuelles;
Kliste.toFirst;
MKartenliste.Lines.Add('## Karten: ##');
while not (Kliste.GibAktuelles = Kliste.GibLetztes) do
  begin
    if (Kliste.GibAktuelles = hilf) then
      begin
        MKartenliste.Lines.add(IntToStr(Kliste.GibAktuelles.GibInhalt.GibZahl)+' '
                          +Kliste.GibAktuelles.GibInhalt.GibFarbe+' '
                          +Kliste.GibAktuelles.GibInhalt.GibPfad+'<--');
      end
    else
      begin
        MKartenliste.Lines.add(IntToStr(Kliste.GibAktuelles.GibInhalt.GibZahl)+' '
                          +Kliste.GibAktuelles.GibInhalt.GibFarbe+' '
                          +Kliste.GibAktuelles.GibInhalt.GibPfad);
      end;
    Kliste.Next;
  end;
HandHilf:=Hand.GibAktuelles;
Hand.toFirst;
G1Hilf:=G1Hand.GibAktuelles;
G1Hand.toFirst;
G2Hilf:=G2Hand.GibAktuelles;
G2Hand.toFirst;
MHandListen.Lines.Add('## HAND: ##');
while not (Hand.GibAktuelles = Hand.GibLetztes) do
  begin
    if (Hand.GibAktuelles = HandHilf) then
      begin
        MHandListen.Lines.add(IntToStr(Hand.GibAktuelles.GibInhalt.GibZahl)+' '
                              +Hand.GibAktuelles.GibInhalt.GibFarbe+' '
                              +Hand.GibAktuelles.GibInhalt.GibPfad+'<--');
      end
    else
      begin
        MHandListen.Lines.add(IntToStr(Hand.GibAktuelles.GibInhalt.GibZahl)+' '
                              +Hand.GibAktuelles.GibInhalt.GibFarbe+' '
                              +Hand.GibAktuelles.GibInhalt.GibPfad);

      end;
    Hand.Next;
  end;
MHandListen.Lines.Add('## G1HAND: ##');
while not (G1Hand.GibAktuelles = G1Hand.GibLetztes) do
  begin
    if (G1Hand.GibAktuelles = G1Hilf) then
      begin
        MHandListen.Lines.add(IntToStr(G1Hand.GibAktuelles.GibInhalt.GibZahl)+' '
                              +G1Hand.GibAktuelles.GibInhalt.GibFarbe+' '
                              +G1Hand.GibAktuelles.GibInhalt.GibPfad+'<--');
      end
    else
      begin
        MHandListen.Lines.add(IntToStr(G1Hand.GibAktuelles.GibInhalt.GibZahl)+' '
                              +G1Hand.GibAktuelles.GibInhalt.GibFarbe+' '
                              +G1Hand.GibAktuelles.GibInhalt.GibPfad);

      end;
    G1Hand.Next;
  end;
MHandListen.Lines.Add('## G2HAND: ##');
while not (G2Hand.GibAktuelles = G2Hand.GibLetztes) do
  begin
    if (G2Hand.GibAktuelles = G2Hilf) then
      begin
        MHandListen.Lines.add(IntToStr(G2Hand.GibAktuelles.GibInhalt.GibZahl)+' '
                              +G2Hand.GibAktuelles.GibInhalt.GibFarbe+' '
                              +G2Hand.GibAktuelles.GibInhalt.GibPfad+'<--');
      end
    else
      begin
        MHandListen.Lines.add(IntToStr(G2Hand.GibAktuelles.GibInhalt.GibZahl)+' '
                              +G2Hand.GibAktuelles.GibInhalt.GibFarbe+' '
                              +G2Hand.GibAktuelles.GibInhalt.GibPfad);

      end;
    G2Hand.Next;
  end;
Kliste.SetzeAktuelles(Hilf);
Hand.SetzeAktuelles(HandHilf);
G1Hand.SetzeAktuelles(G1Hilf);
G2Hand.SetzeAktuelles(G2Hilf);
end;

end.
@Freak4Fun...ich gucks mir mal an... is nur im moment schlecht...wegen der AccesViolation oben fliegt mir gerade das ganze programm um die ohren^^


der fliegt bei hilf:=Kliste.GibAktuelles; raus...


€dit:

Anhang

freak4fun 31. Jan 2010 17:13

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
Kannst du das als Datei anhängen, damit ich das in mein lokales Projekt mit einfügen kann?

Fussel9 31. Jan 2010 17:20

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
hier am besten nochmal das komplette packet wies jetzt aussieht...

freak4fun 31. Jan 2010 17:35

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
Beim Aufruf von
Delphi-Quellcode:
Debug.updateview(Kliste,Hand,G1Hand,G2Hand);
in
Delphi-Quellcode:
procedure TFormMain.FormCreate(Sender: TObject);
ist KListe, Hand usw. nil, da sie erst später im FormCreate erzeugt werden. ;)

Fussel9 31. Jan 2010 18:10

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
DANKE

da wär ich echt nich drauf gekommen :thumb:

man ich sollte mal was gegen dieses brett vor meinem kopf tun... :mrgreen:

so jetzt müsste man aber doch irgendwo was erkennen... :searching:

Fussel9 31. Jan 2010 18:25

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
ok... also in der zweiten runde wirds komisch, da gibt er nämlich nicht nur einen sondern gleich zwei gewinner aus...

freak4fun 31. Jan 2010 18:37

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
Zitat:

Zitat von Fussel9
ok... also in der zweiten runde wirds komisch, da gibt er nämlich nicht nur einen sondern gleich zwei gewinner aus...

Wenn wir weiter zusammen arbeiten wollen halte dich bitte an die Forenregeln. :)
Das bedeutet keine Doppelposts (pushen). Außerdem wünsche ich mir von dir etwas aussagekräftigere Posts. :D

Das würde mich sehr freuen. :mrgreen:

Fussel9 31. Jan 2010 19:24

Re: problem beim vergleichen von Karten --- Gewinner ermitte
 
Ok ich habs jetzt !

In der ersten Runde haben die Gegner ihre letzte Karte ausgespielt während sie in der zweiten dritten ect.
Runde immer ihre letzte karte ausgespielt habe ... zu sehn mit dem selbst gebastelten debugger... also war die ganze zeit gar kein wirklich er fehler da... omg... :roll:
:pale:

Aber Danke an alle die zur Lösung beigetragen haben und euch allen noch einen schönen verdienten Feierabend :wink: :cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.
Seite 4 von 4   « Erste     234   

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