AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fortschrittsanzeige bei Ladevorgang mir Read();

Fortschrittsanzeige bei Ladevorgang mir Read();

Ein Thema von Yheeky · begonnen am 23. Aug 2003 · letzter Beitrag vom 24. Aug 2003
Antwort Antwort
Seite 2 von 3     12 3   
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#11

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 22:49
Versteh ich net
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 22:53
Du liest doch die einzelnen Datensätze (in diesem Fall Records) in einer Schleife aus der Datei. Da du den Maximalwert kennst, wäre eine for-Schleife am geeignetesten. Somit gibt der Wert der Schleifenvariable den Fortschritt an.

Benutzt du eine repeat- oder while-Schleife, musst du selbst eine Integer-Variable als Zähler deklarieren und pro Lesevorgang um eins hochzählen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#13

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:00
Ich benutze im Moment keine Schleife. Der Code, den ich oben gepostet habe ist alles. Keine for, while oder sonstige Schleife...
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:04
Moin Yheeky,

dann wirst Du wohl auch keine Fortschrittsanzeige hinbekommen können.
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
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:05
Ach so, ich sehe, du liest das Array in einem Rutsch aus der Datei.
So kannst du natürlich keine Fortschrittsanzeige implementieren, da du ja nur eine Aktion durchführst. Probiers mal so:

Delphi-Quellcode:
  Datei : File of TTest;
  Datenliste : TTest;
  i: Integer;

[...]

AssignFile(Datei,ProgrammPfad + test.dat');
Reset(Datei);
SetLength(DatenListe, FileSize(Datei));
for i := 1 to FileSize(Datei) do
Read(Datei,DatenListe[i-1]);
CloseFile(Datei);
Jetzt hast du in i deinen Fortschritt stehen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#16

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:13
Bekomme 2 Fehlermeldungen:

Code:
[Fehler] Unit1.pas(84): Inkompatible Typen
[Fehler] Unit1.pas(88): Array-Typ erforderlich
bei den Zeilen

Code:
SetLength(Datenliste, FileSize(Datei));
Read(Datei,Datenliste[i-1]);
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:16
Ach so, sorry, DatenListe muss ein Array of TTest sein, um mehrere Datensätze speichern zu können. Oder wofür sonst solltest du eine Fortschrittsanzeige brauchen, wenn nicht, um mehrere Datensätze auszulesen?
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#18

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:20
Möchte einfach überprüfen, wieviel Prozent des aktuellen Datensatzes bereits geladen wurde...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:25
Bei einem einzelnen Datensatz wirst du Pech haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#20

Re: Fortschrittsanzeige bei Ladevorgang mir Read();

  Alt 23. Aug 2003, 23:38
Oh je, was soll denn das da werden Nebenbei bemerkt, Dein Source kann so nicht gehen. Du liest nur einen Record. Und das Filesize die Anzahl der Datensätze angibt halte ich für ein Gerücht. Das mit dem Array ist auch Blödsinn. @Chewie: Nix für ungut.

Der Record-Typ ist TTest. Die Größe ermittelst Du mit sizeof (TTest); Wohlgemerkt, von EINEM Datensatz

Die Datei ist File OF TTest. Die Dateigröße kriegst Du jetzt mit filesize (Datei); raus.

Und das alles in bytes. Teilst Du nun filesize / sizeof so muß eine ganze Zahl herauskommen. Das ist die Gesamtanzahl der Datensätze. Jetzt kommt der Zähler ins Spiel. Setze den am Anfang auf 0 und bei jedem gelesenen Datensatz zählst Du eins hoch.

So und nun kommt die Progressbar oder die komische Gauge ins Spiel. Wie das geht weiß ich nicht, bisher noch nicht gebraucht. Du mußt da mit Sicherheit den Zähler in Bezug zur Gesamtgröße benutzen. Dürfte einfach sein, sofern die Vorarbeiten stimmen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:34 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