小编Jim*_*pas的帖子

Lockbox3 encryptstring:相同的字符串给出不同的加密结果

我用Delphi XE10尝试使用lockbox3.我想加密用户的输入字符串,并将其与验证值进行比较.但每次相同的输入字符串给出不同的加密结果.请问我的错是什么?

这里是给出此错误的示例代码

<UNIT CODE START>
unit Unit21;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, TPLB3.Codec, TPLB3.BaseNonVisualComponent, TPLB3.CryptographicLibrary,
  Vcl.StdCtrls;

type
  TForm21 = class(TForm)
    Button1: TButton;
    CryptographicLibrary1: TCryptographicLibrary;
    Codec1: TCodec;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form21: TForm21;

implementation

{$R *.dfm}

procedure TForm21.Button1Click(Sender: TObject);
var s0,s1 : string;
begin
    codec1.Password := 'ou[asdl[kn';
    s0 := 'asdfghjkl';
    codec1.EncryptString(s0,s1);
    label1.caption := s1;
end;

end.
<UNIT CODE END>

<FORM CODE …
Run Code Online (Sandbox Code Playgroud)

delphi cryptography aes lockbox-3

4
推荐指数
1
解决办法
1090
查看次数

TDatetimePicker格式显示错误

如果我设置TDateTimePicker组件(Delphi XE10)的属性"格式",例如.DDD d /米/ yyyy的话,就说明星期二14/ 47 /2016年!! 和日期31/12/2016为31/ 0 /2016!发生了什么事,拜托?

delphi tdatetimepicker

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

Delphi动态数组

我正在使用Delphi 10.0 Seattle.

假设我有这样的记录:

TmyRecord = record
  a,b : string;
  ar  : array of string
end;
Run Code Online (Sandbox Code Playgroud)

和这样的变量:

v : array of TmyRecord;
Run Code Online (Sandbox Code Playgroud)

和一些像这样的代码:

SetLength(v,2);
SetLength(v[0].ar,3);
SetLength(v[1].ar,2);
SetLength(v[0].ar[0],10);
SetLength(v[0].ar[1],5);
SetLength(v[0].ar[2],7);
...
v[0].ar[0][0] := 'aaaa';
v[0].ar[0][1] := 'bbbb';
....
v[1].ar[1][0] := 'xxxx';
Run Code Online (Sandbox Code Playgroud)

请问这句话:

SetLength(v,0);
Run Code Online (Sandbox Code Playgroud)

释放所有占用的内存,还是我必须手动释放它?

arrays delphi dynamic delphi-10-seattle

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

如何使用 Delphi 10.2 在画布中垂直 + 水平绘制文本

我想在画布上垂直绘制一个单词,并在它旁边水平绘制一个单词。我使用了这样的旧建议:

在 maiForm 的创建事件中:

GetObject(MainForm.Font.Handle,SizeOf(TLogFont),@LogFont);
NewLogFont := LogFont;
NewLogFont.lfEscapement := 900;
NewFont := CreateFontIndirect(NewLogFont);
OldFont := MainForm.Font.Handle;
Run Code Online (Sandbox Code Playgroud)

在哪里

LogFont,NewLogFont  : TLogFont;
NewFont,OldFont     : HFont;
Run Code Online (Sandbox Code Playgroud)

并在绘图程序中:

fontTemp := TFont.Create;
fontTemp.Assign(aCanvas.Font);
......
aCanvas.Font.Handle := newFont; // if i coment this line the two strings drawn verically else both drawn horizonatlly
aCanvas.Font.Size := 8;
h := textHeight('1');
aCanvas.textOut(x,y,aString);
aCanvas.Font.Assign(fontTemp);
aCanvas.textOut(x+20,y,bString);
.....
fontTemp.Free;
Run Code Online (Sandbox Code Playgroud)

在我的旧应用程序 (D2007) 中,它运行正常,但在 Delphi 10.2 中,方向的变化(从 vert 到 horiz)会将两个字符串都更改为 horiz。请问有什么帮助吗?

delphi fonts draw

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

Delphi 11 中“SSL 协商失败”

我尝试使用下面的代码发送电子邮件(取自http://delphiprogrammingdiary.blogspot.com/2014/12/how-to-send-email-in-delphi.html),但没有成功。\n我不断收到错误(尽管客户端已成功与服务器连接,但在语句“Send(IdMessage1)”处出现“套接字错误 10054 连接由对等方重置”两次,最后“SSL 协商失败”)。

\n
    procedure SendEmailClick(Sender: TObject);\nvar\n    IdMessage1: TIdMessage;\n    Attachmentfile: TIdAttachmentFile;\nbegin\n// IO HANDLER SETTINGS //\nWith TIdSSLIOHandlerSocketOpenSSL.Create(nil) do\n    begin\n        Destination := \'mySrver.com:587\';\n        Host := \'mySrver.com\';\n        MaxLineAction := maException;\n        Port := 587;\n        SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];\n        SSLOptions.Mode := sslmUnassigned;\n        SSLOptions.VerifyMode := [];\n        SSLOptions.VerifyDepth := 0;\n    end;\n//SETTING SMTP COMPONENT DATA //\nwith TIdSMTP.Create(nil) do begin\n    Host := \'mySrver.com\';\n    Port := 587;\n    Username := myMailAddress; // please change to your gmail address //\n    Password := myPassword;\n    IOHandler := TIdSSLIOHandlerSocketOpenSSL.create;\n    AuthType := …
Run Code Online (Sandbox Code Playgroud)

delphi smtp indy

0
推荐指数
1
解决办法
1777
查看次数

Delphi 11 IDE 可以在 HTML 或 RichText 模式下工作吗?

如果程序员能够以HTMLorRichText格式编写代码,例如变量可以具有index in subscript formator 可以是underline代码的一部分,或者可以different color在代码的一部分中使用 a 等,那就太好了。

Delphi IDE有这个功能吗?

如果是这样,有人可以向我解释是否以及如何HTML选择并HTML formatting做我想做的事吗?

delphi delphi-11-alexandria

-1
推荐指数
1
解决办法
152
查看次数