我试图以这种方式从服务器下载文件:
var MeS:TMemoryStream;
begin
Mes:=TMemoryStream.Create;
IdFTP1.Connect;
Mes.Position:=0;
try
IdFTP1.Get(Mes, 'dolcestilnovo.txt', True, False);
finally
MeS.Free;
IdFTP1.Disconnect;
end;
Memo5.Lines.LoadFromStream(Mes);
end;
Run Code Online (Sandbox Code Playgroud)
我必须显示dolcestilnovo.txtMemo5内部的内容,但我在IdFTP1.Get();方法上有错误.
错误显示"没有可以使用这些参数调用'Get'的重载版本".我能做什么?
我想使用MemoryStream自从我在Android设备上下载它.
我编译了适用于ios模拟器和Android的应用程序(使用delphi xe5),一切正常,但是当我为Appstore配置编译应用程序时,出现此错误,我在错误中进行了搜索,但没有发现任何帮助。
element中缺少必需的属性“ Include”。E:\ Users \ RezaRa \ AppData \ Roaming \ Embarcadero \ BDS \ 12.0 \ iPhoneOS6.1.sdk
任何的想法?
我有一个Firemonkey HD应用程序并将其部署在iPad 2上.工作正常.
当我在带有Retina显示屏的iPad 4上部署相同的应用程序时,我遇到了问题.
关键是我在表单上有一些绘图操作,需要精确的表格宽度和高度.
ShowMessage('form wh = ' + FloatToStr(TForm(FImage.Parent.Parent). Width) + ':' + FloatToStr(TForm(FImage.Parent.Parent).Height));
Run Code Online (Sandbox Code Playgroud)
在两台设备上我收到一条消息:
form wh = 1024:748
Run Code Online (Sandbox Code Playgroud)
我需要的是自动更改表单大小.
我该怎么做才能得到它?
更新:我尝试使用Screen.Size.Width但在Retina显示屏上有Screen.Size.Width = 1024.我做错了什么?
我有一小段代码:
DateTimeToString(DiffString, 't.zzz', TDT);
ShowMessage('TDT: ' + DateTimeToStr(TDT));
ShowMessage('DiffString: ' + DiffString);
Run Code Online (Sandbox Code Playgroud)
第一个ShowMessage的结果给出了随机好的DateTime TDT值...第二个,其中DiffString是exacly 00:00.000
任何人都可以在其他IDE中检查它吗?
如何为从我的应用程序创建的特定窗口挂钩窗口消息.我做到了这一点,但我得到一个错误说E2036 Variable required.
type
TSomeClass = class
...
WndProc(code : integer; wParam: WPARAM; lParam: LPARAM ) : LResult;
...
end;
var
SomeClass: TSomeClass;
procedure TForm1.Button1Click(Sender: TObject);
begin
...
SomeClass := TSomeClass.Create;
SetWindowsHookEx(WH_CALLWNDPROC, @SomeClass.WndProc, 0, GetCurrentThreadId);
...
end;
Run Code Online (Sandbox Code Playgroud) 我想知道如何在Delphi中下载协议https://的文件.我正在使用idhttp,但是当我点击下载它时会返回错误代码:
-1
Run Code Online (Sandbox Code Playgroud)
单击按钮后,几秒钟就会终止应用程序.
uses: IdHTTP, IdSSLOpenSSL;
IdHTTP1 := TIdHTTP.create(nil);
try
IdHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP1.Request.Accept := 'text/html, */*';
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.HandleRedirects := True;
IdHTTP1.get(FNomeArq,MS);
Ms.Seek(0,soFromBeginning);
header := IdHTTP1.Response.ContentType;
except on E : EIdHTTPProtocolException do begin
showmessage(intToStr(IdHTTP1.ResponseCode));
end;
on E: EIdSocketError do begin
showmessage(intToStr(IdHTTP1.ResponseCode));
end;
on E: Exception do begin
showmessage(intToStr(IdHTTP1.ResponseCode));
end;
end;
Run Code Online (Sandbox Code Playgroud)
我希望能够看到如何在Delphi中调用Windows API.最近我有一个关于GetProcessorAffinity的问题,并且Delphi声明作为答案的一部分发布.我想知道如何找到这种信息.
我有一个远程管理工具,是64位平台的必要更改.我使用Zlib进行压缩和解压缩内存流,但是在做了这个更改之后,当我尝试用64位平台编译我的项目时,Zlib类显示了几个错误,因为Zlib只能用于32位平台.
然后,我在互联网上搜索了一些用于压缩和解压缩内存流的类似类,我发现这个问题讨论的是关于LZMA类,它也可以像我需要的那样制作,类似于Zlib类.
我明白了这个建议:
您将面临的最大问题是您选择使用的库需要您知道要解压缩的文件大小.
所以,我在这里完全知道一些建议,试着解决这个问题.
换句话说,我想知道如何解压缩我的项目的服务器端接收的内存流的大小?
欢迎任何意见或建议.
我正在使用Indy从URL地址获取JSON.我的代码是用TIdSSLIOHandlerSocketOpenSSL作为IOHandler对TIdHTTP.
var IdHTTP: TIdHTTP;
IdSSL: TIdSSLIOHandlerSocketOpenSSL; // IO handler #1
IdnoSSL: TIdIOHandlerStack; // IO handler #2
JSON: String;
Run Code Online (Sandbox Code Playgroud)
我很好奇,如果有一些理由使用SSL作为处理程序,当网址很简单时http://www.example.com,不是https://www.example.com吗?
begin
IdHTTP := TIdHTTP.Create;
try
IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP);
IdHTTP.IOHandler := IdSSL;
// IdnoSSL:= TIdIOHandlerStack.Create(IdHTTP);
// IdHTTP.IOHandler := IdnoSSL;
JSON := IdHTTP.Get('http://www.example.com');
finally
IdHTTP.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
或者我应该删除TIdSSLIOHandlerSocketOpenSSL和使用noSSL TIdIOHandlerStack?
任何帮助或建议都是适用的.
当我关闭与某个客户端的连接时,会发生此错误.错误发生在服务器的此代码行中:
Received := SocketStrm.Read(Data, SizeOf(Data));
Run Code Online (Sandbox Code Playgroud)
而且,当智能手机重新启动时(或者,例如,当我关闭客户端应用程序时),丢失的客户端的数据不会从ListView服务器应用程序中删除.
有人可以帮我解决这2个错误吗?
以下是我发送数据的代码:
客户端(Android):
public class MainActivity extends AppCompatActivity {
private Socket xclientSocket;
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName("192.168.15.12");
xclientSocket = new Socket(serverAddr, 101);
new Thread(new CMDThread()).start();
} catch (Exception e1) {
System.out.println(e1.toString());
}
}
}
class CMDThread implements Runnable {
@Override
public void run() {
try {
while(xclientSocket.isConnected()){
BufferedReader xreader = new BufferedReader(new InputStreamReader(xclientSocket.getInputStream()));
DataOutputStream dOut = new DataOutputStream(xclientSocket.getOutputStream());
String xline;
if …Run Code Online (Sandbox Code Playgroud) delphi ×10
delphi-xe5 ×10
android ×2
compression ×1
firemonkey ×1
indy ×1
indy10 ×1
ios ×1
lzma ×1
memorystream ×1
sockets ×1
ssl ×1
winapi ×1