AGB  ·  Datenschutz  ·  Impressum  







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

case geht nich ?!?

Ein Thema von passsy · begonnen am 10. Feb 2007 · letzter Beitrag vom 11. Feb 2007
Antwort Antwort
Seite 1 von 3  1 23      
passsy

Registriert seit: 1. Jan 2007
124 Beiträge
 
#1

case geht nich ?!?

  Alt 10. Feb 2007, 19:20
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 var i:integer;
 begin
 inc(i);
 case i of
 1:timer2.Enabled:=true;
 2:timer3.Enabled:=true;
 3:timer4.Enabled:=true;
 4:timer5.Enabled:=true;
 5:showmessage('test');
 6:timer1.Enabled:=false;
 end;
  
 end;
sieht ja ganz schön aus aber geht nich woran liegts?
Pascal
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:21
i hat am anfang einen unbestimmten Wert beispielsweise 767567576, du musst die variable initialisieren.

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:23
Moin Pascal,

"geht nicht" hat ja nicht wirklich Aussagekraft, aber:

Du verwendest eine lokale Variable, die nicht einmal initialisiert wird, also einen Zufallswert enthält.
Initialsierung nutzt Dir aber auch nichts, da der Wert nach dem verlassen der Routine verworfen wird.
Du müsstest die also woanders unterbringen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#4

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:26
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
  var i:integer;
  begin
    inc(i);
    case i of
      1..4: timer5.Enabled:=true;
      5: showmessage('test');
      6: timer1.Enabled:=false;
    end;
  end;
end;
Hättest deinen Code etwas strukturiert, wäre dir das fehlende "end" sofort ins Auge gesprungen
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
passsy

Registriert seit: 1. Jan 2007
124 Beiträge
 
#5

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:28
ah ok danke leute ich habs dann gelöst.

ich hab gedacht das n integer am anfang immer 0 is naja bin ja noch nich so lang dabei^^


das end hab ich nur vergessen rein zu kopieren^^
Pascal
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#6

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:30
Zitat von leddl:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
  var i:integer;
  begin
    inc(i);
    case i of
      1..4: timer5.Enabled:=true;
      5: showmessage('test');
      6: timer1.Enabled:=false;
    end;
  end;
end;
Hättest deinen Code etwas strukturiert, wäre dir das fehlende "end" sofort ins Auge gesprungen
Haettest du die Einrueckung nich so verplant, haettest du auch nicht solch *fieps* geschrieben


greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#7

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:30
leddl, schau dir deinen Code mal bitte genauer an, du hast ein end zuviel !

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#8

Re: case geht nich ?!?

  Alt 10. Feb 2007, 19:35
Man sollte nach zuviel Java-Programmierung nich mal kurz zwischen Dusche und Essen ne Antwort zu ner Delphi-Frage schreiben
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: case geht nich ?!?

  Alt 10. Feb 2007, 23:28
Moin Pascal,

Zitat von passsy:
ich hab gedacht das n integer am anfang immer 0 is naja bin ja noch nich so lang dabei^^
das dem nicht so ist, weisst Du ja jetzt

Aber mit einer lokalen Variable kannst Du das Problem auch nicht lösen, wenn Du sie initialisierst...
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: case geht nich ?!?

  Alt 10. Feb 2007, 23:52
Also passy, wenn du i zu anfang der Prozedur auf 0 setzt, dann kann ich dir für jeden Aufruf der Funktion vorraus sagen, dass er machen wird ... Und zwar immer "timer5.enabled := true"

@ leddl, aber was ist dann mit dem switch
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 13:05 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