我有这个代码:
var
ExtString: string;
const
Extensions : array[0..4] of string = ('.rar', '.zip', '.doc', '.jpg', '.gif');
if ExtString in Extensions then
Run Code Online (Sandbox Code Playgroud)
在最后一行,我收到一个错误:
[DCC错误] E2015运算符('then')不适用于此操作数类型
我想我不能这样做,所以我怎样才能正确执行我的任务呢?
请解释一下如何使用SSL(https://)从服务器下载文件.我没有在互联网上找到合适的答案.
每个人都说TIdSSLIOHandlerSocket,但我只有TIdSSLIOHandlerSocketOpenSSL.如果我使用TIdSSLIOHandlerSocketOpenSSL,我有一个错误'无法加载SSL库'.有人说它需要一个图书馆,但最不提的是它.我是否需要使用http://www.indyproject.org/sockets/SSL.EN.aspx中的库?
我在程序的文件夹中有这些DLL.根据:http://edn.embarcadero.com/article/31279 "在运行时,Indy尝试加载libeay32.dll和ssleay32.dll." 我不知道Indy试图加载DDL的位置 - >我有一个错误:'无法加载SSL库.'
procedure TForm1.FormCreate(Sender: TObject);
var UpdateMemoryStream:tmemorystream;
begin
try
UpdateMemoryStream:=TMemoryStream.Create;
try
idhttp2.Get('https://example.com/list.rar',UpdateMemoryStream); //I have: Exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'
except
on E : Exception do
begin showmessage('Error: '+E.Message);
end;
end;
UpdateMemoryStream.SaveToFile('d:\1.rar');
finally
UpdateMemoryStream.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
为什么我有这个错误?我有Delphi 2010.
是否有Delphi的滑动(动画)面板组件?
例如,它可以在Raize Components中找到(左侧面板带有"Hot Spot"或hide/show按钮).
我不需要一个可调整大小的面板,而是一个可以从左到右水平平滑滑动的面板+有一个隐藏/显示按钮(如果没有那个按钮,这不是什么大问题).
谢谢!
我试着这样做SetWindowRgn,但我做不到.
可以这样做(前2个角是圆形,窗口有阴影)就像这张照片?

我想要像这里的标签(都是玻璃):

程序是用Delphi或C++ Builder编写的.我在Winspector Spy&Window Detective中找不到一类标签.
我知道一个非常好的组件 - rkAeroTabs,但不幸的是它没有显示带玻璃的活动标签(这就是我需要的),而其他标签不是完全玻璃:http: //rmklever.com/wp-content/uploads/ AeroTabs.png
有谁知道如何获得这些玻璃标签?谢谢.
为什么会这样?一个空项目(应用程序,*.exe)大小是7 Mb,为什么?
我需要将2px :)添加到列表视图中的一行高度(自定义绘制的进度条现在太窄).
改变Listview项目高度有两个好的答案,http://www.delphipages.com/forum/showthread.php?t = 49939,但我无法做到.
我知道可以使用图像列表,但我已经有16x16图像:)
有谁能够帮我?我会很感激的.
我有一个字符串 - 母板的序列号(只有数字和字母).如何加密/解密它并具有正常视图:仅从A到Z的字母和从0到9的数字.用户必须向我发送字符串,我必须回复.
我可以加密,但不可读的字符.
谢谢!
我内部有一个线程和一个Progress Routine(一个函数)(在我的线程类中).
我尝试在线程内执行此操作:
CopyFileEx(pchar(ListToCopy.Strings[Loop]),pchar(TN+ExtractFileName(ListToCopy.Strings[Loop])), @ProgressRoutine, nil, nil, 0);
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:"需要变量"(错误在于:@ProgressRoutine).如果要在线程外部使函数ProgressRoutine,那么一切都将正常.
如何在线程内使用该函数?
谢谢.
我使用TidHTTP + TIdSSLIOHandlerSocketOpenSSL + 2 DLL:来自http://indy.fulgan.com/SSL的 ssleay32.dll和libeay32.dll .
但我可以在HTTP Analyzer中看到我的程序的所有工作!它可以用作HTTP,而不是HTTPS.如果我使用Opera,我看不到使用相同网站下载(https://esta.cbp.dhs.gov/esta).
我没有为TidHTTP和TIdSSLIOHandlerSocketOpenSSL设置任何特殊参数(可能是我必须但我不知道到底是什么).
我必须使用TIdSSLVersion(sslvSSLv23)+ SSL证书的位置吗?我在哪里可以获得此证书?还是只有RootCertFile?
如何将idHttp的端口更改为443(我必须这样做吗?)?
我用:
procedure TForm1.FormCreate(Sender: TObject);
var mem:tmemorystream;
begin
try
mem:=TMemoryStream.Create();
try
idhttp1.Get('https://esta.cbp.dhs.gov/esta/',Mem);
except
on E : Exception do ShowMessage(E.Message);
end;
finally
mem.Free;
idhttp1.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
请参阅我的视频:http://liga-installer.realservers.info/ssl.mp4
截屏:

谢谢谢谢你的帮助!
delphi ×10
idhttp ×2
ssl ×2
aero-glass ×1
animation ×1
arrays ×1
delphi-xe2 ×1
encryption ×1
file-copying ×1
forms ×1
indy ×1
listview ×1
panel ×1
project ×1
region ×1
rounding ×1
row-height ×1
shadow ×1
size ×1
sliding ×1
string ×1
tabs ×1