如何从Delphi中删除ListBox中的重复项?我知道这个:
for i := ListBox1.Items.Count-1 downto 1 do
for j := 0 to i-1 do
if ListBox1.Items[i] = ListBox1.Items[j] then
ListBox1.Items.Delete[i];
Run Code Online (Sandbox Code Playgroud)
但是,只有当前10个字母相同时我才需要删除重复项,所以我试过这个:
for i := ListBox1.Items.Count-1 downto 1 do
for j := 0 to i-1 do
if copy(ListBox1.Items[i],1,11) = copy(ListBox1.Items[j],1,11) then
ListBox1.Items.Delete[i];
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试删除重复项时,我得到了债券错误列表:(
我在Delphi中看到很多用于创建电子邮件发送应用程序的示例,我们必须使用Tidsmtp和tidmessage为邮件服务器发送,该服务器与任何经过小修改的邮件服务器完美配合.
那么创建我们自己的TIdsmtpserver呢?我只想发送电子邮件,我不在乎接收电子邮件.indy 10.5.8(XE2)中是否有任何示例可以在没有服务提供者帮助的情况下创建我们自己的smtpserver.
我正在尝试(在这个社区的帮助下)将我的第一个客户端/服务器应用程序放在一起.
我正在使用Indy 10和Delphi Xe2,但怀疑我的问题不在于那些,而是在于如何使用套接字(如果你问我,那就是巫术和黑色艺术).
因为我经常按下异常的断点并逐步执行我的代码,然后按Alt + F2停止,我的下一次运行经常会遇到异常"已经连接",最终我得到"太多的连接".
我怎么能整理一下呢?
(另外,有没有人有一个使用try ...的演示,除了,还有尝试...最终在Indy演示中?)
我正在尝试使用Goutte提交表单.该表单使用jQuery将表单序列化为json并发布到url.提交后,它会更新浏览器的cookie.
我要么:
我尝试使用Goutte的addContent
方法创建一个表单然后发布它,但它不是作为JSON发送的,只是一个常规的查询字符串.
我想将Button1Click事件处理程序的代码包装到名为Show()的函数中,以便以后重用它.
事件处理程序代码:
procedure TForm2.Button1Click(Sender: TObject);
begin
email := Form1.ed_Email.Text;
password := Form1.Ed_typedpass.Text;
MD5 := GetMD5;
MD5.Init;
MD5.Update(TByteDynArray(RawByteString(password)), Length(password));
password := LowerCase(MD5.AsString);
end
Run Code Online (Sandbox Code Playgroud)
当我把下面的代码放到我的脚本中时,我得到非声明变量错误(因为我调用的是我的脚本中未声明的变量),但实际情况并非如此.
所有变量在程序内部都能正常工作,但不在函数内
function Show();
begin
email := Form1.ed_Email.Text;
password := Form1.Ed_typedpass.Text;
MD5 := GetMD5;
MD5.Init;
MD5.Update(TByteDynArray(RawByteString(password)), Length(password));
password := LowerCase(MD5.AsString);
end;
Run Code Online (Sandbox Code Playgroud)