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: procedure cmdOKClick(Sender: TObject);
26: procedure FormCreate(Sender: TObject);
27: procedure cmdJumpClick(Sender: TObject);
28: procedure cmdSaveClick(Sender: TObject);
29: procedure cmdExitClick(Sender: TObject);
30: private
31: { Private declarations }
32: public
33: { Public declarations }
34: end;
35:
36:var
37: stplInstall: TstplInstall;
38:
39:implementation
40:
41:{$R *.DFM}
42:
43:procedure TstplInstall.cmdOKClick(Sender: TObject);
44:var
45: Item:TCabinetItem;
46: Folder:TCabinetItem;
47: FFolderCreated:Boolean;
48:
49: userfile:string;
50: ItemCreated:Boolean;
51: Leg: TLegistry;
52:begin
53: CreateDir(DataDir + '\stpl');
54: userfile := DataDir + '\stpl\user.dat';
55: if FileExists(userfile) then
56: Leg:=TLegistry.Create(userfile,lmOpenReadWrite,1024,1024,nil)
57: else
58: Leg:=TLegistry.Create(userfile,lmCreate,1024,1024,nil);
59:
60: Leg.Signature:='STPL_INFO';
61: Leg.CreateKey('/common');
62: Leg.WriteString('/common/url',txtURL.text);
63: Leg.WriteString('/common/mbox','stpl\stpl.mbx');
64: Leg.Free;
65:
66: Folder:=CabinetManager.Find('diary');
67: if not Assigned(Folder) then begin
68: Folder:=TCabinetItem.Create(CabinetManager);
69: Folder.ItemType:=ctFolder;
70: Folder.Name:='diary';
71: Folder.Caption:='日記';
72: CabinetManager.Add(nil,Folder);
73: FFolderCreated:=True;
74: end else FFolderCreated:=False;
75: if not Assigned(CabinetManager.Find('diary$stpl')) then
76: begin
77: Item:=TCabinetItem.Create(CabinetManager);
78: Item.ItemType:=ctPlugin;
79: Item.Name := 'diary$stpl';
80: Item.Caption:='スタパライフ';
81: Item.PluginExecFileName:='stpl\openstpl.rx';
82: Item.PluginExecArg:='';
83: Item.PluginAutoFileName:='stpl\autostpl.rx';
84: Item.PluginAutoArg:='';
85: Item.PluginSetupFileName:='stpl\stpl.pas';
86: Item.PluginSetupArg:='';
87: CabinetManager.AddChild(Folder,Item);
88: Item.Free;
89: end;
90: if FFolderCreated then Folder.Free;
91: if not DirectoryExists(DataDir) then begin
92: if not ForceDirectories(DataDir) then begin
93: ShowMessage('ログフォルダ "'+DataDir+'" が作成できませんでした');
94: end;
95: end;
96: CabinetManager.Commit;
97: Close;
98:end;
99:
100:procedure TstplInstall.FormCreate(Sender: TObject);
101:var
102: userfile:string;
103: Leg:TLegistry;
104:begin
105: if Assigned(CabinetManager.Find('diary$stpl')) then
106: begin
107: cmdOk.enabled:=False;
108: userfile := DataDir + '\stpl\user.dat';
109: if FileExists(userfile) then
110: begin
111: Leg:=TLegistry.Create(userfile,lmOpenRead,1024,1024,nil);
112: txtURL.Text:=Leg.ReadStringDef('/common/url','');
113: lblLocalLogFileName.Caption:=DataDir +'\'+Leg.ReadStringDef('/common/mbox','');
114: chkAutoBrowserOpen.Checked:=Leg.ReadBoolDef('/common/autobrowseropen',0);
115: Leg.Free;
116: end else
117: begin
118: txtURL.Text:='http://www.alt-r.com/di/toc5-0.html';
119: lblLocalLogFileName.Caption:=DataDir +'\'+ 'stpl\stpl.mbx';
120: end;
121: end else
122: begin
123: cmdSave.enabled:=False;
124: txtURL.Text:='http://www.alt-r.com/di/toc5-0.html';
125: lblLocalLogFileName.Caption:=DataDir +'\'+ 'stpl\stpl.mbx';
126: end;
127:end;
128:
129:procedure TstplInstall.cmdJumpClick(Sender: TObject);
130:begin
131: OpenBrowser(lblDownloadURL.caption);
132: close;
133:end;
134:
135:procedure TstplInstall.cmdSaveClick(Sender: TObject);
136:var
137: userfile:string;
138: ItemCreated:Boolean;
139: Leg: TLegistry;
140:begin
141: CreateDir(DataDir + '\stpl');
142: userfile := DataDir + '\stpl\user.dat';
143: if FileExists(userfile) then
144: Leg:=TLegistry.Create(userfile,lmOpenReadWrite,1024,1024,nil)
145: else
146: Leg:=TLegistry.Create(userfile,lmCreate,1024,1024,nil);
147:
148: Leg.Signature:='STPL_INFO';
149: Leg.CreateKey('/common');
150: Leg.WriteString('/common/url',txtURL.text);
151: Leg.WriteString('/common/mbox','stpl\stpl.mbx');
152: Leg.WriteBool('/common/autobrowseropen',chkAutoBrowserOpen.Checked);
153: Leg.Free;
154:
155: close;
156:end;
157:
158:procedure TstplInstall.cmdExitClick(Sender: TObject);
159:begin
160: close;
161:end;
162:
163:end.
|