我设计了一个网站并将其上传到服务器并且工作正常。在其中一个页面中,我从用户那里获得了一些信息,例如他们的地址和...并将它们保存到文本文件中。我可以创建一个应用程序并从该文件加载丰富的编辑或备忘录吗?该文件本身的地址如www.mysite.com/my_text_File.txt 谢谢你的帮助。
答案 0 :(得分:3)
是的,你可以。
function WebGetData(const UserAgent: string; const Server: string; const Resource: string): AnsiString;
var
hInet: HINTERNET;
hURL: HINTERNET;
Buffer: array[0..1023] of AnsiChar;
i, BufferLen: cardinal;
begin
result := '';
hInet := InternetOpen(PChar(UserAgent), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenUrl(hInet, PChar('http://' + Server + Resource), nil, 0, 0, 0);
try
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
result := result + AnsiString(Buffer);
if BufferLen < SizeOf(Buffer) then
SetLength(result, length(result) + BufferLen - SizeOf(Buffer));
until BufferLen = 0;
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hInet);
end;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
Memo1.Text := WebGetData('My Application', 'www.rejbrand.se', '');
end;
请注意,上述代码仅适用于ASCII文本。要获取UTF-8解决方案,请将AnsiString
替换为签名中的string
,并将repeat
块中的第二行替换为
result := result + UTF8ToString(AnsiString(Buffer));
并调整SetLength
。
答案 1 :(得分:3)
在应用程序的表单上删除TMemo或TRichedit。然后从Indy组件中删除TidHTTP组件。
添加onclick按钮事件事件并执行以下操作:
程序TForm1.Button1Click(发件人:TObject);
开始
memo1.lines.Text:= idHttp1.Get('http://www.delphiprojectcode.com/test.txt');
结束;
OR
程序TForm1.Button1Click(发件人:TObject);
开始
richedit1.Text:= idHttp1.Get('http://www.delphiprojectcode.com/test.txt');
端;
答案 2 :(得分:0)
TRichEdit和TMemo都会加载您传递给它们的字符串中的数据。因此,在客户端应用程序中需要做的是下载文本文件(可能使用HTTP客户端,Indy的选项之一)并将其内容传递给TRichEdit或TMemo(通过TMemo中的Text属性,以及相应的机制) TRichEdit)。