AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Ich will die Sanduhr zurück!
Thema durchsuchen
Ansicht
Themen-Optionen

Ich will die Sanduhr zurück!

Ein Thema von p80286 · begonnen am 3. Feb 2017 · letzter Beitrag vom 6. Feb 2017
 
nahpets
(Gast)

n/a Beiträge
 
#9

AW: Ich will die Sanduhr zurück!

  Alt 5. Feb 2017, 12:13
Du kannst eigentlich an beliebiger Stelle im Progamm einfach Application.Title eine beliebige Zeichenfolge zuweisen. Die wird dann in der Taskleiste angezeigt.

So 'ne Art Fortschrittsanzeige könne so aussehen:
Delphi-Quellcode:
var
  sTitle : String;
begin
  sTitle := Application.Title;
  Table1.First;
  while not Table1.EoF do begin
    Table1.Edit;
    // Irgendwas ändern
    Table1.Post;
    Table1.Next;
    Application.Title := Format('ID: %.5d',[Table1.FieldByName('ID').AsInteger]);
  end;
  Application.Title := sTitle;
end;
Möchtest Du auch noch das Icon ändern, so müsste Application.Icon dafür die richtige Eigenschaft sein.

[EDIT]
Wenn Du einen eigenen Dialog haben möchtest, so kannst Du den TJvProgressDialog von den Jedis nehmen.

Aktualisieren des Dialoges könnte so gehen:
Delphi-Quellcode:
// pd -> Komponente TJvProgressDialog auf dem Formular
type
  Tform1 = class(TForm)
    pd: TJvProgressDialog;
  public
    { Public-Deklarationen }
    procedure pdAnzeigen(sCaption : String; sText : String = ''; iMin : Integer = 0; iMax : Integer = 100; iPosition : Integer = 50);
    procedure pdHide;
  end;

procedure Tform1.pdAnzeigen(sCaption : String; sText : String = ''; iMin : Integer = 0; iMax : Integer = 100; iPosition : Integer = 50);
begin
  pd.Caption := sCaption;
  pd.Text := sText;
  pd.Min := iMin;
  pd.Max := iMax;
  pd.Position := iPosition;
  pd.Show;
  if sText <> 'then Application.Title := sText;
end;

procedure TfmTextverwaltung.pdHide;
begin
  pd.Hide;
  Application.Title := 'Mein Programmname';
end;

// irgendwo im Programm
var
  iMin : Integer;
  iMax : Integer;
  iPos : Integer;
  sCaption : String;
  sText : String;

begin
  Screen.Cursor := crSQLWait;
  pdAnzeigen('Datenbankabfrage läuft ...');
  qrySQL.ExecSQL;

// oder
  pdAnzeigen('SQL-Statement wird ausgeführt ...',qrySQL.SQL.Text);
  qrySQL.ExecSQL;

//oder:
  pdAnzeigen('Öffne Abfrage ...',qrySQL.SQL.Text);
  qry.Open;
  iMin := 0;
  iMax := qry.RecordCount;
  iPos := 0;
  sCaption := Format('%d Datensätze werden verarbeitet ...',[iMax]);
  sText := '';
  pdAnzeigen(sCaption, sText, iMin, iMax , iPos);
  qry.First
  while not qry.Eof do begin
    Inc(iPos);
    sText := Format('ID: %.5d',[qry.FieldByName('ID').AsInteger]);
    pdAnzeigen(sCaption, sText , iMin, iMax, iPos);
    // Irgendwas mit den Daten machen ...
    qry.Next;
  end;
  qry.Close;
  pdHide;
  Screen.Cursor := crDefault;
[/EDIT]

Geändert von nahpets ( 5. Feb 2017 um 13:05 Uhr) Grund: Text ergänzt
  Mit Zitat antworten Zitat
 


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 10:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz