QQ:6450046
易天
易天 之 IT人生 机械行业企业信息化项目实施,项目管理系统,参数化产品设计、PDM/CAPP/PANTRYMAN/PLM一体化系统。
博客园
首页
社区
新随笔
联系
管理
订阅
编码器系统中,字符和数字混合递增形成顺序号的解决方案
在编码器系统中,编码的形成是按照预先定义好的编码规则的。企业的编码规则各式各样,在对顺序号的编码形成规则上一般分为这样几种:
1、全部由0-9数字形成;000-999
2、全部由大小写英文字母组成;AAA-ZZZ
3、字母和数字一起组成;A00-Z99
对于上述的几种类型还可以有其他的变种形成方式;
如果顺序号码段是3位,全部由0-9的数字形成时,程序实现较简单让它作为数值型数据加1即可获得下一个顺序码。下面对于字符串类型的顺序号全部由字符或字母和数字的形成给出了一种解决方案,这种解决方案也解决了全部由数字形成的顺序号到达最大999时,下一个顺序号不让其变成000的情况;
在编码器系统的数据库中,形成的编码都会被存储起来,如编码1CB11200A01,后三位是顺序号,他会被存储到数据库表code字段code_h中,
code_h
1CB11200A01
这里讨论的不是编码的存储方法,所以这里就不再深入了。这里想说的是我们可以从数据库表中获得当前类别的最大顺序号A01。下面写了一个函数来实现从A01变到A02,把A01作为参数传入,返回值就是我们需要的A02。
private
string
getNextString(
string
source)
{
char
[] temp
=
source.ToCharArray();
int
h;
h
=
1
;
for
(
int
i
=
temp.Length
-
1
;i
>=
0
;i
--
)
{
if
(
!
char
.IsDigit(temp[i]))
{
int
a;
a
=
Convert.ToInt16(temp[i]);
if
(a
==
72
||
a
==
78
||
a
==
89
||
a
==
87
)
a
+=
2
;
else
a
+=
h;
if
(a
>
90
)
{
temp[i]
=
Convert.ToChar(
65
);
h
=
1
;
}
else
{
temp[i]
=
Convert.ToChar(a);
h
=
0
;
}
}
else
{
int
a;
a
=
Convert.ToInt16(temp[i])
+
h;
if
(a
>
57
)
{
if
(i
!=
0
)
temp[i]
=
Convert.ToChar(
48
);
else
temp[i]
=
Convert.ToChar(
65
);
h
=
1
;
}
else
{
temp[i]
=
Convert.ToChar(a);
h
=
0
;
}
}
}
string
w;
w
=
""
;
for
(
int
i
=
0
;i
<
temp.Length;i
++
)
{
w
+=
temp[i];
}
return
w ;
}
这个函数对参数的位数,也就是字符串的长度没有限制。
它会生成从A01-Z99的编码,也会获得999的下一个号A00。
这是我进入公司后,为编码系统的完善作了一点贡献。
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted @ 2007-07-07 15:53
易 天
阅读(151)
评论(0)
编辑
收藏
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
联发科宣布Android手机新平台
·
惠普在华PC份额跌至第五 华硕跻身前四
·
IT大鳄纷纷争夺企业级市场蛋糕 或成为下一个拼抢高地
·
为爱编程,IT人的情人节
·
诺基亚传向台湾厂商订购2.5G,2.75G芯片
»
更多新闻...
最新知识库文章
:
·
十年程序员
·
HTTP 协议详解
·
像设计Web程序那样设计建筑
·
向Google学习打造灵动的web体验
·
高级编程语言的发展历程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
公告
昵称:
易 天
园龄:
5年3个月
粉丝:
0
关注:
0
<
2012年2月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
随笔分类
(13)
Ajax
(rss)
Dot Net(8)
(rss)
Sql Server(2)
(rss)
其他(3)
(rss)
文章分类
(31)
CAPP计算机辅助工艺规程
(rss)
CODER编码系统(1)
(rss)
PDM产品数据管理(5)
(rss)
PROJECT项目管理(24)
(rss)
个人见解(1)
(rss)
相册
我的相册
积分与排名
积分 - 28551
排名 - 3717
最新评论