求助 DELPHI代码转为C#

kickyourass123 2013-09-22 10:05:44
就一个DELPHI的方法。用于将ISBN 13位数字转换为ISBN barcode 字体对应的字符串编码


{ 函数名称:EAN13Code
输入参数:ISBN13Str: string 说明:人工可读的ISBN13编码字符串
输出参数:string 说明:用于输出打印条码字体相应的字符串
说明: ISBN13字符串 转换为 ISBN barcode 字体对应的字符串编码,
以便使用ISBN barcode字体打印相应条形码。
该条形码字体包含三种条码字符集:
数字 0 1 2 3 4 5 6 7 8 9
A字符集 0 1 2 3 4 5 6 7 8 9
B字符集 A B C D E F G H I J
C字符集 K L M N O P Q R S T
前置符集 u v w x y
中间符 *
起始符/中止符 (

(9) y
后置符 >
标准书号条形码格式:前置符 + 起始符 + 左侧数据符(ABBABA)+ 中间符
+ 右侧数据符(CCCCCC)+ 中止符 + 后置符
详细内容参考:GB/T 12906—2008
*}
function EAN13Code(ISBN13Str:string):string;
const
ACharSet : array[0..9] of Char = ('0','1','2','3','4','5','6','7','8','9') ; //字符集A
BCharSet : array[0..9] of Char = ('A','B','C','D','E','F','G','H','I','J') ; //字符集B
CCharSet : array[0..9] of Char = ('K','L','M','N','O','P','Q','R','S','T') ; //字符集C
HCharSet : array[5..9] of Char = ('u','v','w','x','y');//前置符集
var
i: integer;
EAN13Str : string;
begin

if length(ISBN13Str)<>13 then result := '' else
begin
EAN13Str := HCharSet[StrToInt(ISBN13Str[1])] + '('
+ ACharSet[StrToInt(ISBN13Str[2])]
+ BCharSet[StrToInt(ISBN13Str[3])]
+ BCharSet[StrToInt(ISBN13Str[4])]
+ ACharSet[StrToInt(ISBN13Str[5])]
+ BCharSet[StrToInt(ISBN13Str[6])]
+ ACharSet[StrToInt(ISBN13Str[7])] + '*';
for i := 8 to 13 do
EAN13Str := EAN13Str + CCharSet[StrToInt(ISBN13Str[i])];
EAN13Str := EAN13Str + '(>';

Result := EAN13Str;
end;




不好意思。。没有多少分了 但是真的很着急需要。谢谢了
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kickyourass123 2013-09-25
  • 打赏
  • 举报
回复
引用 3 楼 hudsonhuang 的回复:
-_- 还以为有多少代码要转换呢? 如果复杂的,可以用dephi.net编译成DLL,然后用refactor反编译成c#代码 也可以在网上找找语言转换相关的软件(这个应该有很多的,但是估计会很多错误) 如果只是几十行代码的,自己看两天语法,搞掂吧。。。
嗯 确实没有几行 。 我已经自己看语法学会了。。。 方法已经用C#写出来了 。 感谢回帖
kickyourass123 2013-09-22
  • 打赏
  • 举报
回复
引用 1 楼 lovetsfuer 的回复:
http://blog.csdn.net/johnsuna/article/details/577511 看看文章是否对你有帮助
感谢回帖。 我上面那个Delphi的方法是把ISBN转换为另一种编码。您给我的地址里都是ISBN转条码或者条码转ISBN。 不太符合我的目标。谢谢
lovetsfuer 2013-09-22
  • 打赏
  • 举报
回复
http://blog.csdn.net/johnsuna/article/details/577511 看看文章是否对你有帮助
hudsonhuang 2013-09-22
  • 打赏
  • 举报
回复
-_- 还以为有多少代码要转换呢? 如果复杂的,可以用dephi.net编译成DLL,然后用refactor反编译成c#代码 也可以在网上找找语言转换相关的软件(这个应该有很多的,但是估计会很多错误) 如果只是几十行代码的,自己看两天语法,搞掂吧。。。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