Version:0.9 StartHTML:0000000105 EndHTML:0000027877 StartFragment:0000001037 EndFragment:0000027861 mXScriptasHTML
{***************************************************************
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