Commit db82a015f02af16c35b91e6f3e1e88f1a47032b2
1 parent
64b24cf1
Exists in
master
delete wrongly commited file
Showing
1 changed file
with
0 additions
and
98 deletions
Show diff stats
units/csv_writer.pas
... | ... | @@ -1,98 +0,0 @@ |
1 | -unit csv_writer; | |
2 | - | |
3 | -{$mode objfpc}{$H+} | |
4 | - | |
5 | -interface | |
6 | - | |
7 | -uses SysUtils, Classes, LazFileUtils; | |
8 | - | |
9 | -type | |
10 | - | |
11 | - { TCSVWriter } | |
12 | - | |
13 | - TCSVWriter = class(TComponent) | |
14 | - private | |
15 | - FFileName: string; | |
16 | - FFile: TextFile; | |
17 | - FSessionNumber: integer; | |
18 | - procedure Close; | |
19 | - procedure UpdateFileName(ANewFileName : string); | |
20 | - function OpenNoOverride(AFilename : string):string; | |
21 | - public | |
22 | - constructor Create(AOwner: TComponent; AFileName: String); reintroduce; | |
23 | - destructor Destroy; override; | |
24 | - procedure Write(AData: array of const); | |
25 | - end; | |
26 | - | |
27 | - | |
28 | - | |
29 | - | |
30 | -implementation | |
31 | - | |
32 | -{ TCSVWriter } | |
33 | - | |
34 | -procedure TCSVWriter.Close; | |
35 | -begin | |
36 | - if FFilename <> '' then | |
37 | - if TextRec(FFile).Mode = 55218 then // file is opened read/write | |
38 | - begin | |
39 | - CloseFile(FFile); | |
40 | - end | |
41 | -end; | |
42 | - | |
43 | -procedure TCSVWriter.UpdateFileName(ANewFileName: string); | |
44 | -begin | |
45 | - if (ANewFileName = '') or (ANewFileName = FFilename) then Exit; | |
46 | - Close; | |
47 | - FFileName := OpenNoOverride(ANewFileName); | |
48 | -end; | |
49 | - | |
50 | -function TCSVWriter.OpenNoOverride(AFilename: string): string; | |
51 | -var | |
52 | - i : Integer; | |
53 | - FilePath, LExtension: string; | |
54 | -begin | |
55 | - if AFileName <> '' then | |
56 | - begin | |
57 | - ForceDirectoriesUTF8(ExtractFilePath(AFilename)); | |
58 | - FilePath := ExtractFilePath(AFilename); | |
59 | - LExtension := ExtractFileExt(AFilename); | |
60 | - i := 0; | |
61 | - | |
62 | - // ensure to never override an existing file | |
63 | - while FileExistsUTF8(AFilename) do begin | |
64 | - Inc(i); | |
65 | - AFilename := FilePath + StringOfChar(#48, 3 - Length(IntToStr(i))) + IntToStr(i) + LExtension; | |
66 | - end; | |
67 | - | |
68 | - FSessionNumber := i; | |
69 | - | |
70 | - // as override is impossible, don't mind about an Assign/Rewrite conditional | |
71 | - AssignFile(FFile, AFilename); | |
72 | - Rewrite(FFile); | |
73 | - {$ifdef DEBUG} | |
74 | - WriteLn(FFile, mt_Debug + 'Saving data to:' + AFilename ); | |
75 | - {$endif} | |
76 | - Result := AFilename; | |
77 | - end; | |
78 | -end; | |
79 | - | |
80 | -constructor TCSVWriter.Create(AOwner: TComponent; AFileName: String); | |
81 | -begin | |
82 | - inherited Create(AOwner); | |
83 | - FFilename := OpenNoOverride(AFilename); | |
84 | -end; | |
85 | - | |
86 | -destructor TCSVWriter.Destroy; | |
87 | -begin | |
88 | - Close; | |
89 | - inherited Destroy; | |
90 | -end; | |
91 | - | |
92 | -procedure TCSVWriter.Write(AData: array of const); | |
93 | -begin | |
94 | - | |
95 | -end; | |
96 | - | |
97 | -end. | |
98 | - |