119 lines
2.6 KiB
ObjectPascal
119 lines
2.6 KiB
ObjectPascal
unit frmVyrobniTyden;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Grids, Vcl.DBGrids, JvExDBGrids, JvDBGrid,
|
|
Vcl.StdCtrls;
|
|
|
|
type
|
|
TformVyberTydne = class(TForm)
|
|
grdTydny: TJvDBGrid;
|
|
cbRok: TComboBox;
|
|
btnDnes: TButton;
|
|
procedure FormShow (Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure grdTydnyDblClick(Sender: TObject);
|
|
procedure cbRokChange(Sender: TObject);
|
|
procedure btnDnesClick(Sender: TObject);
|
|
private
|
|
procedure NactiKalendar (rok: integer; tyden: byte=0; autoIns: boolean=false);
|
|
public
|
|
rok, tyden: integer;
|
|
datOd, datDo: string;
|
|
retVal: integer;
|
|
end;
|
|
|
|
var
|
|
formVyberTydne: TformVyberTydne;
|
|
|
|
implementation
|
|
uses System.DateUtils,
|
|
helUtils, datMod2;
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
procedure TformVyberTydne.btnDnesClick (Sender: TObject);
|
|
var t: integer;
|
|
begin
|
|
t:= System.DateUtils.WeekOf(Now);
|
|
grdTydny.DataSource.DataSet.Locate('colRok;colTyden', VarArrayOf([cbRok.Text, t]), []);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformVyberTydne.cbRokChange (Sender: TObject);
|
|
begin
|
|
NactiKalendar (cbRok.Text.ToInteger);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformVyberTydne.FormClose (Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Action:= TCloseAction.caFree;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformVyberTydne.NactiKalendar (rok: Integer; tyden: byte=0; autoIns: boolean=false);
|
|
var rNow, m: integer;
|
|
begin
|
|
retVal:= 0;
|
|
datOd:= '';
|
|
datDo:= '';
|
|
|
|
rNow:= YearOf(Now);
|
|
if (autoIns) then
|
|
begin
|
|
cbRok.Items.Clear;
|
|
cbRok.Items.Add((rok-1).ToString);
|
|
cbRok.Items.Add(rok.ToString);
|
|
cbRok.Items.Add((rok+1).ToString);
|
|
cbRok.ItemIndex:= cbRok.Items.IndexOf(rok.ToString);
|
|
end;
|
|
|
|
if (Assigned(datMod2.dm2)) then
|
|
begin
|
|
if (dm2.vtVyrobniTyden<>nil) then
|
|
dm2.NactiVyrobniTydny (rok);
|
|
|
|
if (rok=rNow) then
|
|
m:= WeekOf(Now)
|
|
else
|
|
m:= System.DateUtils.WeeksInAYear (rok);
|
|
|
|
if (tyden>0) then
|
|
m:= tyden;
|
|
dm2.vtVyrobniTyden.Locate ('colRok;colTyden', VarArrayOf ([rok, m]), []);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformVyberTydne.FormShow (Sender: TObject);
|
|
begin
|
|
NactiKalendar (YearOf(Now), tyden, true);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformVyberTydne.grdTydnyDblClick (Sender: TObject);
|
|
begin
|
|
retVal:= 10;
|
|
tyden:= dm2.vtVyrobniTyden.FieldByName('colTyden').AsInteger;
|
|
rok:= dm2.vtVyrobniTyden.FieldByName('colRok').AsInteger;
|
|
datOd:= dm2.vtVyrobniTyden.FieldByName('colDatumOd').AsString;
|
|
datDo:= dm2.vtVyrobniTyden.FieldByName('colDatumDo').AsString;
|
|
Close;
|
|
end;
|
|
|
|
end.
|