Ignore:
Timestamp:
Mar 14, 2013, 10:21:42 PM (11 years ago)
Author:
chronos
Message:
  • Přidáno: Okno s informacemi o aplikaci.
  • Přidáno: Datový modul TCore do něhož byly odděleny obecné části přímo nesouvisející s hlavním oknem.
Location:
trunk
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        33FioInfo.lps
        44FioInfo.exe
         5FioInfo.dbg
  • trunk/Forms/UFormMain.pas

    r6 r7  
    1515
    1616  TFormMain = class(TForm)
    17     ADownloadInterval: TAction;
    18     ADownloadMonthly: TAction;
    19     ASettings: TAction;
    20     ADownloadNew: TAction;
    21     AExit: TAction;
    22     AShow: TAction;
    23     ActionList1: TActionList;
    24     Button1: TButton;
    25     Button2: TButton;
    26     Button3: TButton;
    27     Button4: TButton;
    28     Button5: TButton;
     17    ButtonNew: TButton;
     18    ButtonSettings: TButton;
     19    ButtonInterval: TButton;
     20    ButtonMonthly: TButton;
     21    ButtonExit: TButton;
     22    ButtonAbout: TButton;
    2923    DateEditStart: TDateEdit;
    3024    DateEditTo: TDateEdit;
     
    3226    GroupBox2: TGroupBox;
    3327    GroupBox3: TGroupBox;
    34     ImageList1: TImageList;
    3528    Label1: TLabel;
    3629    Label2: TLabel;
    3730    Label3: TLabel;
    3831    Label4: TLabel;
    39     MenuItem1: TMenuItem;
    40     MenuItem2: TMenuItem;
    41     PopupMenuTray: TPopupMenu;
    4232    SpinEditYear: TSpinEdit;
    4333    SpinEditId: TSpinEdit;
    44     TrayIcon1: TTrayIcon;
    45     procedure ADownloadIntervalExecute(Sender: TObject);
    46     procedure ADownloadMonthlyExecute(Sender: TObject);
    47     procedure ADownloadNewExecute(Sender: TObject);
    48     procedure AExitExecute(Sender: TObject);
    49     procedure ASettingsExecute(Sender: TObject);
    50     procedure AShowExecute(Sender: TObject);
     34    procedure ButtonIntervalClick(Sender: TObject);
     35    procedure ButtonMonthlyClick(Sender: TObject);
     36    procedure ButtonNewClick(Sender: TObject);
    5137    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    5238    procedure FormCreate(Sender: TObject);
     
    5440    { private declarations }
    5541  public
    56     RegistryContext: TRegistryContext;
    57     Token: string;
    58     Format: TFioDataFormat;
    59     TargetDirectory: string;
    60     ReportYear: Integer;
    61     ReportId: Integer;
    62     ReportTimeFrom: TDateTime;
    63     ReportTimeTo: TDateTime;
    6442    procedure LoadInterface;
    6543    procedure SaveInterface;
    66     procedure SaveToRegistry(Context: TRegistryContext);
    67     procedure LoadFromRegistry(Context: TRegistryContext);
    6844  end;
    6945
     
    7652
    7753uses
    78   UFormSettings;
    79 
    80 resourcestring
    81   SDownloadNotSuccess = 'StaÅŸení nebylo úspěšné';
    82 
     54  UCore;
    8355
    8456{ TFormMain }
    85 
    86 procedure TFormMain.AShowExecute(Sender: TObject);
    87 begin
    88   Application.Restore;
    89 end;
    9057
    9158procedure TFormMain.FormClose(Sender: TObject; var CloseAction: TCloseAction);
    9259begin
    9360  SaveInterface;
    94   SaveToRegistry(RegistryContext);
     61end;
     62
     63procedure TFormMain.ButtonNewClick(Sender: TObject);
     64begin
     65  SaveInterface;
     66  Core.ADownloadNew.Execute;
     67end;
     68
     69procedure TFormMain.ButtonIntervalClick(Sender: TObject);
     70begin
     71  SaveInterface;
     72  Core.ADownloadInterval.Execute;
     73end;
     74
     75procedure TFormMain.ButtonMonthlyClick(Sender: TObject);
     76begin
     77  SaveInterface;
     78  Core.ADownloadMonthly.Execute;
    9579end;
    9680
    9781procedure TFormMain.FormCreate(Sender: TObject);
    9882begin
    99   RegistryContext := RegContext(HKEY_CURRENT_USER, '\Software\Chronosoft\FioInfo');
    100   LoadFromRegistry(RegistryContext);
    10183  LoadInterface;
    10284end;
     
    10486procedure TFormMain.LoadInterface;
    10587begin
    106   DateEditStart.Date := ReportTimeFrom;
    107   DateEditTo.Date := ReportTimeTo;
    108   SpinEditYear.Value := ReportYear;
    109   SpinEditId.Value := ReportId;
     88  DateEditStart.Date := Core.ReportTimeFrom;
     89  DateEditTo.Date := Core.ReportTimeTo;
     90  SpinEditYear.Value := Core.ReportYear;
     91  SpinEditId.Value := Core.ReportId;
    11092end;
    11193
    11294procedure TFormMain.SaveInterface;
    11395begin
    114   ReportTimeFrom := DateEditStart.Date;
    115   ReportTimeTo := DateEditTo.Date;
    116   ReportYear := SpinEditYear.Value;
    117   ReportId := SpinEditId.Value;
    118 end;
    119 
    120 procedure TFormMain.SaveToRegistry(Context: TRegistryContext);
    121 begin
    122   with TRegistryEx.Create do
    123   try
    124     RootKey := Context.RootKey;
    125     OpenKey(Context.Key, True);
    126     WriteString('TargetDir', TargetDirectory);
    127     WriteInteger('DataFormat', Integer(Format));
    128     WriteString('Token', Token);
    129     WriteDate('ReportTimeFrom', ReportTimeFrom);
    130     WriteDateTime('ReportTimeTo', ReportTimeTo);
    131     WriteInteger('ReportYear', ReportYear);
    132     WriteInteger('ReportId', ReportId);
    133   finally
    134     Free;
    135   end;
    136 end;
    137 
    138 procedure TFormMain.LoadFromRegistry(Context: TRegistryContext);
    139 begin
    140   with TRegistryEx.Create do
    141   try
    142     RootKey := Context.RootKey;
    143     OpenKey(Context.Key, True);
    144     TargetDirectory := ReadStringWithDefault('TargetDir', ExtractFileDir(Application.ExeName));
    145     Format := TFioDataFormat(ReadIntegerWithDefault('DataFormat', Integer(dfXML)));
    146     Token := ReadStringWithDefault('Token', '');
    147     ReportTimeFrom := ReadDateTimeWithDefault('ReportTimeFrom', Now);
    148     ReportTimeTo := ReadDateTimeWithDefault('ReportTimeTo', Now);
    149     ReportYear := ReadIntegerWithDefault('ReportYear', YearOf(Now));
    150     ReportId := ReadIntegerWithDefault('ReportId', MonthOf(Now));
    151   finally
    152     Free;
    153   end;
    154 end;
    155 
    156 procedure TFormMain.AExitExecute(Sender: TObject);
    157 begin
    158   Close;
    159 end;
    160 
    161 procedure TFormMain.ASettingsExecute(Sender: TObject);
    162 begin
    163   FormSettings.Load;
    164   if FormSettings.ShowModal = mrOk then begin
    165     FormSettings.Save;
    166     SaveToRegistry(RegistryContext);
    167   end;
    168 end;
    169 
    170 procedure TFormMain.ADownloadNewExecute(Sender: TObject);
    171 var
    172   FioAPI: TFioAPI;
    173   List: TStringList;
    174 begin
    175   FioAPI := TFioAPI.Create;
    176   List := TStringList.Create;
    177   try
    178     FioAPI.Format := Format;
    179     FioAPI.Token := Token;
    180     if FioAPI.DownloadLast(List) then begin
    181       List.SaveToFile('VÃœpis ' + FormatDateTime('yyyy-mm-dd hh-nn-ss', Now) +
    182         ExtensionSeparator + DataFormatURL[FioAPI.Format]);
    183     end else ShowMessage(SDownloadNotSuccess);
    184   finally
    185     FioAPI.Free;
    186     List.Free;
    187   end;
    188 end;
    189 
    190 procedure TFormMain.ADownloadMonthlyExecute(Sender: TObject);
    191 var
    192   FioAPI: TFioAPI;
    193   List: TStringList;
    194 begin
    195   FioAPI := TFioAPI.Create;
    196   List := TStringList.Create;
    197   try
    198     FioAPI.Format := Format;
    199     FioAPI.Token := Token;
    200     if FioAPI.DownloadMonthly(SpinEditYear.Value, SpinEditId.Value, List) then begin
    201       List.SaveToFile('VÃœpis měsíční ' + IntToStr(SpinEditYear.Value) +
    202         '-' + IntToStr(SpinEditId.Value) +
    203         ExtensionSeparator + DataFormatURL[FioAPI.Format]);
    204     end else ShowMessage(SDownloadNotSuccess);
    205   finally
    206     FioAPI.Free;
    207     List.Free;
    208   end;
    209 end;
    210 
    211 procedure TFormMain.ADownloadIntervalExecute(Sender: TObject);
    212 var
    213   FioAPI: TFioAPI;
    214   List: TStringList;
    215 begin
    216   FioAPI := TFioAPI.Create;
    217   List := TStringList.Create;
    218   try
    219     FioAPI.Format := Format;
    220     FioAPI.Token := Token;
    221     if FioAPI.DownloadInterval(DateEditStart.Date, DateEditTo.Date, List) then begin
    222       List.SaveToFile('VÃœpis ' + FormatDateTime('yyyy-mm-dd', DateEditStart.Date) +
    223         ' ' + FormatDateTime('yyyy-mm-dd', DateEditTo.Date) +
    224         ExtensionSeparator + DataFormatURL[FioAPI.Format]);
    225     end else ShowMessage(SDownloadNotSuccess);
    226   finally
    227     FioAPI.Free;
    228     List.Free;
    229   end;
     96  Core.ReportTimeFrom := DateEditStart.Date;
     97  Core.ReportTimeTo := DateEditTo.Date;
     98  Core.ReportYear := SpinEditYear.Value;
     99  Core.ReportId := SpinEditId.Value;
    230100end;
    231101
Note: See TracChangeset for help on using the changeset viewer.