山东省电力用户编码规律
2015-09-07 12:37
190 查看
10位数,前9位有用,后一位是校验码,奇数位*3 + 偶数*1 得到的个位数
procedure TForm1.Button1Click(Sender: TObject);
var
LText: string;
I: Integer;
LSum: Integer;
begin
LSum := 0;
LText := Edit1.Text;
if Length(LText) <> 9 then
begin
ShowMessage('Error');
Exit;
end;
for I := 1 to Length(LText) do
begin
if not (LText[I] in ['0'..'9']) then
begin
ShowMessage('Error');
Exit;
end;
end;
for I := 1 to Length(LText) do
begin
if I mod 2 = 1 then
begin
LSum := LSum + ((Integer(LText[I]) - Integer('0')) * 3);
end else
begin
LSum := LSum + ((Integer(LText[I]) - Integer('0')) * 1);
end;
end;
LSum := LSum mod 10;
LText := LText + IntToStr(LSum);
Edit1.Text := LText;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
LText: string;
I: Integer;
LSum: Integer;
begin
LSum := 0;
LText := Edit1.Text;
if Length(LText) <> 9 then
begin
ShowMessage('Error');
Exit;
end;
for I := 1 to Length(LText) do
begin
if not (LText[I] in ['0'..'9']) then
begin
ShowMessage('Error');
Exit;
end;
end;
for I := 1 to Length(LText) do
begin
if I mod 2 = 1 then
begin
LSum := LSum + ((Integer(LText[I]) - Integer('0')) * 3);
end else
begin
LSum := LSum + ((Integer(LText[I]) - Integer('0')) * 1);
end;
end;
LSum := LSum mod 10;
LText := LText + IntToStr(LSum);
Edit1.Text := LText;
end;
相关文章推荐
- sql语句查询txt 文件
- [以早期版本为例]快速Dump爱加密的方法
- Mac下AndroidStudio常用快捷键整理
- WEB POST请求XML
- C#和Delphi跟踪的问题,和实际数据不一样
- simpleadapter的语法
- 图片类型的判断
- matlab库冲突问题
- ssh密钥代理转发(ssh agent forwarding)
- ssh防止连接掉线
- 讨厌C#的fixed,直接用指针的方法
- 排序算法(四):优先队列、二叉堆以及堆排序
- 【转】Objective-C 与 Runtime:为什么是这样?
- Apache设置局域网内ip地址访问
- matlab保存figure
- 防止SQL注入
- Session生命周期讨论
- centos 7 systemd docker http proxy
- h.264中的DTS和PTS
- sap和dinic模板