小编max*_*fax的帖子

如何检查数组中是否存在字符串?

我有这个代码:

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')不适用于此操作数类型

我想我不能这样做,所以我怎样才能正确执行我的任务呢?

arrays delphi string

17
推荐指数
3
解决办法
3万
查看次数

Delphi:idHttp + SSL

请解释一下如何使用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 ssl indy idhttp

12
推荐指数
2
解决办法
3万
查看次数

Delphi:滑动(动画)面板

是否有Delphi的滑动(动画)面板组件?

例如,它可以在Raize Components中找到(左侧面板带有"Hot Spot"或hide/show按钮).

我不需要一个可调整大小的面板,而是一个可以从左到右水平平滑滑动的面板+有一个隐藏/显示按钮(如果没有那个按钮,这不是什么大问题).

谢谢!

delphi animation panel sliding

11
推荐指数
4
解决办法
2万
查看次数

带有系统阴影的圆形表格

我试着这样做SetWindowRgn,但我做不到.

可以这样做(前2个角是圆形,窗口有阴影)就像这张照片?

在此输入图像描述

forms delphi rounding shadow region

11
推荐指数
1
解决办法
9065
查看次数

德尔福:航空玻璃标签

我想要像这里的标签(都是玻璃): 在此输入图像描述

程序是用Delphi或C++ Builder编写的.我在Winspector Spy&Window Detective中找不到一类标签.

我知道一个非常好的组件 - rkAeroTabs,但不幸的是它没有显示带玻璃的活动标签(这就是我需要的),而其他标签不是完全玻璃:http: //rmklever.com/wp-content/uploads/ AeroTabs.png

有谁知道如何获得这些玻璃标签?谢谢.

delphi tabs aero-glass

10
推荐指数
2
解决办法
2540
查看次数

Delphi XE2:空应用程序重量为7 Mb

为什么会这样?一个空项目(应用程序,*.exe)大小是7 Mb,为什么?

delphi size project delphi-xe2

10
推荐指数
1
解决办法
979
查看次数

如何在报表样式中增加listview的行高?

我需要将2px :)添加到列表视图中的一行高度(自定义绘制的进度条现在太窄).

改变Listview项目高度有两个好的答案,http://www.delphipages.com/forum/showthread.php?t = 49939,但我无法做到.

我知道可以使用图像列表,但我已经有16x16图像:)

有谁能够帮我?我会很感激的.

delphi listview row-height

9
推荐指数
2
解决办法
8277
查看次数

Delphi:简单的字符串加密

我有一个字符串 - 母板的序列号(只有数字和字母).如何加密/解密它并具有正常视图:仅从A到Z的字母和从0到9的数字.用户必须向我发送字符串,我必须回复.

我可以加密,但不可读的字符.

谢谢!

delphi encryption

8
推荐指数
3
解决办法
3万
查看次数

Delphi:CopyFileEx和Thread

我内部有一个线程和一个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,那么一切都将正常.

如何在线程内使用该函数?

谢谢.

delphi multithreading file-copying

8
推荐指数
1
解决办法
1651
查看次数

Delphi:IdHTTP + SSL不起作用.没错!

我使用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 ssl idhttp

7
推荐指数
1
解决办法
2万
查看次数