| 53 |  | procedure listMouseDown(Sender: TObject; Button: TMouseButton; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 54 |  | Shift: TShiftState; X, Y: Integer); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 55 |  |  | 
 
 
 
 
 
 
 
 
 | 56 | – | procedure FormResize(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 56 |  | procedure FormClose(Sender: TObject; var Action: TCloseAction); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 57 |  | procedure popup_importClick(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 58 |  | procedure popup_exportClick(Sender: TObject); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 218 |  | finfo: TFileInfo; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 219 |  | fs: TFileStream; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 220 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 | 221 | < | id := ConManager.Connection[FConnectionID].ExtractFileIDOfName(filelist.Items.Strings[filelist.ItemIndex]); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 223 | < | finfo := ConManager.Connection[FConnectionID].GetFileInfo(id); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 224 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 225 | < | importd.Filter := 'Files of matching extension (*.' + finfo.Extension + ')|*.' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 226 | < | finfo.Extension + '|All files|*.*'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 227 | < | if importd.Execute then | 
 
 
 
 
 
 
 
 
 | 221 | > | if CR_EditDat in ConManager.Connection[FConnectionID].ChangeRights then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 222 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 | 223 | < | fs := TFileStream.Create(importd.FileName, fmOpenRead); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 224 | < | if fs.Size <> finfo.Size then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 225 | < | ShowMessage('Can''t import ' + ExtractFilename(importd.FileName) + | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 226 | < | ', file has to have same size as file in .dat.' + CrLf + | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 227 | < | 'Size of file in .dat: ' + FormatFileSize(finfo.Size) + CrLf + | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 228 | < | 'Size of chosen file: ' + FormatFileSize(fs.Size)) | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 229 | < | else begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 223 | > | id := ConManager.Connection[FConnectionID].ExtractFileIDOfName(filelist.Items.Strings[filelist.ItemIndex]); | 
 
 
 
 
 | 224 | > | finfo := ConManager.Connection[FConnectionID].GetFileInfo(id); | 
 
 
 
 
 | 225 | > |  | 
 
 
 
 
 | 226 | > | importd.Filter := 'Files of matching extension (*.' + finfo.Extension + ')|*.' + | 
 
 
 
 
 | 227 | > | finfo.Extension + '|All files|*.*'; | 
 
 
 
 
 | 228 | > | if importd.Execute then | 
 
 
 
 
 | 229 | > | begin | 
 
 
 
 
 | 230 | > | fs := TFileStream.Create(importd.FileName, fmOpenRead); | 
 
 
 
 
 | 231 | > | if fs.Size <> finfo.Size then | 
 
 
 
 
 | 232 | > | begin | 
 
 
 
 
 | 233 | > | if not (CR_ResizeDat in ConManager.Connection[FConnectionID].ChangeRights) then | 
 
 
 
 
 | 234 | > | begin | 
 
 
 
 
 | 235 | > | ShowMessage('Can''t import ' + ExtractFilename(importd.FileName) + | 
 
 
 
 
 | 236 | > | ', file has to have same size as file in .dat with this backend.' + CrLf + | 
 
 
 
 
 | 237 | > | 'Size of file in .dat: ' + FormatFileSize(finfo.Size) + CrLf + | 
 
 
 
 
 | 238 | > | 'Size of chosen file: ' + FormatFileSize(fs.Size)); | 
 
 
 
 
 | 239 | > | Exit; | 
 
 
 
 
 | 240 | > | end else begin | 
 
 
 
 
 | 241 | > | if MessageBox(Self.Handle, | 
 
 
 
 
 | 242 | > | PChar('File has different size from the file in the .dat.' + CrLf + | 
 
 
 
 
 | 243 | > | 'Size of file in .dat: ' + FormatFileSize(finfo.Size) + CrLf + | 
 
 
 
 
 | 244 | > | 'Size of chosen file: ' + FormatFileSize(fs.Size) + CrLf + | 
 
 
 
 
 | 245 | > | 'Replace anyway?'), PChar('Different size'), MB_YESNO + MB_ICONWARNING) = ID_NO then | 
 
 
 
 
 | 246 | > | begin | 
 
 
 
 
 | 247 | > | Exit; | 
 
 
 
 
 | 248 | > | end; | 
 
 
 
 
 | 249 | > | end; | 
 
 
 
 
 | 250 | > | end; | 
 
 
 
 
 
 
 
 
 
 
 | 251 |  | ConManager.Connection[FConnectionID].UpdateDatFile(id, fs); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 252 |  | Self.listClick(Self); | 
 
 
 
 
 
 
 
 | 253 | + | fs.Free; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 254 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 | 255 | < | fs.Free; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 255 | > | end else begin | 
 
 
 
 
 | 256 | > | ShowMessage('Editing .dat-contents not allowed with this backend.'); | 
 
 
 
 
 
 
 
 
 
 
 | 257 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 258 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 259 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 465 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 466 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 467 |  |  | 
 
 
 
 
 
 
 
 
 | 451 | – | procedure TForm_ToolTemplate.FormResize(Sender: TObject); | 
 
 
 
 
 
 
 
 
 | 452 | – | begin | 
 
 
 
 
 
 
 
 
 | 453 | – | if Self.Width < 300 then | 
 
 
 
 
 
 
 
 
 | 454 | – | Self.Width := 300; | 
 
 
 
 
 
 
 
 
 | 455 | – | if Self.Height < 200 then | 
 
 
 
 
 
 
 
 
 | 456 | – | Self.Height := 200; | 
 
 
 
 
 
 
 
 
 | 457 | – | end; | 
 
 
 
 
 
 
 
 
 | 458 | – |  | 
 
 
 
 
 
 
 
 
 | 459 | – |  | 
 
 
 
 
 
 
 
 
 | 460 | – |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 468 |  | function TForm_ToolTemplate.GetToolCloseable: Boolean; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 469 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 470 |  | if Assigned(FOnCheckCloseable) then |