我想用clientsocket发送一个INI格式的文件,以下是我写的一段程序,但是出错,请各位高手帮忙该一下.
var
Size: Integer;
Buffer: PChar;
Fstream:TMemoryStream;
begin
Fstream.LoadFromFile(dir+'\RES\MyInfo_IP.INI');//获取INI格式的文件
Fstream.Position:=0;
Size:=Fstream.Size;
GetMem(Buffer, Size);
Fstream.Read(buffer,size);
//Buffer[Size] := #0;
clientsocket1.Socket.Lock;
try
clientsocket1.Socket.SendBuf(Buffer^, Size);
finally
FreeMem(Buffer);
end;
end;
var
Size: Integer;
Buffer: PChar;
Fstream:TMemoryStream;
begin
Fstream.LoadFromFile(dir+'\RES\MyInfo_IP.INI');//获取INI格式的文件
Fstream.Position:=0;
Size:=Fstream.Size;
GetMem(Buffer, Size);
Fstream.Read(buffer,size);
//Buffer[Size] := #0;
clientsocket1.Socket.Lock;
try
clientsocket1.Socket.SendBuf(Buffer^, Size);
finally
FreeMem(Buffer);
end;
end;
解决方案 »
- delphi 怎样把增、删、改、查例子功能封装一个单元或模块里。
- TServerSocket的onAccept与onClientConnect有什么区别呢?
- Excel报表问题
- 怪事!把钱给你你都不要,这一帖值200分,进者有分,(关于动态链接库中的串口通信)
- 自己写了控件,也安装上了,但图标怎么设啊?
- Access violation at address 775F3C34 in module -oleaut32.dll-. Read of address F
- 一個比較難的問題。。。
- 怎样删除文件啊?
- 请问股票用的stk数据是什么格式?告诉我怎么获取数据?一定送分
- 一个关于标签的小问题?
- 将txt里的文件读入StringGrid中
- 整个项目的文件如何查询
Fstream := TMemoryStream.Create;
我在formcreate中已经加了Fstream := TMemoryStream.Create;
Size: Integer;
Buffer: PChar;
Fstream:TMemoryStream;
begin
这不是个局部变量吗?
另外,你说报错,抱什么错你也不说说。
Size: Integer;
Buffer: PChar;
Fstream:TMemoryStream;
begin
这不是个局部变量吗?
另外,你说报错,抱什么错你也不说说。
strFileSize :string;
SendStream: TFileStream;
begin
Result:=False;
SendStream := TFileStream.Create(strFileName, fmOpenRead or fmShareDenyWrite);
try
strFileSize := IntToStr(SendStream.Size);
//...
//if StrRet = Ret_Ready then
begin
try
IdTCPClient.WriteStream(SendStream,True,False, SendStream.Size);
finally
SendStream.Free;
end;
end;
finally
//...
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
FileStream: TFilestream;
bytRead: char;
intLoop: integer;
strRead: array[0..1020] of char;
Begin
FileStream := TFilestream.create('c:\Testpan.txt',fmopenread); try
//清除Memo1组件的文本内容
Memo1.lines.clear;
filestream.Seek(0, soFromBeginning );
fileStream.Read(strRead, 1020);
memo1.Lines.Add(strRead);
memo1.Lines.Add('================');
filestream.Seek(0, soFromBeginning );
for intLoop :=1 to fileStream.Size do
begin
fileStream.ReadBuffer(bytRead,1) ;
memo1.Text := memo1.Text+ bytRead;
end; finally
FileStream.free; //释放FileStream对象
end;
end;