Version:0.9 StartHTML:0000000105 EndHTML:0000027877 StartFragment:0000001037 EndFragment:0000027861
{***************************************************************
2 /*
3 * System: maXbox :Product: Algorithm
4 * File: $RCS:276_save_algo.txt$:locs=150
5 * Purpose: Implements a save function in 3 algos
6 *
7 * Release 1.0.2
8 * ©:public; Company: kleiner kommunikation
9 * Author: Max
10 * Filepath: $E:\maxbox\maxbox3\examples\276_save_algo.txt$
11 *
12 * Created: 2012-02-09 by mX4
13 * Modified: $Date: 2012-05-14 2:40p $ @: Max
14 */**************************************************************}
15
16
17 PROGRAM Save_Algorithm;
18 CONST
19 //<Constant declarations>
20 FILENAME = 'savetestfile4.txt';
21
22 {TYPE
23 <Type declarations>}
24
25 Var
26 //<Variable declarations>
27 i: integer;
28 FModif: boolean;
29 msd: TSaveDialog;
30
31 //<FUNCTION>
32 //<PROCEDURE>
33
34 procedure TEdit_SaveToFile(afilename: string);
35 begin
36 maxform1.Memo2.Lines.SaveToFile(aFileName);
37 FModif:= False;
38 msg('writeln to (Save file): '+FILENAME);
39 end;
40
41
42 function TEditForm_Save(ForceSave, changeName: Boolean): Boolean; //Original
43 var ffilename: string;
44 funnamed: boolean;
45 begin
46 //ffilename:= Exepath+'savetestfile.txt';
47 if ffilename = '' then funnamed:= true;
48 Fmodif:= true;
49 Result:= False;
50 if not ForceSave and FModif then
51 case MessageDlg(Format('Save changes to %s?',
52 [ExtractFileName(FFileName)]),mtConfirmation,[mbYes,mbNo,mbCancel],0) of
53 mrYes: ForceSave:= True;
54 mrCancel: Exit;
55 end;
56 if ForceSave then begin
57 if ChangeName or FUnnamed then
58 if not PromptForFileName(FFileName,'Media files(*.TXT)|*.txt',
59 'txt', 'Save mX3 file', ExePath, true) //false: Open dialog!
60 then Exit;
61 //SaveToFile;
62 TEdit_SaveToFile(ffilename)
63 end;
64 Result:= True;
65 end;
66
67
68 function TEditSave1(ForceSave: Boolean): Boolean;
69 var ffilename: string;
70 funnamed: boolean;
71 begin
72 //ffilename:= Exepath+'savetestfile.txt';
73 if ffilename = '' then funnamed:= true;
74 fmodif:= true;
75 Result:= False;
76 if ForceSave and FModif then
77 case MessageDlg(Format('Save changes to %s?',
78 [ExtractFileName(FFileName)]), mtConfirmation, [mbYes,mbNo,mbCancel], 0)
79 of
80 mrYes: begin
81 ForceSave:= True;
82 fmodif:= false;
83 end;
84 mrCancel: Exit;
85 end;
86 if not ForceSave and fModif then begin
87 ForceSave:= True;
88 fModif:= false;
89 end;
90 if ForceSave and not fModif then begin
91 if FUnnamed then
92 if not PromptForFileName(FFileName,'Media files(*.TXT)|*.txt',
93 'txt', 'Save mX3 file', ExePath, true) //false: Open dialog!
94 then Exit;
95 //SaveToFile;
96 TEdit_SaveToFile(ffilename)
97 end;
98 {if not ForceSave and fModified then begin
99 if FUnnamed then
100 if not PromptForFileName(FFileName,'Media files(*.TXT)|*.txt',
101 'txt', 'Save mX3 file', ExePath, true)
102 then Exit;
103 //SaveToFile;
104 TEditForm_SaveToFile(ffilename)
105 end;}
106 Result:= True;
107 end;
108
109
110 function TEditSave2(forceSave: Boolean): Boolean;
111 var fFilenm: string;
112 funnamed: boolean;
113 begin
114 fFilenm:= Exepath+FILENAME;
115 Result:= False;
116 //if ffilenm = '' then funnamed:= true;
117 FModif:= true;
118 if Not forceSave And FModif then begin
119 forceSave:= true;
120 FModif:= false;
121 end;
122 if forceSave And FModif then
123 Case MessageDlg(Format('Save change to %s?', [ExtractFileName(fFilenm)])
124 ,mtConfirmation,[mbYes,mbNo,mbCancel],0) Of
125 //mrYes: forceSave:= True;
126 mrNo: forceSave:= False;
127 mrCancel: Exit;
128 end;
129 if forceSave then begin
130 if funnamed then
131 if Not PromptForFileName(fFilenm,'Mfiles(*.TXT)|*.txt',
132 'txt','Save mX3file', ExePath,true) //false=OpenDialog!
133 then Exit;
134 TEdit_SaveToFile(fFilenm)
135 end;
136 Result:= True;
137 end;
138
139
140 BEGIN //Main
141 //<Executable statements>
142 //if TEditSave1(false) then Msg('true') else Msg('false');
143 // if TEditSave2(false) then Msg('true') else Msg('false'); //left strain
144 // if TEditSave2(true) then Msg('true') else Msg('false'); //mid strain + unmodified
145 if TEditSave2(true) then Msg('true') else Msg('false'); //right strain + modified
146
147 for i:= 1 to 3 do
148 Writeln(FILENAME);
149 //<Definitions>
150 END.
151
152 ----app_template_loaded_code----
153
154 //Which strain doesnt work in this alfo:
155 function TEditSave3(forceSave: Boolean): Boolean;
156 var fFilenm: string;
157 funnamed, saveit: boolean;
158 begin
159 fFilenm:= Exepath+FILENAME;
160 Result:= False;
161 //if ffilenm = '' then funnamed:= true;
162 FModif:= false;
163 if Not forceSave And FModif then
164 saveit:= true;
165 if forceSave And FModif then
166 Case MessageDlg(Format('Save changes to %s?',
167 [ExtractFileName(fFilenm)]),mtConfirmation,[mbYes,mbNo,mbCancel],0) Of
168 mrYes: saveit:= True;
169 mrNo: saveit:= False;
170 mrCancel: Exit;
171 end;
172 if saveit then begin
173 if FUnnamed then
174 if Not PromptForFileName(fFilenm,'Mfiles(*.Txt)|*.txt',
175 'txt', 'Save mX3file', ExePath, true) //false: OpenDialog!
176 then Exit;
177 TEdit_SaveToFile(fFilenm)
178 end;
179 Result:= True;
180 end;
181