AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fortschrittanzeige bei Index
Thema durchsuchen
Ansicht
Themen-Optionen

Fortschrittanzeige bei Index

Ein Thema von Fritz01 · begonnen am 17. Dez 2007 · letzter Beitrag vom 17. Dez 2007
Antwort Antwort
Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#1

Fortschrittanzeige bei Index

  Alt 17. Dez 2007, 15:40
Datenbank: Absolute Database • Version: 5.15 • Zugriff über: ABSTable, DataSource
Hallo,
möchte erreichen, dass während der Indexerstellung der Fortschritt mittels Progressbar angezeigt wird. Habe das mal so gemacht. Die Procedure wird mit frmUpdate.Show; aufgerufen.
Delphi-Quellcode:
procedure TfrmUpdate.FormPaint(Sender: TObject);
var i,s,t : integer;
begin
  t := frmMain.tTable.RecordCount;
  s := t div ProgressBar.max;
  for i := 0 to ProgressBar.max do
  begin
    ProgressBar.Position := i;
    sleep(s);
  end;
  close;
end;
1) Es erscheint mir zu langsam, d. h. ich würde gerne einen direkten Bezug zur Indexerstellung erreichen. Hier habe ich die Anzahl der Datensätze zur Steuerung der Progressbar gewählt.
2) Ist das in FormPaint richtig untergebracht?
Wer hat dazu entsprechende Tipps? Danke
Fritz
Fritz
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Fortschrittanzeige bei Index

  Alt 17. Dez 2007, 15:56
Hallo Fritz01!

soweit ich weiß, arbeitet der SQL-Server doch abgekapselt
eine Aufgabe ab, d.h. er sendet nicht bei jedem Datensatz
ein Event auf das man reagieren könnte.
Ich habe z.B. schon etwas gesucht, um bei einer SQL-Abfrage
die Wartezeit per Progressbar anzuzeigen... aber das geht
halt so nicht.

Mir wurde dann empfohlen, eine "Marquee"-Progressbar zu nehmen,
diese zeigt diesen durchhuschenden kurzen Balken an, was
dann signalisieren soll "unbestimmte Wartezeit".

Die Indexerstellung läuft doch nicht so lange, dass man den
User damit verunsichern könnte, oder? Zudem brauchst du nicht
extra noch mit Sleep eine Wartezeit einzubauen. Das sehe
ich als unnötig an.


Ich persönlich würde die Methode im OnShow-Bereich ansiedeln,
denn bei OnPaint kannst du nicht ausschließen, dass es noch
weitere Male aufgerufen wird.

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#3

Re: Fortschrittanzeige bei Index

  Alt 17. Dez 2007, 17:30
@ pfoto,
danke für Antwort.
OnShow ergibt: Eigenschaft Visible kann in OnShow oder OnHide nicht verändert werden.
Deshalb in Paint.
Falls es da wirklich keine Möglichkeit gibt muß man das wohl vergessen. Schade!
Nochmals danke
Fritz
Fritz
  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 15:33 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