Einzelnen Beitrag anzeigen

bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.123 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: mit Zeiten rechnen / vergleichen / erkennen

  Alt 24. Apr 2012, 21:36
mal ein kleine code fragment als hilfe zur selbst hilfe kann leider keine komplette lösung hier posten -- keine zeit
Delphi-Quellcode:


unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Generics.Collections;

type

  tArbeitstag = record
       arbeits_start : TDateTime;
       arbeits_ende : TDateTime;
       arbeits_soll : TDateTime;
       arbeits_ist : TDateTime;
  end;


  TArbeitsTage = TList < tArbeitstag> ;


  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    ErfasseArbeitstagButton: TButton;
    BerechneArbeitstageButton: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure ErfasseArbeitstagButtonClick(Sender: TObject);
    procedure BerechneArbeitstageButtonClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    aArbeitsTageListe : TArbeitsTage;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BerechneArbeitstageButtonClick(Sender: TObject);
var i : integer;
     einArbeitstag : tArbeitstag;
begin
    for i:= 0 to aArbeitsTageListe.Count-1 do
        begin
          einArbeitstag := aArbeitsTageListe.Items[i];
          // berechne jetzt .....

        end;

end;

procedure TForm1.ErfasseArbeitstagButtonClick(Sender: TObject);
var einArbeitstag : tArbeitstag;
begin
     einArbeitstag.arbeits_start := now ; // füge aktuelle Zeit Datum ein .... selber abändern
     einArbeitstag.arbeits_ende := now ;

     aArbeitsTageListe.Add(einArbeitstag);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    aArbeitsTageListe.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     aArbeitsTageListe :=TArbeitsTage.Create;
end;


end
  Mit Zitat antworten Zitat