如何把internetreadfile下载到的东西保存为(内存)流?(不通过保存为文件再载入的方法,第一次搞流,烦透了)
解决方案 »
- delphi 怎么删除正在使用中的文件
- 想了半天没有想出来,麻烦朋友帮忙看下
- 无缘无故的散200分,不会被关小黑屋吧?
- printer.Canvas 奇怪问题~帮忙的来!!!!!!!!!
- 我用了一段关于建树的代码,可是老是会出现错误,有谁能帮我解释一下啊??
- 大家帮我看看是什么问题??
- ActiveX《“垃圾回收”之我见》
- 在服务端如何调用远程数据摸板的控件(因为要改变数据库服务器)。在线等待!
- 哪有TeeCHART FOR DELPHI6.0下载的?斑竹、大小虾们帮帮忙?不知的帮UP!THANKS!
- 怎样把DELPHI的数据转成EXCEL输出问题!!!!!
- 多线程高手请进:在一个后台线程中使用Ado对象需要注意什么?
- 一个动态创建组件的问题:在Form上放一个Button,Click后动态生成一个相同的Button,出现在原先Button的右下角,且具有与原先Button同样
begin
s := Tstringstream.Create('');
IdHTTP1.Get('http://www.csdn.net', s);
memo1.Lines.Add(s.DataString);
s.Free;
end;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(fileURL),nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end;
finally
InternetCloseHandle(hSession)
end;
end;procedure TForm1.FormCreate(Sender: TObject);
var FileOnNet, LocalFileName: string;
begin
FileOnNet:='http://www.csdn.net';
LocalFileName:='c:\test.htm';
if GetInetFile(FileOnNet,LocalFileName)=True then
ShowMessage('Download successful')
else
ShowMessage('Error in file download')
end;
我自己解决了,原来是流忘了复位