Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Über Timer Stringlist 'weiterschalten' (https://www.delphipraxis.net/92299-ueber-timer-stringlist-weiterschalten.html)

Svenkan 17. Mai 2007 16:27


Über Timer Stringlist 'weiterschalten'
 
Hey Leute!
Da ich mit meinem Programm den aktuellen Vertretungsplan aus einer dbf auslesen lasse und nun nicht mehr nur in eine HTML-Datei ausgeben, sondern auch auf einem Monitor darstellen lassen will, benötige ich nun die Möglichkeit, dass das nur eine gewisse Anzahl an Zeilen in einem Stringgrid dargestellt werden (23) und falls noch mehr Zeilen vorhanden sind, über einen Timer dann autom. die nächste 'Seite' dargestellt wird.
Ich habe es bereits über eine Schleife probiert..jedoch erfolglos.
Gibt es dazu evtl ein Tutorial? Oder hat hier jemand eine Idee, wie dies zu realisieren ist?

Apollonius 17. Mai 2007 16:48

Re: Über Timer Stringlist 'weiterschalten'
 
Du willst, dass nach einer gewissen Zeit automatisch die nächste Seite angezeigt wird? Dann könntest du eine Schleife mit delay verwenden.

Svenkan 17. Mai 2007 16:57

Re: Über Timer Stringlist 'weiterschalten'
 
Das hilft mir leider nicht bei meinem allg. Problem, wie dies zu realisieren wäre.

Klaus01 17. Mai 2007 17:10

Re: Über Timer Stringlist 'weiterschalten'
 
Du könntest doch innerhalb des Timers ermitteln wieviele Zeilen
vorhanden sind, sind es mehr als 23 liest Du nur 23 ein und setzt ein
Flag (welches auch ausserhalb des Timers existiert). Beim nächsten Aufruf
des Timers prüfst Du ob das Flag gesetzt ist, ist es gesetzt werden die
nächsten Zeilen geladen, ist es nicht gesetzt werden die ersten 23 Zeilen geladen.

Grüße
Klaus

Svenkan 17. Mai 2007 17:13

Re: Über Timer Stringlist 'weiterschalten'
 
Hättest du dafür vlt. ein Beispiel?

Real_Thunder 17. Mai 2007 17:27

Re: Über Timer Stringlist 'weiterschalten'
 
Hmm.. gibt da mehrere Möglichkeiten..

erstmal ist zu klären wie du die einträge in das stringgrid einließt.

Eine ganz simple, wenn auch nicht keine sehr saubere lösung ist, wenn du Alle daten in ein unsichbares 'stringgrid',
einem record, einem 2d array oder wie auch immer einließt.

dann die anzahl der datensätze ermittelst, und mit einem timer oder einer scheife mit delay nach und nach auf das stringgrid setzt...
das du ja die anzahl der gesammtdatensätzte hast, und weiß vie wiele du pro zyklus auf dem stringgrid haben willst, sollte es doch an sich kein problem sein.

Mfg Real Thunder

p.s. wenn du beispielcode brauchst sage einfach bescheid

Klaus01 17. Mai 2007 17:27

Re: Über Timer Stringlist 'weiterschalten'
 
Hatte mir das ungefähr so vorgestellt.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FlagMoreThan23 : Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if FlagMoreThan23 then
    begin
      // load next lines
      if restZeilen = 0 then
        FlagMoreThan23:=false;
    end
  else
    begin
      if anzahlZeilen > 23 then
        begin
         // load first 23 lines
         FlagMoreThan23:=true;
       end;
    end;


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FlagMoreThen23:=false;
end;
Grüße
Klaus

Svenkan 17. Mai 2007 17:48

Re: Über Timer Stringlist 'weiterschalten'
 
Zitat:

Zitat von Real_Thunder
wenn du beispielcode brauchst sage einfach bescheid

Wäre ganz nett, die Variante auch mal zu sehen. :)

Real_Thunder 17. Mai 2007 18:39

Re: Über Timer Stringlist 'weiterschalten'
 
Werde dan mal eben ein kleines beispielproject machen.
In ca 15 min Ist es denn da.

Svenkan 17. Mai 2007 18:41

Re: Über Timer Stringlist 'weiterschalten'
 
Ist echt sehr nett von dir. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.
Seite 1 von 4  1 23     Letzte »    

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