AGB  ·  Datenschutz  ·  Impressum  







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

Progress Bar

Ein Thema von RobinHood · begonnen am 3. Okt 2006 · letzter Beitrag vom 3. Okt 2006
Antwort Antwort
RobinHood

Registriert seit: 5. Jun 2005
16 Beiträge
 
#1

Progress Bar

  Alt 3. Okt 2006, 14:52
Hallo

Ich hab ein Programm geschrieben in dem ich eine Textdatei in ein Array einlese.
Die Textdatei hat nen paar KB, also dauert das Einlesen ein Paar Sekunden.
Gibt es eine Möglichkeit mit TProgressBar den Fortschritt des Einlesens anzuzeigen?

Wäre nett wenn ihr mir helfen könntet ...
Marc
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#2

Re: Progress Bar

  Alt 3. Okt 2006, 14:55
grundsätzlich ja,
dazu bräuchten wir aber ein bisschen code der Einlese-Routine und/oder die Struktur der Datei.

du musst ja ein Verhältnis ausrechnen...

Gruß Frank
  Mit Zitat antworten Zitat
RobinHood

Registriert seit: 5. Jun 2005
16 Beiträge
 
#3

Re: Progress Bar

  Alt 3. Okt 2006, 15:05
Also die Textdatei ist ein Logfile ....
In jeder zeile steht in einer bestimmten Syntax ein Datum und ein Name.
Ich erstelle dann ein Array mit einem Record ... also einmal das Datum und der Name.
Delphi-Quellcode:
type

  TUhrzeit = record
                std : integer;
                min : integer;
              end;

  TDatum = record
              tag : integer;
              monat : integer;
              jahr : integer;
            end;

  TWann = record
              datum : TDatum;
              uhrzeit : TUhrzeit;
             end;

  TEintrag = record
                 name : string[50];
                 wann : TWann;
                end;

  TEintraege = array of TEintrag;

implementation

Delphi-Quellcode:
  procedure einlesen(var eintraege : TEintraege; pfad : string);
  var d : textfile;
      i : integer;
      tmprec : TEintrag;
      tmpstr : string;
  begin
    i := 0;
    assignfile(d,pfad);
    reset(d);

    while not eof(d) do
      begin
        readln(d,tmpstr);

        tmprec.name := copy(copy(tmpstr,22,length(tmpstr)-21),1,pos(' ',copy(tmpstr,22,length(tmpstr)-21)));
        with tmprec.wann do
          begin
            datum.tag := StrToInt(copy(tmpstr,2,2));
            datum.monat := StrToInt(copy(tmpstr,5,2));
            datum.jahr := StrToInt(copy(tmpstr,8,4));
            uhrzeit.std := StrToInt(copy(tmpstr,15,2));
            uhrzeit.min := StrToInt(copy(tmpstr,18,2));
          end;

        setlength(eintraege,i+1);
        eintraege[i] := tmprec;
        inc(i);
      end;
    closefile(d);
  end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

Re: Progress Bar

  Alt 3. Okt 2006, 15:12
Progressbar.max = anzahl der zeilen im logfile

Den rest kanst du dir vielleicht selbst denken.

gruß
  Mit Zitat antworten Zitat
RobinHood

Registriert seit: 5. Jun 2005
16 Beiträge
 
#5

Re: Progress Bar

  Alt 3. Okt 2006, 15:14
ja is richtig .... hätt mir auch alles selber denken können aber danke für den kleinen Anstoß
  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 18:09 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