Rev 11 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | daniel-mar | 1 | unit Functions; |
2 | |||
3 | interface |
||
4 | |||
5 | uses |
||
6 | SysUtils, Dialogs, Graphics, Classes, ExtCtrls; |
||
7 | |||
8 | function ExtractFileNameWithoutExt(filename: string): string; |
||
9 | procedure ClearImage(Image: TImage; BackgroundColor: TColor); |
||
10 | function Explode(Separator, Text: String): TStringList; |
||
11 | function Position(FullString, Search: String): Integer; |
||
21 | daniel-mar | 12 | function DotsAtBeginning(s: string): integer; |
13 | function DotsAtEnd(s: string): integer; |
||
1 | daniel-mar | 14 | |
15 | implementation |
||
16 | |||
17 | function ExtractFileNameWithoutExt(filename: string): string; |
||
18 | begin |
||
19 | result := ExtractFileName(filename); |
||
20 | result := copy(result, 1, Length(result)-Length(ExtractFileExt(result))); |
||
21 | end; |
||
22 | |||
23 | procedure ClearImage(Image: TImage; BackgroundColor: TColor); |
||
24 | var |
||
25 | OldPenColor, OldBrushColor: TColor; |
||
26 | begin |
||
27 | OldPenColor := Image.Canvas.Pen.Color; |
||
28 | OldBrushColor := Image.Canvas.Brush.Color; |
||
29 | Image.Canvas.Pen.Color := BackgroundColor; |
||
30 | Image.Canvas.Brush.Color := BackgroundColor; |
||
31 | Image.Canvas.Rectangle(0, 0, Image.Width, Image.Height); |
||
32 | Image.Canvas.Pen.Color := OldPenColor; |
||
33 | Image.Canvas.Brush.Color := OldBrushColor; |
||
34 | end; |
||
35 | |||
36 | function Explode(Separator, Text: String): TStringList; |
||
37 | var |
||
38 | pos: integer; |
||
39 | tmp: string; |
||
40 | begin |
||
41 | result := TStringList.Create; |
||
42 | |||
43 | while Length(Text) > 0 do |
||
44 | begin |
||
45 | pos := Functions.Position(Text, Separator); |
||
46 | |||
47 | if pos = -1 then |
||
48 | begin |
||
49 | tmp := Text; |
||
50 | Text := ''; |
||
51 | end |
||
52 | else |
||
53 | begin |
||
54 | tmp := copy(Text, 1, pos-1); |
||
55 | Text := copy(Text, pos+1, Length(Text)-pos); |
||
56 | end; |
||
57 | |||
58 | result.Add(tmp); |
||
59 | end; |
||
60 | end; |
||
61 | |||
62 | function Position(FullString, Search: String): Integer; |
||
63 | var |
||
64 | x: Integer; |
||
65 | begin |
||
66 | x := Length(StrPos(PChar(FullString), PChar(Search))); |
||
67 | if x = 0 then |
||
68 | result := -1 |
||
69 | else |
||
70 | result := Length(FullString) - x + 1; |
||
71 | end; |
||
72 | |||
21 | daniel-mar | 73 | function DotsAtBeginning(s: string): integer; |
1 | daniel-mar | 74 | var |
21 | daniel-mar | 75 | i: integer; |
1 | daniel-mar | 76 | begin |
21 | daniel-mar | 77 | result := 0; |
78 | for i := 1 to Length(s) do |
||
1 | daniel-mar | 79 | begin |
21 | daniel-mar | 80 | if s[i] = '.' then |
81 | Inc(result) |
||
82 | else |
||
83 | Exit; |
||
1 | daniel-mar | 84 | end; |
21 | daniel-mar | 85 | end; |
1 | daniel-mar | 86 | |
21 | daniel-mar | 87 | function DotsAtEnd(s: string): integer; |
88 | var |
||
89 | i: integer; |
||
90 | begin |
||
91 | result := 0; |
||
92 | for i := Length(s) downto 1 do |
||
1 | daniel-mar | 93 | begin |
21 | daniel-mar | 94 | if s[i] = '.' then |
95 | Inc(result) |
||
96 | else |
||
97 | Exit; |
||
1 | daniel-mar | 98 | end; |
99 | end; |
||
100 | |||
101 | end. |
||
102 |