Skip to content

Commit 2f58046

Browse files
committed
Common.Procs: +GetFontName (ovr), GetControlDefaultFontParams, SetFontDefaultParams. Removed SaveStringToFile (use SaveStringToFile from JPLib JPL.Strings instead)
1 parent 9ec7e4a commit 2f58046

1 file changed

Lines changed: 47 additions & 20 deletions

File tree

source/JPP.Common.Procs.pas

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ interface
77

88
uses
99
{$IFDEF MSWINDOWS}Windows,{$ENDIF}
10-
SysUtils, Classes, {$IFDEF DCC}{$IFDEF HAS_SYSTEM_UITYPES}System.UITypes,{$ENDIF}{$ENDIF}
10+
SysUtils, Classes, Types, {$IFDEF DCC}{$IFDEF HAS_SYSTEM_UITYPES}System.UITypes,{$ENDIF}{$ENDIF}
1111
Forms, Controls, Graphics, StdCtrls,
1212
{$IFDEF FPC}LCLType, LCLIntf,{$ENDIF}
13-
JPL.Rects, JPP.Common;
13+
JPL.Strings, JPL.TStr, JPL.Rects, JPP.Common;
1414

1515

1616
function FontStylesToStr(FontStyles: TFontStyles): string;
@@ -22,7 +22,7 @@ function StrToAlignment(AlignmentStr: string; Default: TAlignment = taLeftJustif
2222

2323
procedure MakeListFromStr(LineToParse: string; var List: TStringList; Separator: string = ',');
2424
function PadLeft(const Text: string; const PadToLen: integer; PaddingChar: Char = ' '): string;
25-
procedure SaveStringToFile(const Content, FileName: string);
25+
//procedure SaveStringToFile(const Content, FileName: string); // use SaveStringToFile from JPL.Strings (JPLib)
2626

2727
procedure JppFrame3D(Canvas: TCanvas; var Rect: TRect; LeftColor, RightColor, TopColor, BottomColor: TColor; Width: Integer); overload;
2828
procedure JppFrame3D(Canvas: TCanvas; var Rect: TRect; Color: TColor; Width: integer); overload;
@@ -39,7 +39,10 @@ procedure DrawRectRightBorder(Canvas: TCanvas; Rect: TRect; Color: TColor; PenWi
3939

4040
procedure DrawCenteredText(Canvas: TCanvas; Rect: TRect; const Text: string; DeltaX: integer = 0; DeltaY: integer = 0);
4141

42-
function GetFontName(const FontNameArray: array of string): string;
42+
function GetFontName(const FontNamesArray: array of string): string; overload;
43+
function GetFontName(const CommaSeparatedFontNames: string): string; overload;
44+
procedure GetControlDefaultFontParams(out FontName: string; out FontSize: integer);
45+
procedure SetFontDefaultParams(AFont: TFont);
4346

4447
procedure InflateRectWithMargins(var ARect: TRect; const Margins: TJppMargins);
4548

@@ -273,22 +276,46 @@ procedure DrawShadowText(const Canvas: TCanvas; const Text: string; ARect: TRect
273276
DrawText(Canvas.Handle, PChar(Text), Length(Text), ARect, Flags);
274277
end;
275278

276-
function GetFontName(const FontNameArray: array of string): string;
279+
function GetFontName(const FontNamesArray: array of string): string;
277280
var
278281
FontName: string;
279282
i: integer;
280283
begin
281-
for i := Low(FontNameArray) to High(FontNameArray) do
284+
for i := Low(FontNamesArray) to High(FontNamesArray) do
282285
begin
283-
FontName := FontNameArray[i];
284-
if Screen.Fonts.IndexOf(FontName) >= 0 then // DONE: tu powinno być chyba >= 0
286+
FontName := FontNamesArray[i];
287+
if Screen.Fonts.IndexOf(FontName) >= 0 then
285288
begin
286289
Result := FontName;
287290
Break;
288291
end;
289292
end;
290293
end;
291294

295+
function GetFontName(const CommaSeparatedFontNames: string): string;
296+
var
297+
Arr: TStringDynArray;
298+
begin
299+
SplitStrToArrayEx(CommaSeparatedFontNames, Arr, ',');
300+
Result := GetFontName(Arr);
301+
end;
302+
303+
procedure GetControlDefaultFontParams(out FontName: string; out FontSize: integer);
304+
begin
305+
FontName := GetFontName(['Segoe UI', 'Tahoma', 'MS Sans Serif']);
306+
if FontName = 'Segoe UI' then FontSize := 9 else FontSize := 8;
307+
end;
308+
309+
procedure SetFontDefaultParams(AFont: TFont);
310+
var
311+
FontName: string;
312+
FontSize: integer;
313+
begin
314+
GetControlDefaultFontParams(FontName, FontSize);
315+
AFont.Name := FontName;
316+
AFont.Size := FontSize;
317+
end;
318+
292319

293320
procedure InflateRectWithMargins(var ARect: TRect; const Margins: TJppMargins);
294321
begin
@@ -599,18 +626,18 @@ procedure JppFrame3D(Canvas: TCanvas; var Rect: TRect; Color: TColor; Width: int
599626
{$endregion Drawing procs}
600627

601628

602-
procedure SaveStringToFile(const Content, FileName: string);
603-
var
604-
sl: TStringList;
605-
begin
606-
sl := TStringList.Create;
607-
try
608-
sl.Text := Content;
609-
sl.SaveToFile(FileName);
610-
finally
611-
sl.Free;
612-
end;
613-
end;
629+
//procedure SaveStringToFile(const Content, FileName: string);
630+
//var
631+
// sl: TStringList;
632+
//begin
633+
// sl := TStringList.Create;
634+
// try
635+
// sl.Text := Content;
636+
// sl.SaveToFile(FileName);
637+
// finally
638+
// sl.Free;
639+
// end;
640+
//end;
614641

615642
function PadLeft(const Text: string; const PadToLen: integer; PaddingChar: Char = ' '): string;
616643
begin

0 commit comments

Comments
 (0)