Socket通信程序问题,望指教! (50分)

  • 主题发起人 主题发起人 kusila
  • 开始时间 开始时间
K

kusila

Unregistered / Unconfirmed
GUEST, unregistred user!
本人新手,此为局域网通讯程序的部分源码,请各位指教
procedure TForm1.ConnectltemClick(Sender: TObject);
begin
if ClientSocket.Active then ClientSocket.Active:=False;
if InputQuery('Computer to connetc to','Address Name:',Server) then
if Length(Server)>0 then
with ClientSocket do
begin
Host :=Server;
Active :=True;
ListenItem.Checked :=False;
end;
end;
错误为:
[Error]Unit1.pas(4):Undeclared identifier:'Server'
[Error]Unit1.pas(5):Incompatible types
不知道Server该怎样申明,望指教初学者,谢谢!!
 
有什么问题吗?

没看到指定端口啊
 
此贴刚才重新编辑过了。。
 
抄的代码吧: Server没有定义
 
第一行的错误提示是Server没有定义。或许是你把它定义在单元的私有部分了。
 
是啊,我就是不知道Server该怎样定义,请指教啊。。
 
procedure TForm1.ConnectltemClick(Sender: TObject);
var Server:String; // here
begin
if ClientSocket.Active then ClientSocket.Active:=False;
if InputQuery('Computer to connetc to','Address Name:',Server) then


不是吧,你一点pascal基础没有?
 
看你的代码,Server应该是一个用于定义服务端IP地址的字符串变量。
如果这也不会定义的话,我可没法在这说那么多啊。
 
或者说我应该把Server定义成什么类型呢?拜托各位了。。
 

>>不是吧,你一点pascal基础没有?
:) pascal丢了几年了。。谢谢你啊,我再试试。。
 
学习要循序渐进,这样速度才能快
 
同样,IsServer和ServerSock也未定义,不知道该定义成什么类型。。
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
//??var IsServer:string;
//?? ServerSock:String;
begin
if Key=VK_Return then
if IsServer then
ServerSock.Socket.Connections[0].SendText(Memo1.Lines[Memo1.Lines.Count - 1])
else
ClientSocket.Socket.SendText(Memo1.Lines[Memo1.Lines.Count - 1]);
end;

procedure TForm1.ServerSocketAccept(Sender: TObject;
Socket: TCustomWinSocket);
//??var IsServer:string;
begin
IsServer:=True;
end;
 
IsServer应是一个Boolean类型,而ServerSock则是一个ServerSocket控件。
Server和IsServer到少应定义在TForm的private部分,单定义在当前过程中肯定不行。
老兄的基础的确是差了一点,继续努力啊。
 
去看看Delphi安装目录下的DEMO程序chat,这里有楼主想要的正确的源代码。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部