AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zufallszahl ziehen ohne wiederholung

Offene Frage von "walli18"
Ein Thema von walli18 · begonnen am 6. Feb 2009 · letzter Beitrag vom 17. Feb 2009
Antwort Antwort
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#1

Re: Zufallszahl ziehen ohne wiederholung

  Alt 7. Feb 2009, 21:06
schöner Spaghetti-code und massig units...wozu die 3 leeren units (2-4)?
nachdem ich deine projektdatei geöffnet habe, vermute ich, dass die units auch nicht die richtigen sind (anderer Ordner).
lagere mal bitte die fragen+antworten in eine externe Datei (ini,xml,etc) aus, damit das Codesegment universeller und besser lesbarer wird.
36 Schwierigkeitsgrade? ich denke 3 reichen...ist sicher nur unglückliches benamen der variablen.

als kleiner tipp am rande...folgendes lässt sich auch entscheidend verkürzen:
Delphi-Quellcode:
      Case Loesung of
        1:begin
          Panel2.Color:=clgreen;
          Panel3.Visible:=false;
          Panel4.Visible:=false;
          Panel5.Visible:=false;
          end;
        2:begin
          Panel3.Color:=clgreen;
          Panel2.Visible:=false;
          Panel4.Visible:=false;
          Panel5.Visible:=false;
          end;
        3:begin
          Panel4.Color:=clgreen;
          Panel2.Visible:=false;
          Panel3.Visible:=false;
          Panel5.Visible:=false;
          end;
        4:begin
          Panel5.Color:=clgreen;
          Panel2.Visible:=false;
          Panel4.Visible:=false;
          Panel3.Visible:=false;
          end;
z.b. so:
Delphi-Quellcode:
var panel:TPanel
Panel2.Visible:=false;
Panel3.Visible:=false;
Panel4.Visible:=false;
Panel5.Visible:=false;
panel:=findcomponent('Panel'+IntToStr(Loesung+1));
if assigned(panel) then
begin
  panel.visible:=true;
  panel.color:=clGreen;
end;
oder
Delphi-Quellcode:
  case ZS of
    1:
    begin
      with mediaplayer1 do
      begin
        Filename:=Pfad+'\Mediendateien\richtigeAntwort\1.wav';
        mediaplayer1.Open;
        mediaplayer1.Play;
      end;
    end;
... //obiger code noch 3x und das bei jedem panelclick.
einfach so:
Delphi-Quellcode:
with mediaplayer1 do
begin
  Filename:=Pfad+'\Mediendateien\richtigeAntwort\'+IntToStr(ZS)+'.wav';
  mediaplayer1.Open;
  mediaplayer1.Play;
end;
du kannst mehreren Panels auch die gleiche Click-Prozedur zuweisen...so sparst du redundaten code...
wenn du die paar sachen machst und noch eine bessere Einrückung dann wird dein code schonmal viel besser lesbar.warum eigentlich 4 mediaplayer?

den Vergleich, ob frage schon gefragt wurde hab ich noch nicht gefunden...

Gruß Frank
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:48 Uhr.
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