Entwickler-Ecke
Datenbanken - ProgressBar
Stefan_B - Do 09.01.03 11:15
Titel: ProgressBar
hallo!
wie kann ich einen programmablauf (z.b. datensätze hinzufügen) in der ProgressBar anzeigen lassen?
danke
bis11 - Do 09.01.03 11:29
Hi,
was willst Du da genau machen, denn damit kann man wenig anfangen mit Deiner Frage. Definiere doch mal was genau.
LCS - Do 09.01.03 11:30
| Borland OnlineHilfe hat folgendes geschrieben: |
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| // Alle Datensätze in der Tabelle durchgehen
// und ProgressBar entsprechend nachführen.
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; begin with ProgressBar1 do begin Min := 0; Max := SQLDataSet1.RecordCount; SQLDataSet1.First; for i := Min to Max do begin Position := i; SQLDataSet1.Next; end; // Operationen mit Datensatz durchführen... end; end; end; |
|
Kurz gesagt: Eigenschaften Min und Max setzen und dann Fortschritt entweder mit Position festlegen oder mit StepIt/StepBy erhöhen.
Gruss Lothar
Stefan_B - Do 09.01.03 12:05
aber wie kann ich den progressBar in den code hier einbauen?
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| procedure TForm1.Button1Click(Sender: TObject);
begin wwQuery1.First;
while not wwQuery2.Eof do begin wwQuery2.Delete; end; while not wwQuery1.Eof do begin if (wwQuery1.FieldByName('KNUMMER').IsNull) or (wwQuery2.Locate('KdNr',wwQuery1.FieldByName('KNUMMER').AsString,[])) then Memo1.Lines.add( wwQuery1.FieldByName('KNUMMER').AsString + ' ' + wwQuery1.FieldByName('KNAME1').AsString)
else begin wwQuery2.Insert; wwQuery2.FieldByName('KdNr').AsString:= wwQuery1.FieldByName('KNUMMER').AsString; wwQuery2.FieldByName('Name1').AsString:=wwQuery1.FieldByName('KNAME1').AsString; wwQuery2.FieldByName('Name2').AsString:=wwQuery1.FieldByName('KNAME2').AsString; wwQuery2.FieldByName('Strasse').AsString:=wwQuery1.FieldByName('KSTRASSE').AsString; wwQuery2.FieldByName('PLZ').AsString:=wwQuery1.FieldByName('KPLZ').AsString; wwQuery2.FieldByName('Postfach').AsString:=wwQuery1.FieldByName('KPOSTFACH').AsString; wwQuery2.FieldByName('PLZPostfach').AsString:=wwQuery1.FieldByName('KPOSTFPLZ').AsString; wwQuery2.FieldByName('Ort').AsString:=wwQuery1.FieldByName('KORT').AsString; wwQuery2.FieldByName('Telefon').AsString:=wwQuery1.FieldByName('KTELEFON').AsString; wwQuery2.FieldByName('Telefax').AsString:=wwQuery1.FieldByName('KTELEFAX').AsString; wwQuery2.FieldByName('KonPers').AsString:=wwQuery1.FieldByName('KPNAME1').AsString; wwQuery2.FieldByName('Bank').AsString:=wwQuery1.FieldByName('KBANK').AsString; wwQuery2.FieldByName('KontoNr').AsInteger:=wwQuery1.FieldByName('KKTONR').AsInteger; wwQuery2.FieldByName('BLZ').AsString:=wwQuery1.FieldByName('KBLZ').AsString; wwQuery2.FieldByName('E_Mail').AsString:=wwQuery1.FieldByName('KEMAIL').AsString; wwQuery2.Post; end; wwQuery1.Next; end; end; end; end; end. |
wenn ich den vor die schleife setze, läuft er immer wieder die 1 datenbank durch.
-------------------------------------
:(
-------------------------------------
Stefan_B - Do 09.01.03 12:07
muss ich step nicht auf 1 setzen?
LCS - Do 09.01.03 12:13
In etwa so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| ... with bar1 do begin min := 0; max:= wwQuery1.RecordCount; //Bei SQL-Datenbanken mit vorsicht zu geniessen position := 0; step := 1; end; while not wwQuery1.Eof do begin ... wwQuery1.Next; bar1.StepIt; Application.ProcessMessages; end; ... |
Gruss Lothar
Stefan_B - Do 09.01.03 12:24
danke lothar!
du bist der beste! 8)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!