亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? genpass.pas

?? 用delphi寫的密碼管理工具.
?? PAS
字號:
unit GenPass;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, ExtCtrls, Clipbrd;

type
  TfraGenPass = class(TFrame)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    editPassLen: TEdit;
    UpDown1: TUpDown;
    editPassCount: TEdit;
    UpDown2: TUpDown;
    btnGen: TButton;
    btnClear: TButton;
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    chkDigit: TCheckBox;
    chkUpper: TCheckBox;
    chkLower: TCheckBox;
    editCharSet: TEdit;
    Label3: TLabel;
    editPrefix: TEdit;
    btnCopy: TButton;
    procedure chkUpperClick(Sender: TObject);
    procedure editCharSetChange(Sender: TObject);
    procedure chkLowerClick(Sender: TObject);
    procedure chkDigitClick(Sender: TObject);
    procedure btnGenClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure Memo1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btnCopyClick(Sender: TObject);
  private
    { Private declarations }
    function RandomStr(Length: Integer; CharSetStr: string): string;
  public
    { Public declarations }
  end;

implementation

uses Main;

{$R *.DFM}

function TfraGenPass.RandomStr(Length: Integer; CharSetStr: string): string;
var
  i: Integer;
begin
  SetLength(Result, Length);
  for i := 1 to Length do
    Result[i] := CharSetStr[Random(System.Length(CharSetStr) - 1) + 1];
end;

//--------------------------------------------------------------------------------------

procedure TfraGenPass.editCharSetChange(Sender: TObject);
var
  s: string;
  c: Char;
  i, j, iMin, iLen: Integer;
begin
  { 按ASCII碼排序 }
  s := editCharSet.Text;
  iLen := Length(s);
  for i := 1 to iLen - 1 do
  begin
    iMin := i;
    for j := i + 1 to iLen do
      if s[iMin] > s[j] then
        iMin := j;
    if iMin <> i then
    begin
      c := s[iMin];
      s[iMin] := s[i];
      s[i] := c;
    end;
  end;

  { 去掉重復(fù)的 }
  i := 1;
  while i <= Length(s) do
  begin
    s := Copy(s, 1, i) + StringReplace(Copy(s, i + 1, MaxInt), s[i], '', [rfReplaceAll]);
    Inc(i);
  end;

  editCharSet.Text := s;
end;

procedure TfraGenPass.chkUpperClick(Sender: TObject);
var
  c: Char;
  sCharSet: string;
begin
  sCharSet := editCharSet.Text;

  if chkUpper.Checked then
  begin
    for c := 'A' to 'Z' do
      if Pos(c, sCharSet) = 0 then
        sCharSet := sCharSet + c
  end
  else begin
    for c := 'A' to 'Z' do
      if Pos(c, sCharSet) <> 0 then
        sCharSet := StringReplace(sCharSet, c, '', [rfReplaceAll]);
  end;

  editCharSet.Text := sCharSet;
end;


procedure TfraGenPass.chkLowerClick(Sender: TObject);
var
  c: Char;
  sCharSet: string;
begin
  sCharSet := editCharSet.Text;

  if chkLower.Checked then
  begin
    for c := 'a' to 'z' do
      if Pos(c, sCharSet) = 0 then
        sCharSet := sCharSet + c
  end
  else begin
    for c := 'a' to 'z' do
      if Pos(c, sCharSet) <> 0 then
        sCharSet := StringReplace(sCharSet, c, '', [rfReplaceAll]);
  end;

  editCharSet.Text := sCharSet;
end;

procedure TfraGenPass.chkDigitClick(Sender: TObject);
var
  c: Char;
  sCharSet: string;
begin
  sCharSet := editCharSet.Text;

  if chkDigit.Checked then
  begin
    for c := '0' to '9' do
      if Pos(c, sCharSet) = 0 then
        sCharSet := sCharSet + c
  end
  else begin
    for c := '0' to '9' do
      if Pos(c, sCharSet) <> 0 then
        sCharSet := StringReplace(sCharSet, c, '', [rfReplaceAll]);
  end;

  editCharSet.Text := sCharSet;
