Autor Beitrag
Danny W.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 16.11.06 16:22 
Hallo,
ich hab grad schon die forensuche benutzt, aber nichts gefunden :/

und zwar dauert es ja immer einen bestimmten augenblick bis eine datenbankabfrage verarbeitet wird... wenn ich z.B. einen nick auslese, bekomme ich den in ca. 2-3 sekunden..in dieser kurzen zeit möchte ich gerne eine progressbar einbinden, ich weiß wie so eine progressbar funktioniert, wie man sie hochzäglt usw.

aber ich weiß nicht wie ich die genaue zwischenzeit auslesen kann...Wenn ich diese zeit habe, setz ich den wert als Max. für die progressbar und lass sie per timer hochzählen...

wie komme ich an diesen wert?


mfG

_________________
"Ich find den Fehler nicht. Der Artist wird immer als "Syntax Error" gezeigt :("
"Ach verdammt, der Artist heißt wirklich "Syntax Error" xD"
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Fr 17.11.06 13:29 
user profile iconMantis1987 hat folgendes geschrieben:
Hallo,
ich hab grad schon die forensuche benutzt, aber nichts gefunden :/

und zwar dauert es ja immer einen bestimmten augenblick bis eine datenbankabfrage verarbeitet wird... wenn ich z.B. einen nick auslese, bekomme ich den in ca. 2-3 sekunden..in dieser kurzen zeit möchte ich gerne eine progressbar einbinden, ich weiß wie so eine progressbar funktioniert, wie man sie hochzäglt usw.

aber ich weiß nicht wie ich die genaue zwischenzeit auslesen kann...Wenn ich diese zeit habe, setz ich den wert als Max. für die progressbar und lass sie per timer hochzählen...

wie komme ich an diesen wert?


mfG


Hallo,

wenn die Operation nicht unterteilt werden kann (wie z.B. das Einlesen von 100 Datensätzen), dann kannst du nur die benötigte Zeit möglichst genau schätzen, einen deutlich längeren Zeitraum als Maximum vorsehen und die Progressbar zeitgesteuert hochlaufen lassen.

Das ist natürlich keine echte Information für den User, sondern reine Optik, kann aber durchaus seine Berechtigung haben als Alternative zum Mauscursor "Warten".

Gruss Reinhard
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 18.11.06 10:22 
Reinhard hat das schon richtig beschrieben : Wenn man wüsste, wo die gesuchten Daten sind, müsste man sie nicht suchen, sondern könnte sie DIREKT auslesen - aber die Zeit für eine SUCHE ist immer unbestimmt.
Was willst Du mit einem SCHÄTZmeter? Wenn Du nur ein bisschen Grafik anzeigen willst, kannst Du auch einen RANDOM-Wert für die Progressbar nehmen...
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Sa 18.11.06 12:49 
user profile iconMantis1987 hat folgendes geschrieben:
Hallo,

und zwar dauert es ja immer einen bestimmten augenblick bis eine datenbankabfrage verarbeitet wird...
mfG


Wenn Du dem Nutzer eine Rückmeldung geben willst, ändere bspw. den Mauscursor während der Wartezeit.
Alternativ könntest Du auch überlegen KEINE Datenbank zu verwenden. RDBMS sind nur in bestimmten Fällen schnell. (was auch immer schnell in diesem Zusammnhang heißt)
Lade die Daten bspw. in den RAM. (Zugriffszeiten im Bereich von ns)
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Sa 18.11.06 14:25 
user profile iconhathor hat folgendes geschrieben:
Reinhard hat das schon richtig beschrieben : Wenn man wüsste, wo die gesuchten Daten sind, müsste man sie nicht suchen, sondern könnte sie DIREKT auslesen - aber die Zeit für eine SUCHE ist immer unbestimmt.
Was willst Du mit einem SCHÄTZmeter? Wenn Du nur ein bisschen Grafik anzeigen willst, kannst Du auch einen RANDOM-Wert für die Progressbar nehmen...


Hallo,

ganz so ernst darf man das nicht nehmen: wenn ich mir so die Fortschrittsanzeigen ansehe, die auf meinem Bildschirm den Tag über auftauchen, dann komme ich zur Schätzung, dass höchstens 30% davon überhaupt einen realen Ablauf anzeigen.

Ganz besonders liebe ich die, die ganz schnell auf 90% kommen, für den Rest mehrere Minuten brauchen und dann wieder von vorne anfangen. Man sieht, es gibt noch viele Gestaltungsmöglichkeiten. Ein herausragendes Beispiel ist übrigens die Progressbar unten im Internet Explorer, die muss so etwas wie den Logarithmus der Zeit anzeigen.

Gruss Reinhard