AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeit im Label aktualisieren

Ein Thema von tom_po · begonnen am 21. Mai 2006 · letzter Beitrag vom 21. Mai 2006
Antwort Antwort
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeit im Label aktualisieren

  Alt 21. Mai 2006, 13:35
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:
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;
button3 aktualisiert den Bestand des Vorrats in dbedit1 so:

Delphi-Quellcode:
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;
anbei noch ein bild der Form
Miniaturansicht angehängter Grafiken
zeit_147.jpg  
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 13:46
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 := Now; gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 13:54
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;
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 13:57
bin jetzt selbst darauf gekommen, jetzt gehts so:

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:=Date;
  Datetimepicker1.Time:=Time;
  label6.Caption := datetimetostr(Datetimepicker1.dateTime);
  button3.Click;
end;
verstehe allerdings nicht, wieso es mit dienem Vorschlag (now) nicht geht!!??
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 13:59
oder
  Datetimepicker1.DateTime := Now;
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 13:59
lass den TDateTimePicker doch weg, sondern benutz nur "now"
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 14:10
ich hab's jetzt so:

Delphi-Quellcode:
Datetimepicker1.Date:=Date;
  Datetimepicker1.Time:=Time;
  //label6.Caption := datetimetostr(Datetimepicker1.dateTime);
  label6.Caption := datetimetostr(now);
  button3.Click;
die Aktualisierung des Datums und der Zeit brauche ich hier, sonst wird die Lagerbewegung in der datenbank nicht aktualisiert
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 14:45
und was hatt das mit dem tdatetimepicker zu tun den brauchst du nicht...

ps : dt brauchst du auch nicht;

einfach

Params.ParamByName('datum').Value := now; und unten das selbe dann kannst du den tdatetimepicker Löschen und die variable brauchst du auch nicht ...
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Zeit im Label aktualisieren

  Alt 21. Mai 2006, 14:59
ok, ich hab's jetzt so, danke für den tip, der code ist jetzt schlanker...

Delphi-Quellcode:
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;
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
  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 23:09 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