AGB  ·  Datenschutz  ·  Impressum  







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

Variable Timer

Ein Thema von FGD · begonnen am 16. Mai 2008 · letzter Beitrag vom 17. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
FGD

Registriert seit: 3. Apr 2008
22 Beiträge
 
Delphi 7 Personal
 
#1

Variable Timer

  Alt 16. Mai 2008, 20:22
Hoffentlich is da der richtige Threadtitel...
Delphi-Quellcode:
type Timer = Array(*[1..40]*) of TTimer;

procedure FNummerTimerstart(NR: Integer);
begin
 if Form1.RadioGroup1.itemindex =0 then
 Timer[NR].enabled := true;
 if Form1.RadioGroup1.itemindex =1 then
 begin
  Nr := Nr+10;
  Timer[NR].enabled := true;
 end;
 if Form1.RadioGroup1.itemindex =2 then
 begin
  Nr := Nr+20;
  Timer[NR].enabled := true;
 end;
 if Form1.RadioGroup1.itemindex =3 then
 begin
  Nr := Nr+30;
  Timer[NR].enabled := true;
 end;
end;
Aufgerufen zum Beispiel mit:
FNummerTimerstart(2); Ich hab mich hieran orientiert:
http://www.wer-weiss-was.de/theme159...le1957127.html
Die Timer gibts aber schon.
Zum Problem, dort werden eckige Klammern [] verwendet, bei mir gibts da eine Fehlermeldung:
Code:
[Fehler]: '(' erwartet, aber '[' gefunden
Wenn ich jetzt normale Klammern () nehme:
Code:
[Fehler]: Record, Objekt oder Klassentyp erforderlich
Was ist hier falsch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Variable Timer

  Alt 16. Mai 2008, 20:28
Das verstehe ich ehrlich gesagt nicht. Die eckigen Klammern müssten eigentlich richtig sein. Allerdings wäre es wohl besser, wenn das statt einer Prozedur eine Methode Deines Formulars wäre.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Variable Timer

  Alt 16. Mai 2008, 20:30
Hallo,

nimm "var" anstelle von "type":

var Timer: array(*[1..40]*) of TTimer; Denk auch daran, die Timer zu erzeugen.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Variable Timer

  Alt 16. Mai 2008, 20:31
Hi,

nenn den Typ mal z. B. TTimerArray. Und dann brauchst du eine Variable Timer vom Typ TTimerArray.

Mfg
FAlter
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#5

Re: Variable Timer

  Alt 16. Mai 2008, 20:32
Du hast keine Variable vom Typ Timer deklariert, sonden verwendest statt dessen den Typbezeichner, als wäre er eine.



Delphi-Quellcode:
...
var
  timers: Timer;
begin
  timers[0] := humbug;
end;
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Variable Timer

  Alt 16. Mai 2008, 20:36
Also nochmal im Ganzen:
Delphi-Quellcode:
type
  TTimerArray = array[1..10] of TTimer;
  
  TForm1 = class(TForm)
  ...
  private
    FTimerArray: TTimerArray;
  ...
  end;
Jetzt noch im OnCreate die Timer anlegen und OnDestroy wieder freigeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Variable Timer

  Alt 16. Mai 2008, 20:36
Und die Funktion kannst du auch ziemlich verkürzen:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
  private
    procedure FNummerTimerstart(NR: Integer);
  //..
  end;

implementation

procedure TForm1.FNummerTimerstart(NR: Integer);
begin
  case RadioGroup1.ItemIndex of
    1: Inc(Nr, 10);
    2: Inc(Nr, 20);
    3: Inc(Nr, 30);
  end;
  {oder:
  Inc(Nr, RadioGroup1.ItemIndex * 10);}

  Timer[NR].Enabled := True;
end;
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
FGD

Registriert seit: 3. Apr 2008
22 Beiträge
 
Delphi 7 Personal
 
#8

Re: Variable Timer

  Alt 16. Mai 2008, 21:05
Zitat von DeddyH:
Das verstehe ich ehrlich gesagt nicht. Die eckigen Klammern müssten eigentlich richtig sein. Allerdings wäre es wohl besser, wenn das statt einer Prozedur eine Methode Deines Formulars wäre.
Funktionen/Prozeduren hab ich verstanden, Methoden noch nicht.
Zitat von Matze:
Hallo,

nimm "var" anstelle von "type":

var Timer: array(*[1..40]*) of TTimer; Denk auch daran, die Timer zu erzeugen.

Grüße
und
Zitat von FAlter:
Hi,

nenn den Typ mal z. B. TTimerArray. Und dann brauchst du eine Variable Timer vom Typ TTimerArray.

Mfg
FAlter
Da gibts eine schöne Zugriffsverletzungen, obwohl die Timer bereits auf dem Formular sind oder ist das, dass Problem
Zitat von Fussball-Robby:
Und die Funktion kannst du auch ziemlich verkürzen:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
  private
    procedure FNummerTimerstart(NR: Integer);
  //..
  end;

implementation

procedure TForm1.FNummerTimerstart(NR: Integer);
begin
  case RadioGroup1.ItemIndex of
    1: Inc(Nr, 10);
    2: Inc(Nr, 20);
    3: Inc(Nr, 30);
  end;
  {oder:
  Inc(Nr, RadioGroup1.ItemIndex * 10);}

  Timer[NR].Enabled := True;
end;
Gefällt mir gut aber, auch Zugriffsverletzung
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Variable Timer

  Alt 16. Mai 2008, 21:08
Ich vermute, du hast die Timer nicht erzeugt:

Delphi-Quellcode:
for i := 0 to 39 do
begin
  Timer[i] := TTimer.Create(self);
  Timer[i].Interval := ...
  // ...
end;
Grüße

Edit: "Interval" schreibt man mit einem "l".
  Mit Zitat antworten Zitat
FGD

Registriert seit: 3. Apr 2008
22 Beiträge
 
Delphi 7 Personal
 
#10

Re: Variable Timer

  Alt 16. Mai 2008, 21:27
Die Timer sind aber auf dem Formular schon vorhanden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:04 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