![]() |
Zeit im Label aktualisieren
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe eine kleine Lagerverwaltung (DBisam Datenbank), wo ich Lagereingänge und ausgänge registriere.
Alles klappt soweit gut (war bis dahin nur mit grosser Hilfe von marabu möglich), die Lageraus-und eingänge werden mit aktuellem Datum und Uhrzeit verbucht, dabei die Bestände aktualisiert. Nach der Verbuchung soll in Label6 das Datum und die Uhrzeit der Bechung angezeigt werden, dies funktoioniert auch beim ersten mal gut, doch bei der zweiten Buchung ändert sich die Uhrzeit nicht. Hier der Code:
Delphi-Quellcode:
button3 aktualisiert den Bestand des Vorrats in dbedit1 so:
procedure Tmovestock.Button1Click(Sender: TObject); //Eingang Material
var dt: TDateTime; fs: TFormatSettings; begin // weil du im Edit keinen Dezimalpunkt verwendest: fs.DecimalSeparator := ','; dt := DateTimePicker1.DateTime; with dbisamquery1 do begin SQL.Text := 'insert into movestock(code, eingang, datum) ' + 'values (:code, :eingang, :datum)'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('eingang').Value := StrToFloat(edit1.Text); Params.ParamByName('datum').Value := dt; ExecSQL; SQL.Text := 'update stockfabric set stock = stock + :stock where code = :code'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('stock').Value := StrToFloat(edit1.Text); ExecSQL; SQL.Text := 'update stockfabric set date = :datum where code = :code'; Params.ParamByName('datum').Value := dt; ExecSQL; end; label6.Caption := datetimetostr(Datetimepicker1.dateTime); button3.Click; end;
Delphi-Quellcode:
anbei noch ein bild der Form
procedure Tmovestock.Button3Click(Sender: TObject);
begin dbisamquery3.SQL.Clear; dbisamquery3.sql.Add('select stock from stockfabric where code='+quotedstr(combobox1.Text)); dbedit1.Text:='stock'; dbisamquery3.ExecSQL; end; |
Re: Zeit im Label aktualisieren
Da ich den TDateTimePicker mit der Datumsansicht sehe, gehe ich davon aus, dass du bei dem TDateTimePicker nicht die Uhrzeit aktualisierst. Nimm statt dem TDateTimePicker mal
Delphi-Quellcode:
gruss
:= Now;
|
Re: Zeit im Label aktualisieren
hab's jetzt so erweitert, jedoch, die Uhrzeit ändert sich nicht, wenn ich eine 2. Buchung mache, weder im Label6, noch in der Datenbank, dort wird immer mit derselben Uhrzeit gebucht, wie die Form aufgerufen wurde:
Delphi-Quellcode:
procedure Tmovestock.Button1Click(Sender: TObject); //Eingang Material
var dt: TDateTime; fs: TFormatSettings; begin // weil du im Edit keinen Dezimalpunkt verwendest: fs.DecimalSeparator := ','; dt := DateTimePicker1.DateTime; with dbisamquery1 do begin SQL.Text := 'insert into movestock(code, eingang, datum) ' + 'values (:code, :eingang, :datum)'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('eingang').Value := StrToFloat(edit1.Text); Params.ParamByName('datum').Value := dt; ExecSQL; SQL.Text := 'update stockfabric set stock = stock + :stock where code = :code'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('stock').Value := StrToFloat(edit1.Text); ExecSQL; SQL.Text := 'update stockfabric set date = :datum where code = :code'; Params.ParamByName('datum').Value := dt; ExecSQL; end; Datetimepicker1.Date:=now; label6.Caption := datetimetostr(Datetimepicker1.dateTime); button3.Click; end; |
Re: Zeit im Label aktualisieren
bin jetzt selbst darauf gekommen, jetzt gehts so:
Delphi-Quellcode:
verstehe allerdings nicht, wieso es mit dienem Vorschlag (now) nicht geht!!??
procedure Tmovestock.Button1Click(Sender: TObject); //Eingang Material
var dt: TDateTime; fs: TFormatSettings; begin // weil du im Edit keinen Dezimalpunkt verwendest: fs.DecimalSeparator := ','; dt := DateTimePicker1.DateTime; with dbisamquery1 do begin SQL.Text := 'insert into movestock(code, eingang, datum) ' + 'values (:code, :eingang, :datum)'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('eingang').Value := StrToFloat(edit1.Text); Params.ParamByName('datum').Value := dt; ExecSQL; SQL.Text := 'update stockfabric set stock = stock + :stock where code = :code'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('stock').Value := StrToFloat(edit1.Text); ExecSQL; SQL.Text := 'update stockfabric set date = :datum where code = :code'; Params.ParamByName('datum').Value := dt; ExecSQL; end; Datetimepicker1.Date:=Date; Datetimepicker1.Time:=Time; label6.Caption := datetimetostr(Datetimepicker1.dateTime); button3.Click; end; |
Re: Zeit im Label aktualisieren
oder
Delphi-Quellcode:
Datetimepicker1.DateTime := Now;
|
Re: Zeit im Label aktualisieren
lass den TDateTimePicker doch weg, sondern benutz nur "now"
|
Re: Zeit im Label aktualisieren
ich hab's jetzt so:
Delphi-Quellcode:
die Aktualisierung des Datums und der Zeit brauche ich hier, sonst wird die Lagerbewegung in der datenbank nicht aktualisiert
Datetimepicker1.Date:=Date;
Datetimepicker1.Time:=Time; //label6.Caption := datetimetostr(Datetimepicker1.dateTime); label6.Caption := datetimetostr(now); button3.Click; |
Re: Zeit im Label aktualisieren
und was hatt das mit dem tdatetimepicker zu tun den brauchst du nicht...
ps : dt brauchst du auch nicht; einfach
Delphi-Quellcode:
und unten das selbe dann kannst du den tdatetimepicker Löschen und die variable brauchst du auch nicht ...
Params.ParamByName('datum').Value := now;
|
Re: Zeit im Label aktualisieren
ok, ich hab's jetzt so, danke für den tip, der code ist jetzt schlanker...
Delphi-Quellcode:
und den datetimepicker brauch ich jetzt wirklich nicht, denn alle buchungen sollen ja nur mit dem aktuellen datum und uhrzeit gespeichert werden, so kann man am datum nichts machen...gute idee, danke
procedure Tmovestock.Button1Click(Sender: TObject); //Eingang Material
var fs: TFormatSettings; begin // weil du im Edit keinen Dezimalpunkt verwendest: fs.DecimalSeparator := ','; with dbisamquery1 do begin SQL.Text := 'insert into movestock(code, eingang, datum) ' + 'values (:code, :eingang, :datum)'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('eingang').Value := StrToFloat(edit1.Text); Params.ParamByName('datum').Value := now; ExecSQL; SQL.Text := 'update stockfabric set stock = stock + :stock where code = :code'; Params.ParamByName('code').Value := combobox1.Text; Params.ParamByName('stock').Value := StrToFloat(edit1.Text); ExecSQL; SQL.Text := 'update stockfabric set date = :datum where code = :code'; Params.ParamByName('datum').Value := now; ExecSQL; end; label6.Caption := datetimetostr(now); button3.Click; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 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