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