英文字母和字按asc大小固定度的流水如何,有源。
用字作流水非常,但是我想用字母也到流水中去。
如三位流水:如果用字到999,如果用字母可以到zzz,反正都
是字符,用字母作流水可以短度。
[解决办法]
在数据库里定义ID字段
然后在窗体里把MAX的字段值+1后再转成ASCII码
[解决办法]
//参考如下代码
function IncIdent(AIdent: string): string;
const
cChars = '0123456789abcdefghijklmnopqrstuvwxyz ';
var
I, J, K: Integer;
vBreak: Boolean;
begin
Result := AIdent;
for I := Length(AIdent) downto 1 do
begin
vBreak := True;
for J := Length(AIdent) downto 1 do
begin
K := Pos(AIdent[J], cChars);
if K < Length(cChars) then
begin
Result[J] := cChars[K + 1];
for K := Length(AIdent) downto J + 1 do Result[K] := cChars[1];
vBreak := false;
Break;
end;
end;
if vBreak then Break;
end;
end; { IncIdent }
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := IncIdent(Caption);
end;
[解决办法]
//简化一下这样
function IncIdent(AIdent: string): string;
const
cChars = '0123456789abcdefghijklmnopqrstuvwxyz ';
var
J, K: Integer;
vBreak: Boolean;
begin
Result := AIdent;
for J := Length(AIdent) downto 1 do
begin
K := Pos(AIdent[J], cChars);
if K < Length(cChars) then
begin
Result[J] := cChars[K + 1];
for K := Length(AIdent) downto J + 1 do Result[K] := cChars[1];
vBreak := false;
Break;
end;
end;
end; { IncIdent }