You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3239 8e941d3f-bd1b-0410-a28a-d453659cc2b4
88 lines
2.6 KiB
ObjectPascal
88 lines
2.6 KiB
ObjectPascal
unit beUtils;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, IniFiles, Forms,
|
|
fpspreadsheet;
|
|
|
|
function CreateIni : TCustomIniFile;
|
|
procedure ReadFormFromIni(ini: TCustomIniFile; ASection: String; AForm: TCustomForm);
|
|
procedure WriteFormToIni(ini: TCustomIniFile; ASection: String; AForm: TCustomForm);
|
|
|
|
function GetFileFormatName(AFormat: TsSpreadsheetFormat): String;
|
|
|
|
implementation
|
|
|
|
function CreateIni : TCustomIniFile;
|
|
var
|
|
cfg : string;
|
|
begin
|
|
cfg := GetAppConfigDir(false);
|
|
if not DirectoryExists(cfg) then
|
|
CreateDir(cfg);
|
|
result := TMemIniFile.Create(GetAppConfigFile(false));
|
|
end;
|
|
|
|
procedure ReadFormFromIni(ini: TCustomIniFile; ASection: String; AForm: TCustomForm);
|
|
var
|
|
L,T,W,H: Integer;
|
|
isMax: Boolean;
|
|
begin
|
|
L := ini.ReadInteger(ASection, 'Left', AForm.Left);
|
|
T := Ini.ReadInteger(ASection, 'Top', AForm.Top);
|
|
W := ini.ReadInteger(ASection, 'Width', AForm.Width);
|
|
H := ini.ReadInteger(ASection, 'Height', AForm.Height);
|
|
isMax := ini.ReadBool(ASection, 'Maximized', AForm.WindowState = wsMaximized);
|
|
if W > Screen.Width then W := Screen.Width;
|
|
if H > Screen.Height then H := Screen.Height;
|
|
if L < 0 then L := 0;
|
|
if T < 0 then T := 0;
|
|
if L + W > Screen.Width then L := Screen.Width - W;
|
|
if T + H > Screen.Height then T := Screen.Height - H;
|
|
AForm.Left := L;
|
|
AForm.Top := T;
|
|
AForm.Width := W;
|
|
AForm.Height := H;
|
|
if IsMax then
|
|
AForm.WindowState := wsMaximized
|
|
else
|
|
AForm.WindowState := wsNormal;
|
|
end;
|
|
|
|
|
|
procedure WriteFormToIni(ini: TCustomIniFile; ASection: String; AForm: TCustomForm);
|
|
begin
|
|
ini.WriteBool(ASection, 'Maximized', (AForm.WindowState = wsMaximized));
|
|
if AForm.WindowState = wsNormal then begin
|
|
ini.WriteInteger(ASection, 'Left', AForm.Left);
|
|
ini.WriteInteger(ASection, 'Top', AForm.Top);
|
|
ini.WriteInteger(ASection, 'Width', AForm.Width);
|
|
ini.WriteInteger(ASection, 'Height', AForm.Height);
|
|
end;
|
|
end;
|
|
|
|
function GetFileFormatName(AFormat: TsSpreadsheetFormat): string;
|
|
begin
|
|
case AFormat of
|
|
sfExcel2 : Result := 'BIFF2';
|
|
{ Excel3/4 not supported fpspreadsheet
|
|
sfExcel3 : Result := 'BIFF3';
|
|
sfExcel4 : Result := 'BIFF4';
|
|
}
|
|
sfExcel5 : Result := 'BIFF5';
|
|
sfExcel8 : Result := 'BIFF8';
|
|
sfooxml : Result := 'OOXML';
|
|
sfOpenDocument : Result := 'Open Document';
|
|
sfCSV : Result := 'CSV';
|
|
sfWikiTable_Pipes : Result := 'WikiTable Pipes';
|
|
sfWikiTable_WikiMedia : Result := 'WikiTable WikiMedia';
|
|
else Result := '-unknown format-';
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|