Changeset 7 for trunk/Forms/UFormMain.pas
- Timestamp:
- Mar 14, 2013, 10:21:42 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:ignore
-
old new 3 3 FioInfo.lps 4 4 FioInfo.exe 5 FioInfo.dbg
-
- Property svn:ignore
-
trunk/Forms/UFormMain.pas
r6 r7 15 15 16 16 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; 29 23 DateEditStart: TDateEdit; 30 24 DateEditTo: TDateEdit; … … 32 26 GroupBox2: TGroupBox; 33 27 GroupBox3: TGroupBox; 34 ImageList1: TImageList;35 28 Label1: TLabel; 36 29 Label2: TLabel; 37 30 Label3: TLabel; 38 31 Label4: TLabel; 39 MenuItem1: TMenuItem;40 MenuItem2: TMenuItem;41 PopupMenuTray: TPopupMenu;42 32 SpinEditYear: TSpinEdit; 43 33 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); 51 37 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 52 38 procedure FormCreate(Sender: TObject); … … 54 40 { private declarations } 55 41 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;64 42 procedure LoadInterface; 65 43 procedure SaveInterface; 66 procedure SaveToRegistry(Context: TRegistryContext);67 procedure LoadFromRegistry(Context: TRegistryContext);68 44 end; 69 45 … … 76 52 77 53 uses 78 UFormSettings; 79 80 resourcestring 81 SDownloadNotSuccess = 'StaÅŸenà nebylo úspÄÅ¡né'; 82 54 UCore; 83 55 84 56 { TFormMain } 85 86 procedure TFormMain.AShowExecute(Sender: TObject);87 begin88 Application.Restore;89 end;90 57 91 58 procedure TFormMain.FormClose(Sender: TObject; var CloseAction: TCloseAction); 92 59 begin 93 60 SaveInterface; 94 SaveToRegistry(RegistryContext); 61 end; 62 63 procedure TFormMain.ButtonNewClick(Sender: TObject); 64 begin 65 SaveInterface; 66 Core.ADownloadNew.Execute; 67 end; 68 69 procedure TFormMain.ButtonIntervalClick(Sender: TObject); 70 begin 71 SaveInterface; 72 Core.ADownloadInterval.Execute; 73 end; 74 75 procedure TFormMain.ButtonMonthlyClick(Sender: TObject); 76 begin 77 SaveInterface; 78 Core.ADownloadMonthly.Execute; 95 79 end; 96 80 97 81 procedure TFormMain.FormCreate(Sender: TObject); 98 82 begin 99 RegistryContext := RegContext(HKEY_CURRENT_USER, '\Software\Chronosoft\FioInfo');100 LoadFromRegistry(RegistryContext);101 83 LoadInterface; 102 84 end; … … 104 86 procedure TFormMain.LoadInterface; 105 87 begin 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; 110 92 end; 111 93 112 94 procedure TFormMain.SaveInterface; 113 95 begin 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; 230 100 end; 231 101
Note:
See TracChangeset
for help on using the changeset viewer.