エディターのてっぺんに、
タブが付いてると思います。
プロジェクトに複数のコードが入っている場合は、
ここで切り替えられます。
とりあえずUnit1に戻りましょう。
ちなみに、ここのタブを閉じても、
プロジェクトから削除されるわけではないので注意。
Unit1に戻ったら、
UCryptをUnit1から使えるようにしましょう。
Unit1のuses節を
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
↓
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UCrypt;
と、編集します。
UCryptを追加しただけですね。
ちなみに、この「UCrypt」という単語は、
UCrypt.pas の、.pas以前の部分です。
もしくは、UCrypt.pasの1行目、
unit UCrypt;
と、unitの右に書いてある名前です。
ライブラリを取り込んだけど、usesに書き足す単語がわからない、
なんて時は、1行目を見てみてください。
(ちなみに、Delphiから保存しようとしたとき、
1行目のunit と、ファイル名が一致しないと怒られるので、
普通はunitもファイル名も一緒のはずですが。
さて、これでUCryptの中のコードが、
Unit1の中のコードから参照できるようになりました。
早速、Janeから、トリップ生成関数をもらいましょう。
Form1のpublic節に関数宣言を追加します。
TForm1 = class(TForm)
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
↓
TForm1 = class(TForm)
private
{ Private 宣言 }
public
{ Public 宣言 }
function Trip(key:string):string;
end;
そしたら、実装部に、以下の関数を実装します。
implementation
{$R *.dfm}
//ここに以下のコードを追加するです
end.
function TForm1.Trip(Key: string): string;
{----------------------------------
$salt = substr($key."H.", 1, 2);//<--ぁゃιぃ
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
-----------------------------------}
function MakeSalt(const Key: string): string;
var
i: Integer;
begin
Result := Copy(Copy(Key, 2, 2) + 'H.', 1, 2);
for i := 1 to Length(Result) do
begin
if ( Ord(Result[i]) < Ord('.') ) or ( Ord('z') < Ord(Result[i]) ) then
Result[i] := '.';
if ((Ord(':') <= Ord(Result[i])) and (Ord(Result[i]) <= Ord('@'))) then
Result[i] := Char(Ord(Result[i]) - Ord(':') + Ord('A'))
else if ((Ord('[') <= Ord(Result[i])) and (Ord(Result[i]) <= Ord('`'))) then
Result[i] := Char(Ord(Result[i]) - Ord('[') + Ord('a'));
end;
end;
var
Salt: string;
begin
if Key = '' then
begin
Result := '#';
end else
begin
Salt := MakeSalt(Key);
Result := ' ◆' + Copy(crypt(Key, Salt), 4, 10);
end;
end;
OpenJaneの中の人に感謝しましょう。
ありがたや ありがたや
今回はこれでもう80%は完成です。
まだ全然コード書いてないけど・・・
コンテンツ
最新の12件
2023-06-12
2021-02-15
2013-06-19
2012-07-14
2012-02-04
2012-01-06
2011-03-31
2010-08-26
2010-03-15
2009-10-21
2009-02-12
2008-11-18
メニュー編集
- counter: 1174
- today: 1
- yesterday: 0
- online: 3