AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Timerabruf (Timer2) bei Timerablauf (Timer1)
Thema durchsuchen
Ansicht
Themen-Optionen

Timerabruf (Timer2) bei Timerablauf (Timer1)

Offene Frage von "Svenkan"
Ein Thema von Svenkan · begonnen am 19. Mai 2007 · letzter Beitrag vom 21. Mai 2007
 
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Timerabruf (Timer2) bei Timerablauf (Timer1)

  Alt 19. Mai 2007, 17:20
Reload-Prozedur

Delphi-Quellcode:
procedure TForm2.TimerReloadTimer(Sender: TObject);
var
   Ini: TIniFile;
   y,ya,i,ia,count,count2,counta,countb,ReloadTime,dnr:integer;
   morgen_m: String;
   tomorrow,today: TDateTime;
begin
  dnr:=DayOfWeek(Date);
  if dnr=7 then begin
   today:=Date+2;
   tomorrow:=Date+3;
  end
  else if dnr=6 then begin
   today:=Date+3;
   tomorrow:=Date+4;
  end
  else begin
   today:=Date;
   tomorrow:=Date+1;
  end;

 try
    Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'conf.ini');
    ReloadTime:=(Ini.ReadInteger('Zeiteinstellungen','Tagwechsel',10)*1000);
    morgen_m:=Ini.ReadString('Zeiteinstellungen','Datum morgen',DatetoStr(tomorrow));
    if StrToDate(morgen_m)<tomorrow then morgen_m:=DateToStr(tomorrow)
    else tomorrow:=StrToDate(morgen_m);
  finally
    Ini.Free;
  end;

  if PageControl1.TabIndex=0 then begin
   Label5.Caption:='Vertretungsplan für den';
   Label6.Caption:=DateToStr(today)+' (heute)';
  end
  else if PageControl1.TabIndex=1 then begin
   Label5.Caption:='Vertretungsplan für den';
   Label6.Caption:=DatetoStr(tomorrow);
  end
  else begin
   Label5.Caption:='Meldungen';
   Label6.Caption:='';
  end;

  TimerReload.Interval:=ReloadTime;

 if PageControl1.TabIndex=0 then begin

  if aktuseite = Gesseiten then
    count := length(Daten) mod 19
  else
    count := 19;
  y:= 19*AktuSeite;
  stringgrid1.RowCount:=count+1;
  for i:=0 to count-1 do begin
    stringgrid1.Cells[0,i+1]:= Daten[i+y].klasse;
    stringgrid1.Cells[1,i+1]:= Daten[i+y].stunde;
    stringgrid1.Cells[2,i+1]:= Daten[i+y].fuer;
    stringgrid1.Cells[3,i+1]:= Daten[i+y].wer;
    stringgrid1.Cells[4,i+1]:= Daten[i+y].fach;
    stringgrid1.Cells[5,i+1]:= Daten[i+y].raum;
    stringgrid1.Cells[6,i+1]:= Daten[i+y].bemerkung;
  end;

  if AktuSeite = GesSeiten then
    AktuSeite := 0
  else
    AktuSeite:=AktuSeite+1;
 end
 else if PageControl1.TabIndex=1 then begin

  if aktuseitea = Gesseitena then
    counta := length(Daten2) mod 19
  else
    counta := 19;
  ya:= 19*AktuSeitea;

  stringgrid2.RowCount:=counta+1;
  for ia:=0 to counta-1 do begin
    stringgrid2.Cells[0,ia+1]:= Daten2[ia+ya].klasse;
    stringgrid2.Cells[1,ia+1]:= Daten2[ia+ya].stunde;
    stringgrid2.Cells[3,ia+1]:= Daten2[ia+ya].fuer;
    stringgrid2.Cells[2,ia+1]:= Daten2[ia+ya].wer;
    stringgrid2.Cells[4,ia+1]:= Daten2[ia+ya].fach;
    stringgrid2.Cells[5,ia+1]:= Daten2[ia+ya].raum;
    stringgrid2.Cells[6,ia+1]:= Daten2[ia+ya].bemerkung;
  end;

  if AktuSeitea = GesSeitena then
    AktuSeitea := 0
  else
    AktuSeitea:=AktuSeitea+1;
 end;

TimerNextTab.Enabled:=True;
end;
NextTab-Timer:

Delphi-Quellcode:
procedure TForm2.TimerNextTabTimer(Sender: TObject);
var Ini: TIniFile;
    dnr,interval: Integer;
    morgen_m: String;
    tomorrow,today: TDateTime;
begin
  dnr:=DayOfWeek(Date);
  if dnr=7 then begin
   today:=Date+2;
   tomorrow:=Date+3;
  end
  else if dnr=6 then begin
   today:=Date+3;
   tomorrow:=Date+4;
  end
  else begin
   today:=Date;
   tomorrow:=Date+1;
  end;

 try
    Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'conf.ini');
    interval:=(Ini.ReadInteger('Zeiteinstellungen','Tagwechsel',10)*1000);
    morgen_m:=Ini.ReadString('Zeiteinstellungen','Datum morgen',DatetoStr(tomorrow));
    if StrToDate(morgen_m)<tomorrow then morgen_m:=DateToStr(tomorrow)
    else tomorrow:=StrToDate(morgen_m);
  finally
    Ini.Free;
  end;

if PageControl1.TabIndex=0 then
    begin
    PageControl1.TabIndex:=1;
    TimerNextTab.Enabled:=False;
    TimerNextTab.Interval:=interval;
    Label5.Caption:='Vertretungsplan für den';
    Label6.Caption:=DateToStr(today)+' (heute)';
    end
    else
      if PageControl1.TabIndex=1 then
        begin
          PageControl1.TabIndex:=2;
          TimerNextTab.Enabled:=False;
          TimerNextTab.Interval:=interval;
          Label5.Caption:='Vertretungsplan für den';
          Label6.Caption:=DateToStr(Tomorrow);
        end
        else
          if PageControl1.TabIndex=2 then
            begin
            PageControl1.TabIndex:=0;
            TimerNextTab.Enabled:=False;
            TimerNextTab.Interval:=interval;
            Label5.Caption:='Meldungen';
            Label6.Caption:='';
            end
end;
Der Interval wird jeweils aus einer Ini-Datei ausgelesen.
Sven Kannenberg
  Mit Zitat antworten Zitat
 


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:25 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