📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, ImgList, ToolWin, PublicUnit,
winsock, Menus;
type
TForm1 = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ImageList1: TImageList;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton10: TToolButton;
ToolButton2: TToolButton;
ListView1: TListView;
PageControl1: TPageControl;
TabSheet3: TTabSheet;
Memo1: TMemo;
Splitter1: TSplitter;
ToolButton3: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Panel1: TPanel;
ToolButton6: TToolButton;
Edit1: TEdit;
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
procedure WMdtu(var Message: TMessage); message WM_DTU;
end;
var
Form1: TForm1;
implementation
uses dllUnit, unitParam;
{$R *.dfm}
procedure TForm1.ToolButton1Click(Sender: TObject);
var
start_result: Integer;
begin
SetWorkMode(2);
//start_result := start_gprs_server(Handle, WM_DTU, strtoint(Edit1.Text), mess);
start_result := start_net_service(Handle, WM_DTU, strtoint(Edit1.Text), mess);
Memo1.Lines.Add(mess);
if start_result = 0 then
begin
ToolButton1.Enabled := false;
ToolButton4.Enabled := true;
ToolButton5.Enabled := true;
end else begin
ToolButton1.Enabled := true;
ToolButton4.Enabled := false;
ToolButton5.Enabled := false;
end
end;
procedure TForm1.ToolButton10Click(Sender: TObject);
begin
if not ToolButton1.Enabled then
begin
//stop_gprs_server(mess);
stop_net_service(mess);
Memo1.Lines.Add(mess);
end;
close;
end;
procedure TForm1.ToolButton4Click(Sender: TObject);
var
stop_result: Integer;
begin
//stop_result := stop_gprs_server(mess);
stop_result := stop_net_service(mess);
Memo1.Lines.Add(mess);
if stop_result = 0 then
begin
ToolButton1.Enabled := true;
ToolButton4.Enabled := false;
ToolButton5.Enabled := false;
end else begin
ToolButton1.Enabled := false;
ToolButton4.Enabled := true;
ToolButton5.Enabled := true;
end;
ListView1.Items.Clear;
end;
procedure TForm1.WMdtu(var Message: TMessage);
var
data_record: TData_Record;
read_result: Integer;
listitem: TListItem;
user_info: TUser_Info;
addr: in_addr;
i: Integer;
begin
memo1.Lines.Add('get a msg');
read_result := do_read_proc(data_record, mess, false);
if read_result = 0 then
begin
case data_record.m_data_type of
$01 :
begin
listitem := nil;
get_user_info(data_record.m_userid, user_info);
for i := 0 to ListView1.Items.Count - 1 do
begin
if ListView1.Items[i].Caption = data_record.m_userid then
begin
listitem := ListView1.Items[i];
listitem.Caption := data_record.m_userid;
listitem.SubItems[0] := user_info.m_logon_date;
addr.S_addr := htonl(user_info.m_local_addr);
listitem.SubItems[1] := inet_ntoa(addr);
listitem.SubItems[2] := inttostr(user_info.m_local_port);
addr.S_addr := htonl(user_info.m_sin_addr);
listitem.SubItems[3] := inet_ntoa(addr);
listitem.SubItems[4] := inttostr(user_info.m_sin_port);
break;
end;
end;
if listitem = nil then
begin
listitem := ListView1.Items.Add;
listitem.Caption := data_record.m_userid;
listitem.SubItems.Add(user_info.m_logon_date);
addr.S_addr := htonl(user_info.m_local_addr);
listitem.SubItems.Add(inet_ntoa(addr));
listitem.SubItems.Add(inttostr(user_info.m_local_port));
addr.S_addr := htonl(user_info.m_sin_addr);
listitem.SubItems.Add(inet_ntoa(addr));
listitem.SubItems.Add(inttostr(user_info.m_sin_port));
end;
end;
$02 :
for i := 0 to ListView1.Items.Count - 1 do
if ListView1.Items[i].Caption = data_record.m_userid then
begin
ListView1.Items[i].Delete;
break;
end;
$09 :
begin
end;
$0b :
begin
if FParam <> nil then
PostMessage(FParam.Handle, WM_DTU_PARAM, 1, 0);
end;
$0d :
begin
if FParam <> nil then
PostMessage(FParam.Handle, WM_DTU_PARAM, 2, 0);
end;
$04 :
begin
if FParam <> nil then begin
PostMessage(FParam.Handle, WM_DTU_PARAM, 0, 0);
end;
end;
end;
end else begin
Memo1.Lines.Add(mess);
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
memo1.Lines.Clear;
end;
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
FParam := TFParam.Create(self);
FParam.ShowModal;
FParam.Free;
FParam := nil;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9']) then
Key := #0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -