0:unit stplInstall;
1:
2:interface
3:
4:uses
5: Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
6: StdCtrls;
7:
8:type
9: TstplInstall = class(TForm)
10: cmdOK: TButton;
11: lblAgentName: TLabel;
12: Label2: TLabel;
13: Label3: TLabel;
14: lblAgentVersion: TLabel;
15: Label5: TLabel;
16: Label6: TLabel;
17: lblLocalLogFileName: TLabel;
18: Label7: TLabel;
19: cmdJump: TButton;
20: lblDownloadURL: TLabel;
21: txtURL: TEdit;
22: Label8: TLabel;
23: txtDeleteKey: TEdit;
24: chkAutoBrowserOpen: TCheckBox;
25: chkCollectionImage: TCheckBox;
26: chkUseCustomBrowser: TCheckBox;
27: procedure cmdOKClick(Sender: TObject);
28: procedure FormCreate(Sender: TObject);
29: procedure cmdJumpClick(Sender: TObject);
30: procedure cmdSaveClick(Sender: TObject);
31: procedure cmdExitClick(Sender: TObject);
32: private
33: { Private declarations }
34: public
35: { Public declarations }
36: end;
37:
38:var
39: stplInstall: TstplInstall;
40:
41:implementation
42:
43:{$R *.DFM}
44:
45:procedure TstplInstall.cmdOKClick(Sender: TObject);
46:var
47: Item:TCabinetItem;
48: Folder:TCabinetItem;
49: FFolderCreated:Boolean;
50:
51: userfile:string;
52: ItemCreated:Boolean;
53: Leg: TLegistry;
54:begin
55: CreateDir(DataDir + '\stpl');
56: userfile := DataDir + '\stpl\user.dat';
57: if FileExists(userfile) then
58: Leg:=TLegistry.Create(userfile,lmOpenReadWrite,1024,1024,nil)
59: else
60: Leg:=TLegistry.Create(userfile,lmCreate,1024,1024,nil);
61:
62: Leg.Signature:='STPL_INFO';
63: Leg.CreateKey('/common');
64: Leg.WriteString('/common/url',txtURL.text);
65: Leg.WriteString('/common/mbox','stpl\stpl.mbx');
66: Leg.WriteBool('/common/autobrowseropen',chkAutoBrowserOpen.Checked);
67: Leg.WriteBool('/common/UseCustomBrowser',chkUseCustomBrowser.Checked);
68: Leg.WriteBool('/common/CollectionImage',chkCollectionImage.Checked);
69: Leg.Free;
70:
71: Folder:=CabinetManager.Find('diary');
72: if not Assigned(Folder) then begin
73: Folder:=TCabinetItem.Create(CabinetManager);
74: Folder.ItemType:=ctFolder;
75: Folder.Name:='diary';
76: Folder.Caption:='日記';
77: CabinetManager.Add(nil,Folder);
78: FFolderCreated:=True;
79: end else FFolderCreated:=False;
80: if not Assigned(CabinetManager.Find('diary$stpl')) then
81: begin
82: Item:=TCabinetItem.Create(CabinetManager);
83: Item.ItemType:=ctPlugin;
84: Item.Name := 'diary$stpl';
85: Item.Caption:='スタパライフ';
86: if chkUseCustomBrowser.Checked then begin
87: Item.PluginExecFileName:='stpl\stplBrowser.pas';
88: end else begin
89: Item.PluginExecFileName:='browser\unibrowser.pas';
90: end;
91: Item.PluginExecArg:='-H '+ txtURL.text +' -T スタパライフ stpl\stpl.mbx';
92: Item.PluginAutoFileName:='stpl\autostpl.rx';
93: Item.PluginAutoArg:='';
94: Item.PluginSetupFileName:='stpl\stpl.pas';
95: Item.PluginSetupArg:='';
96: CabinetManager.AddChild(Folder,Item);
97: Item.Free;
98: end;
99: if FFolderCreated then Folder.Free;
100: if not DirectoryExists(DataDir) then begin
101: if not ForceDirectories(DataDir) then begin
102: ShowMessage('ログフォルダ "'+DataDir+'" が作成できませんでした');
103: end;
104: end;
105: CabinetManager.Commit;
106: Close;
107:end;
108:
109:procedure TstplInstall.FormCreate(Sender: TObject);
110:var
111: userfile:string;
112: Leg:TLegistry;
113:begin
114: if Assigned(CabinetManager.Find('diary$stpl')) then
115: begin
116: cmdOk.enabled:=False;
117: userfile := DataDir + '\stpl\user.dat';
118: if FileExists(userfile) then
119: begin
120: Leg:=TLegistry.Create(userfile,lmOpenRead,1024,1024,nil);
121: txtURL.Text:=Leg.ReadStringDef('/common/url','');
122: lblLocalLogFileName.Caption:=DataDir +'\'+Leg.ReadStringDef('/common/mbox','');
123: chkAutoBrowserOpen.Checked:=Leg.ReadBoolDef('/common/autobrowseropen',0);
124: chkUseCustomBrowser.Checked:=Leg.ReadBoolDef('/common/UseCustomBrowser',0);
125: chkCollectionImage.Checked:=Leg.ReadBoolDef('/common/CollectionImage',0);
126: Leg.Free;
127: end else
128: begin
129: txtURL.Text:='http://www.alt-r.com/di/toc5-0.html';
130: lblLocalLogFileName.Caption:=DataDir +'\'+ 'stpl\stpl.mbx';
131: end;
132: end else
133: begin
134: cmdSave.enabled:=False;
135: txtURL.Text:='http://www.alt-r.com/di/toc5-0.html';
136: lblLocalLogFileName.Caption:=DataDir +'\'+ 'stpl\stpl.mbx';
137: end;
138:end;
139:
140:procedure TstplInstall.cmdJumpClick(Sender: TObject);
141:begin
142: OpenBrowser(lblDownloadURL.caption);
143: close;
144:end;
145:
146:procedure TstplInstall.cmdSaveClick(Sender: TObject);
147:var
148: userfile:string;
149: ItemCreated:Boolean;
150: Leg: TLegistry;
151: Item:TCabinetItem;
152:begin
153: CreateDir(DataDir + '\stpl');
154: userfile := DataDir + '\stpl\user.dat';
155: if FileExists(userfile) then
156: Leg:=TLegistry.Create(userfile,lmOpenReadWrite,1024,1024,nil)
157: else
158: Leg:=TLegistry.Create(userfile,lmCreate,1024,1024,nil);
159:
160: Leg.Signature:='STPL_INFO';
161: Leg.CreateKey('/common');
162: Leg.WriteString('/common/url',txtURL.text);
163: Leg.WriteString('/common/mbox','stpl\stpl.mbx');
164: Leg.WriteBool('/common/autobrowseropen',chkAutoBrowserOpen.Checked);
165: Leg.WriteBool('/common/UseCustomBrowser',chkUseCustomBrowser.Checked);
166: Leg.WriteBool('/common/CollectionImage',chkCollectionImage.Checked);
167: Leg.Free;
168:
169: Item:=CabinetManager.Find('diary$stpl');
170: if chkUseCustomBrowser.Checked then begin
171: Item.PluginExecFileName:='stpl\stplBrowser.pas';
172: end else begin
173: Item.PluginExecFileName:='browser\unibrowser.pas';
174: end;
175: CabinetManager.Commit;
176:
177: close;
178:
179:end;
180:
181:procedure TstplInstall.cmdExitClick(Sender: TObject);
182:begin
183: close;
184:end;
185:
186:end.
|