Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler ind er Procedure? (https://www.delphipraxis.net/14155-fehler-ind-er-procedure.html)

Deven 3. Jan 2004 15:20


Fehler ind er Procedure?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen!

Also ich weiß nicht mehr weiter :(
Ich habe alles gechecked und überlegt aber ich versteh es einfach nicht!

Ich habe (wie wohl schon alle wissen) ein memory programmiert und bin nun an einem Button dran der
Neu-Mischen heissen soll

Das heisst das den Image Feldern auf den Dyn. generierten Panels per zufall neue Motive bzw. andere motive zugeordnet werden soll und man dann neu anfangen kann zu spielen.

Jetzt habe ich mir gedacht ich nehme den Quellcode vom Button wo man auf Neu klickt und die Panels etc neu erstellt werden und tausche den teil wo sie neu generiert werden aus, gegen den teil wo ich das mit der neuen motivzuordnung programmiert habe

Nun geht das auch soweit allerdings nur einmal und wenn mann dann nochmal auf neu mischen klickt nimmt er die ersten beiden panels einfach so weg egal ob es die gleichen motive sind oder nicht ..

und ich weiß einfach nicht mehr warum :(


Vielleicht findet ihr ja durch mein gewirr von quellcode
und findet auch den fehler warum das ganze nicht geht =(
Hier findet ihr auch das ganze projekt als zip

http://www.uo-online.de/memory.zip

Danke!

Edit:

Auf wunsch von Sakura habe ich den quellcode mal angehängt als txt :)

toms 3. Jan 2004 15:32

Re: Fehler ind er Procedure?
 
Sorry, aber dein Code ist sehr unübersichtlich.

Ich würde in der Delphi Hilfe mal das Stichwort Array nachschlagen.
Dann kannst du die Variablen use1 bis use33 über ein Array deklarieren.
Es wird dann alles sehr viel einfacher, kürzer, übersichtlicher.

Auch würde ich in der Delphi Hilfe mal das Stichwort FindComponent nachschlagen.

Auch kannst du deine Case Statements vereinfachen.
Z.B anstatt

Delphi-Quellcode:
 Case i Of
           8: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          16: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          24: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          32: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          40: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          48: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          56: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
          64: begin
              Inc(links,verschiebung);
              oben := 10;
              end;
kannst du

Delphi-Quellcode:
 
  Case i Of 8, 16, 24, 32, 40,48,56,64:
  begin
    Inc(links,verschiebung);
    oben := 10;
  end;
schreiben.

Deven 3. Jan 2004 15:46

Re: Fehler ind er Procedure?
 
das ist ja nett das du mir da ratschläge gibst, die mir übersicht geben :)

Aber das ist ja net das problem :)

Ich finde mich ja zurecht nur das problem halt nicht :(

himitsu 3. Jan 2004 15:56

Re: Fehler ind er Procedure?
 
...

himitsu 3. Jan 2004 16:06

Re: Fehler ind er Procedure?
 
wieder entfernt

Christian Seehase 3. Jan 2004 17:07

Re: Fehler ind er Procedure?
 
Moin Deven,

nur:
Wenn der Code übersichtlicher ist, kann man ihn leichter nachvollziehen, und somit leichter Fehler finden.

BTW:
Bitte solche langen Codeabschnitte künftig als Attachement anhängen, und nicht direkt im Beitrag einfügen.
Danke.

Deven 3. Jan 2004 20:15

Re: Fehler ind er Procedure?
 
@Seehase

Das ist ja alles schön und gut :)

Und ich geb dir auch recht das es einfacher wäre, aber ich arbeite immer damit was ich kann
und wenn ich den Code nicht übersichtlicher machen kann von meinem können her, was soll ich dann machen?

Und als Attachment habe ich es doch sofort nach Sakuras aufruf drangehängt ...

Im übrigen habe ich das Problem dann doch selber gefunden 8)

Und für den, den es interessiert

Es lag daran das ich beim Neu-Mischen button eine procedure aus dem erstellen der karten verwendet habe und diese den Tagwert, welchen ich zum unterscheiden der motive verwende, immer dem panel zuordnet, welches eben erstellt wurde (MyPanel)

Somit wurde dem letzten erstellten Panel der Tag des zuletzt vergebenen images zugewiesen und alle anderen Tags blieben gleich.

Christian Seehase 4. Jan 2004 01:46

Re: Fehler ind er Procedure?
 
Moin Deven,

zwischen klicken des Antwort Buttons und absendens der Nachricht ist ein wenig Zeit vergangen gewesen, sorry. :oops:

Zitat:

Zitat von Deven
und wenn ich den Code nicht übersichtlicher machen kann von meinem können her, was soll ich dann machen?

Schau Dir einfach mal die Vorschläge zur Vereinfachung in Ruhe an.
Anschliessend kannst Du dann einfach mal versuchen es nachzuvollziehen, bzw. umzusetzen.
Lernen kannst Du es ja bestimmt, und niemand ist mit dem Wissen, was er (oder sie) hat auf die Welt gekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 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