我是靠谱客的博主 俊秀蜜粉,最近开发中收集的这篇文章主要介绍实现获取 按照0-9,a-z,A-Z的顺序规则获取2位字符(转码),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,StrUtils
;
type
TForm1 = class(TForm)
btn4: TButton;
procedure btn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function FindStr(Strings: TStrings; const SubStr: string): Integer;
begin
for Result := 0 to Strings.Count-1 do
if AnsiContainsStr(Strings[Result], SubStr) then
//AnsiContainsStr和AnsiContainsText在StrUtils单元中定义,Str遵循标准约定来表示比较的时候区分大小写的而Text则表示不区分大小写
exit;
Result := -1;
end;
function SJZH(i: integer): string;
begin
Result := '';
if i<10 then
//0..9
begin
Result := IntToStr(i);
end
else
if (i>9) and (i<36) then
//a..z
begin
Result:= Chr(97+i-10);
end
else
if i>35 then
// A..Z
begin
Result:= Chr(65+i-36);
end;
end;
function GetSj(Strings: TStrings): String;
var
sj:string;
i,j:Integer;
begin
Result:='';
for i:=0 to 61 do
begin
for j:=0 to 61 do
begin
sj:=Concat(SJZH(i), SJZH(j));
if FindStr(Strings,sj)<0
then
begin
Result:=sj;
Exit;
end;
end;
end;
end;
procedure TForm1.btn4Click(Sender: TObject);
var
sjList:TStringList;
i,j:Integer;
sj:string;
begin
sjList:=TStringList.Create;
sjList.Add('00');
sjList.Add('ab');
sjList.Add('ac');
sjList.Add('ae');
sj:=GetSj(sjList);
ShowMessage(sj);
end;
end.

AnsiContainsStr和AnsiContainsText在StrUtils单元中定义,Str遵循标准约定来表示比较的时候区分大小写的而Text则表示不区分大小写;

Chr:delphi版本,低于2009的,返回ASCII。

要是delphi版本高于2009(含),则delphi是unicode版本

for i:=0 to 25 do

begin

ShowMessage(Chr(97+i)); //a..z

ShowMessage(Chr(65+i)); //A..Z

end;

 

Concat 所在单元 System 相当于‘+’ ,但是效率比‘+’高

 

 

最后

以上就是俊秀蜜粉为你收集整理的实现获取 按照0-9,a-z,A-Z的顺序规则获取2位字符(转码)的全部内容,希望文章能够帮你解决实现获取 按照0-9,a-z,A-Z的顺序规则获取2位字符(转码)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部