end;

procedure TfraGenPass.btnGenClick(Sender: TObject);
var
  i: Integer;
begin
  if editCharSet.Text = '' then
    raise Exception.Create('字符集為空');

  if StrToInt(editPassLen.Text) <= Length(editPrefix.Text) then
    raise Exception.Create('前綴長度已經(jīng)等于或超過密碼長度。');

  Randomize;
  for i := 1 to StrToInt(editPassCount.Text) do
    Memo1.Lines.Add(editPrefix.Text +
      RandomStr(StrToInt(editPassLen.Text) - Length(editPrefix.Text), editCharSet.Text));
end;

procedure TfraGenPass.btnClearClick(Sender: TObject);
begin
  Memo1.Lines.Clear;
end;

procedure TfraGenPass.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = Ord('A')) and (Shift = [ssCtrl]) then
    Memo1.SelectAll;
end;

procedure TfraGenPass.btnCopyClick(Sender: TObject);
begin
  if Memo1.SelText = '' then
    Clipboard.SetTextBuf(PChar(Memo1.Text))
  else
    Clipboard.SetTextBuf(PChar(Memo1.SelText));
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区免费大片 | 欧美日韩免费观看一区二区三区| 精品一区二区免费| 久久精品99国产国产精| 五月综合激情网| 男男成人高潮片免费网站| 婷婷一区二区三区| 麻豆一区二区三区| 久久99热这里只有精品| 国产一级精品在线| 福利视频网站一区二区三区| 国产精品资源在线| www.亚洲激情.com| 日本丰满少妇一区二区三区| 精品视频色一区| 日韩一区二区三区电影在线观看 | 久久综合色鬼综合色| 久久女同精品一区二区| 国产日韩三级在线| 亚洲免费观看视频| 午夜免费久久看| 国产精品资源站在线| 91丨九色porny丨蝌蚪| 欧美日韩一卡二卡三卡| 精品福利在线导航| 亚洲男同性恋视频| 丝袜国产日韩另类美女| 欧美日韩国产中文| 日韩一区二区高清| 国产精品素人一区二区| 婷婷国产v国产偷v亚洲高清| 韩国精品主播一区二区在线观看| 成人免费av资源| 欧美一级欧美三级| 久久久99精品久久| 午夜精品一区二区三区免费视频 | 国产凹凸在线观看一区二区| 99精品国产热久久91蜜凸| 在线成人午夜影院| 国产精品久久久久久久久免费相片| 亚洲精品久久久蜜桃| 日本不卡123| 在线观看欧美精品| 2022国产精品视频| 亚洲国产成人av网| av影院午夜一区| 精品久久久久久综合日本欧美| 亚洲少妇中出一区| 国产一区二区在线影院| 欧美日韩精品是欧美日韩精品| 国产午夜精品一区二区三区视频| 亚洲h在线观看| 972aa.com艺术欧美| 国产亚洲人成网站| 麻豆成人在线观看| 欧美日韩精品免费| 一区二区三区在线观看动漫| 国产成a人亚洲| 精品国产乱码久久久久久闺蜜| 亚洲福中文字幕伊人影院| 成人av网址在线| 欧美一区二区福利视频| 亚洲欧洲在线观看av| 中文字幕亚洲电影| 国产精品一区二区你懂的| 91精品国模一区二区三区| 亚洲午夜在线观看视频在线| 91网站最新地址| 国产精品乱子久久久久| 国产电影精品久久禁18| 在线综合+亚洲+欧美中文字幕| 亚洲一区二区三区在线| 在线欧美日韩精品| 亚洲第一在线综合网站| 欧美日韩一区二区欧美激情| 亚洲欧美激情插| 色婷婷久久久久swag精品| 中文字幕中文在线不卡住| 成人黄色av网站在线| 国产精品午夜春色av| 成人免费视频一区| 18涩涩午夜精品.www| 精品国产亚洲在线| 国产精品综合久久| 国产精品欧美久久久久无广告| 国产a级毛片一区| 中文字幕在线不卡一区二区三区| 不卡一区二区三区四区| 亚洲另类在线制服丝袜| 欧日韩精品视频| 日本最新不卡在线| 亚洲精品一区二区三区精华液| 国产成人综合亚洲91猫咪| 国产女人18毛片水真多成人如厕 | 欧美一卡二卡在线| 免费欧美日韩国产三级电影| 久久天天做天天爱综合色| 成人av在线播放网址| 亚洲高清一区二区三区| 日韩视频中午一区| 成人在线视频一区二区| 亚洲国产精品嫩草影院| 欧美精品一区二区在线播放| 成人动漫视频在线| 午夜视频久久久久久| 久久综合久久综合久久综合| 国产午夜三级一区二区三| 不卡一区中文字幕| 日本女人一区二区三区| 中文字幕欧美三区| 91超碰这里只有精品国产| 国产很黄免费观看久久| 一区二区三区精品在线观看| 精品少妇一区二区三区视频免付费| 国产精品资源在线观看| 亚洲成人免费观看| 国产欧美久久久精品影院| 欧美日韩一区二区在线观看视频| 黄网站免费久久| 亚洲亚洲精品在线观看| 久久精品人人做人人综合| 欧美私人免费视频| 成+人+亚洲+综合天堂| 青青草成人在线观看| 亚洲黄网站在线观看| 久久久99精品免费观看| 欧美精品v日韩精品v韩国精品v| 成人免费福利片| 狠狠色丁香久久婷婷综| 五月婷婷色综合| 亚洲久本草在线中文字幕| 国产亚洲精品bt天堂精选| 91麻豆精品国产91久久久久久久久 | 日韩亚洲欧美在线| 色一情一乱一乱一91av| 国产精品99久| 久久电影网电视剧免费观看| 亚洲免费观看视频| 国产日韩在线不卡| 国产调教视频一区| 久久综合九色综合欧美亚洲| 欧美一级xxx| 欧美裸体一区二区三区| 色88888久久久久久影院按摩| 成人动漫在线一区| 高清视频一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲成av人片一区二区三区| 亚洲欧洲制服丝袜| 亚洲蜜臀av乱码久久精品| 综合分类小说区另类春色亚洲小说欧美| 欧美精品一区视频| 久久久久国产精品麻豆| 久久久精品一品道一区| 久久久久久久久99精品| 国产亚洲精品7777| 日本一区二区不卡视频| 国产精品高潮久久久久无| 亚洲欧洲韩国日本视频| 玉足女爽爽91| 丝袜亚洲另类丝袜在线| 美腿丝袜亚洲综合| 黄色日韩三级电影| 国产成人鲁色资源国产91色综| 丁香亚洲综合激情啪啪综合| 成人精品鲁一区一区二区| 成人91在线观看| 欧美亚洲免费在线一区| 51精品国自产在线| 久久蜜桃av一区精品变态类天堂 | 欧美精品一区二区三区在线播放 | 亚洲福利国产精品| 蜜桃久久久久久久| 国产成人精品网址| 色婷婷国产精品| 在线播放中文一区| 久久综合狠狠综合久久综合88| 国产日韩欧美麻豆| 亚洲精品欧美激情| 免费视频一区二区| 成人精品一区二区三区中文字幕| 91麻豆文化传媒在线观看| 在线播放国产精品二区一二区四区 | 欧美在线观看一二区| 日韩一卡二卡三卡| 国产精品久久久久久久浪潮网站 | 秋霞电影一区二区| 日韩精品最新网址| 欧美极品另类videosde| 综合久久国产九一剧情麻豆| 日一区二区三区| eeuss国产一区二区三区| 欧美三片在线视频观看| 久久久一区二区| 午夜天堂影视香蕉久久| 国产成人在线看| 91精品麻豆日日躁夜夜躁| 国产精品久久久久9999吃药| 欧美aaa在线| 欧美性三三影院|