AGB  ·  Datenschutz  ·  Impressum  







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

Procedure vereinfachen.

Ein Thema von ferby · begonnen am 25. Sep 2004 · letzter Beitrag vom 25. Sep 2004
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Procedure vereinfachen.

  Alt 25. Sep 2004, 16:37
Hallo,

Ich habe jetzt ein Programm bald vertig und versuche einige Teile zu verkürzen/vereinfachen.

Z.B: diese TRadioGroup:

Delphi-Quellcode:
procedure TForm1.levelladenmenueClick(Sender: TObject);
begin
  case levelladenmenue.itemindex of
    0: begin
          level:=1;
          spieltimer.enabled:=true;
          levelladenmenue.Visible:=false;
          hauptlabel1.caption:='';
          status:='ladelevel';
        end;

    1: begin
          if levelladenmenue.Items[1]<>'<Level noch nicht verfügbar>then
          begin
            level:=2;
            spieltimer.enabled:=true;
            levelladenmenue.Visible:=false;
            hauptlabel1.caption:='';
            status:='ladelevel';
          end;
        end;

    2: begin
          if levelladenmenue.Items[2]<>'<Level noch nicht verfügbar>then
          begin
            level:=3;
            spieltimer.enabled:=true;
            levelladenmenue.Visible:=false;
            hauptlabel1.caption:='';
            status:='ladelevel';
          end;
        end;

    3: begin
          if levelladenmenue.Items[3]<>'<Level noch nicht verfügbar>then
          begin
            level:=4;
            spieltimer.enabled:=true;
            levelladenmenue.Visible:=false;
            hauptlabel1.caption:='';
            status:='ladelevel';
          end;
        end;

    4: begin
          if levelladenmenue.Items[4]<>'<Level noch nicht verfügbar>then
          begin
            level:=5;
            spieltimer.enabled:=true;
            levelladenmenue.Visible:=false;
            hauptlabel1.caption:='';
            status:='ladelevel';
          end;
        end;
  end;
end;

Ich habe mehrere Sachen versucht um dieses Procedure zu vereinfachen aber jedesmal stoße ich an ein anderes Problemm.
Wisst ihr eine vereinfachung die 100% das selbe macht wie meine Version?

[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:42
Die Stelle
Delphi-Quellcode:
spieltimer.enabled:=true;
levelladenmenue.Visible:=false;
hauptlabel1.caption:='';
status:='ladelevel';
ist doch überall gleich, warum ist die in der case-Anweisung drinnne?

Dann: Mach dir doch eine Prozedur:

Delphi-Quellcode:
procedure TForm1.LoadLevel(Index: Integer);
begin
  level := Index;
  spieltimer.enabled := true;
  levelladenmenue.Visible := false;
  hauptlabel1.caption := '';
  status := 'ladelevel';
end;

procedure TForm1.ButtonOnClick(Sender: TObject);
begin
  if levelladenmenue.Items[levelademenu.ItemIndex] <>
    '<Level noch nicht verfügbar>then
    LoadLevel(levellademenue.ItemIndex);
end;
Ungetestet und ohne detailierte Infos würde ich es so machen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:43
Delphi-Quellcode:
procedure TForm1.levelladenmenueClick(Sender: TObject);
var levelOK : Boolean;
begin
  levelOK := levelladenmenue.itemindex = 0;
  if levelladenmenue.itemindex > 0 then
    levelOK := levelladenmenue.Items[levelladenmenue.itemindex]<>'<Level noch nicht verfügbar>' ;
  if levelOK then begin
          level:=levelladenmenue.itemindex+1;
          spieltimer.enabled:=true;
          levelladenmenue.Visible:=false;
          hauptlabel1.caption:='';
          status:='ladelevel';
        end;
end;
sollte eigentlich funktionieren
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#4

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:48
Hallo

Zu Luckie:

Es könnte sein das if levelladenmenue.Items[4]<>'<Level noch nicht verfügbar>' (nicht) zutrifft, deshalb steht es in jeder case anweisung.



Zu Gruber_Hans_12345:

Werde ich mal ausprobieren.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:50
Ich habe es gerade noch etwas vereinfacht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:50
Hallo,

funktioniert, danke!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:51
Zitat von ferby:
funktioniert, danke!
Welche Version meinst du jetzt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#8

Re: Procedure vereinfachen.

  Alt 25. Sep 2004, 16:54
Hallo,

die von Gruber_Hans_12345 habe ich gemeint, deine geht aber auch
danke!
  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 09:06 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