Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Zeitversetzt senden (https://www.delphipraxis.net/126030-zeitversetzt-senden.html)

Thomas F 16. Dez 2008 18:09

Re: Zeitversetzt senden
 
Zitat:

Zitat von DeddyH
Das wird so wahrscheinlich nicht funktionieren, Du solltest auf größer oder gleich abfragen.


....so

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval:= 1000;
if Systemzeit >= Versende_Zeit then
Zeitversetzt_Senden;

end;

DeddyH 16. Dez 2008 19:28

Re: Zeitversetzt senden
 
Beinahe, ich würde das eher so machen:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //Timer1.Interval:= 1000; einmal reicht doch
  if Systemzeit >= Versende_Zeit then
    begin
      Timer1.Enabled := false; //den Timer brauchen wir nicht mehr
      Zeitversetzt_Senden;
    end;
end;

Thomas F 16. Dez 2008 21:02

Re: Zeitversetzt senden
 
ich habs so eingegeben, aber es funktioniert einfach nicht :gruebel:

Matze 16. Dez 2008 21:07

Re: Zeitversetzt senden
 
Damit fangen wir nichts an. Was geht nicht? Kommen Fehlermeldungen? Wenn ja, welche?
Hast du "Systemzeit" und "Versende_Zeit" definiert? Wenn ja, welche Werte weist du ihnen denn zu?

Grüße

aladin60 16. Dez 2008 21:09

Re: Zeitversetzt senden
 
...die Systemzeit ermittelt man mit "now", also if sende_tag_und_zeit <= now then...

Bernd.

Thomas F 16. Dez 2008 22:03

Re: Zeitversetzt senden
 
Zitat:

Zitat von Matze
Damit fangen wir nichts an. Was geht nicht? Kommen Fehlermeldungen? Wenn ja, welche?
Hast du "Systemzeit" und "Versende_Zeit" definiert? Wenn ja, welche Werte weist du ihnen denn zu?

Grüße

Delphi-Quellcode:
systemzeit := time;
Versende_Zeit := DatetimePicker1.Time;
Timer1.Interval := 1000;
Fehlermeldungen kommen keine, es wird nichts verschickt
Ich hab mal zur Kontrolle einen ähnlichen Code geschrieben, um alles nochmal zu überprüfen, aber
der funktioniert auch nicht

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    DateTimePicker1: TDateTimePicker;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if time >= datetimepicker1.Time then
begin
Timer1.Enabled := false;
form1.Color:= clbackground   ;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    timer1.Enabled:=true;
end;

end.

DeddyH 17. Dez 2008 08:04

Re: Zeitversetzt senden
 
Wenn ich das richtig verstanden habe, hast Du 2 DateTimePicker, die musst Du erst zusammenpfriemeln, sonst stimmt entweder die Zeit oder das Datum nicht.
Delphi-Quellcode:
StartZeit := Trunc(DateTimePickerDate.Date) + Frac(DateTimerPickerTime.Time);

Thomas F 17. Dez 2008 08:55

Re: Zeitversetzt senden
 
Zitat:

Zitat von DeddyH
Wenn ich das richtig verstanden habe, hast Du 2 DateTimePicker, die musst Du erst zusammenpfriemeln, sonst stimmt entweder die Zeit oder das Datum nicht.
Delphi-Quellcode:
StartZeit := Trunc(DateTimePickerDate.Date) + Frac(DateTimerPickerTime.Time);

........komisch, das funktioniert trotzdem nicht.
Ich kann keinen Fehler finden.. :gruebel:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
        Startzeit :TDatetime;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
StartZeit := Trunc(DateTimePicker2.Date) + Frac(DateTimePicker1.Time);
if now >= StartZeit then
begin
Timer1.Enabled := false;
form1.Color:= clbackground   ;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    timer1.Enabled:=true;
end;

end.
Normalerweise müßte sich die Farbe des Formulars , beim Erreichen der Startzeit ändern :gruebel:

DeddyH 17. Dez 2008 08:57

Re: Zeitversetzt senden
 
Hast Du Dir Startzeit zur Kontrolle mal ausgeben lassen? Außerdem genügt es ja, diese im Button1 einmalig zu setzen.

[edit] Es könnte auch etwas anderes sein. Lass Dir doch einfach eine Message ausgeben, statt die Farbe umzustellen. [/edit]

[edit2] Bei mir (Delphi 5) funktioniert das einwandfrei. [/edit2]

Thomas F 17. Dez 2008 09:28

Re: Zeitversetzt senden
 
Zitat:

Zitat von DeddyH
Hast Du Dir Startzeit zur Kontrolle mal ausgeben lassen? Außerdem genügt es ja, diese im Button1 einmalig zu setzen.

[edit] Es könnte auch etwas anderes sein. Lass Dir doch einfach eine Message ausgeben, statt die Farbe umzustellen. [/edit]

...ich hab alles nochmal neu eingegeben, jetzt funktioniert es :gruebel:

Form1.color := CLBackground geht auch

irgendein Fehler, seltsam


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 2 von 3     12 3      

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 by Thomas Breitkreuz