c# 创建delphi的代码
需求:
有一个专业表,没有插入数据,读取的excel,复制为txt文件
每行读取
并且 将汉字的一转换为数字1
private void barButtonItem4_ItemClick(object sender, ItemClickEventArgs e)
{
StreamReader sr = new StreamReader(@"C:\Users\忧郁的小学生\Desktop\xss.txt", Encoding.GetEncoding("utf-8")); //path为文件路径
String line;
string s = "";
int i = 0;
int ts = 0;
string dels ="";
while ((line = sr.ReadLine()) != null)//按行读取 line为每行的数据
{
string[] strs = line.Split('\t');
if (ParseCnToInt(strs[0]) > 0)
{
dels += "\r\n";
dels += "end;";
dels += "\r\n";
i = (int)ParseCnToInt(strs[0]);
dels += i.ToString()+":";
dels += "\r\n";
dels += "begin";
dels += "\r\n";
}
else {
string xs = "";
ts = Convert.ToInt32(strs[0]);
if (i < 10)
{
xs = "0" + i.ToString();
}
else {
xs = i.ToString();
}
if (ts < 10)
{
xs += "0" + ts.ToString();
}
else {
xs += ts.ToString();
}
dels += "form1.ComboBox3.Items.Add('" + xs + "-" + strs[1] + "');";
dels += "\r\n";
}
}
string dt = dels;
}
/// <summary>
/// 将中文数字转换阿拉伯数字 网上找的
/// </summary>
/// <param name="cnum">汉字数字</param>
/// <returns>长整型阿拉伯数字</returns>
public static long ParseCnToInt(string cnum)
{
cnum = Regex.Replace(cnum, "\\s+", "");
long firstUnit = 1;//一级单位
long secondUnit = 1;//二级单位
long tmpUnit = 1;//临时单位变量
long result = 0;//结果
for (int i = cnum.Length - 1; i > -1; --i)//从低到高位依次处理
{
tmpUnit = CharToUnit(cnum[i]);//取出此位对应的单位
if (tmpUnit > firstUnit)//判断此位是数字还是单位
{
firstUnit = tmpUnit;//是的话就赋值,以备下次循环使用
secondUnit = 1;
if (i == 0)//处理如果是"十","十一"这样的开头的
{
result += firstUnit * secondUnit;
}
continue;//结束本次循环
}
else if (tmpUnit > secondUnit)
{
secondUnit = tmpUnit;
continue;
}
result += firstUnit * secondUnit * CharToNumber(cnum[i]);//如果是数字,则和单位想乘然后存到结果里
}
return result;
}
/// <summary>
/// 转换数字
/// </summary>
protected static long CharToNumber(char c)
{
switch (c)
{
case '一': return 1;
case '二': return 2;
case '三': return 3;
case '四': return 4;
case '五': return 5;
case '六': return 6;
case '七': return 7;
case '八': return 8;
case '九': return 9;
case '零': return 0;
default: return -1;
}
}
/// <summary>
/// 转换单位
/// </summary>
protected static long CharToUnit(char c)
{
switch (c)
{
case '十': return 10;
case '百': return 100;
case '千': return 1000;
case '万': return 10000;
case '亿': return 100000000;
default: return 1;
}
}
c# 创建delphi的代码的更多相关文章
- C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例
Command对象创建SQl语句代码示例 说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句.利用Command对象,可以查询数据和修改数据. ...
- QT中静态库的生成与使用——创建共享库代码,附例子
一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...
- delphi 动态绑定代码都某个控件
delphi 动态绑定代码都某个控件 http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Rtti.TRttiType_(Delphi)Butt ...
- DIOCP组件(Delphi IOCP)代码阅读之ADO内存表
DIOCP组件(Delphi IOCP)代码阅读之ADO内存表 代码中有 class procedure TADOTools.loadFromStream(pvDataSet: TCustomADOD ...
- Visual Studio使用技巧,创建自己的代码片段
1.代码片段的使用示例 在编写代码中常会使用代码片段来提高我们的编写代码的效率,如:在Visual Studio中编写一个 for(int i = 0; i < length;i++) { } ...
- 用 cctld工具创建带有国家代码的IP地址表
用 cctld工具创建带有国家代码的IP地址表 cctld tools is creating IP addresses table with Country Code 项目地址 https://gi ...
- 在VS2017中创建C++的代码块模板
在VS2017中创建C++的代码块模板 有任何问题,请留言!!! 在VS2017中有工具–>代码片段管理器,方便我们使用固有的代码块模板,同时我们也可以自定义模板. 在VS2017中代码片段的模 ...
- Delphi 复习代码
1.取得可文件路径 Path := ExtractFilePath(Application.ExeName); //取得可执行文件路径 TXMLDocument.Create(ExtractFileP ...
- 奖学金评分系统(系统分析与设计版与Delphi实现代码)
一.系统规划 1.1 项目背景介绍 在奖学金评比过程中,学生综合测评是学校普遍采用的评比手段.对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评奖学金提供依据,实现学生教育管理工作的标准化. ...
随机推荐
- 记录编译JDK11源码时遇到的两个问题
执行make all报错信息: 错误一 /src/hotspot/share/runtime/arguments.cpp:1461:35: error: result of comparison ag ...
- appium_android-常见的问题
po模型的原则: 用公共方法代表UI所提供的功能 方法应该返回其他的PageObject或者返回用于断言的数据 同样的行为不同的结果可以建模为不同的方法 不要在方法内加断言 字段意义 不要暴露页面内部 ...
- salesforce零基础学习(九十六)项目中的零碎知识点小总结(四)
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.216.0.apexcode.meta/apexcode/apex_classes_ke ...
- js后台提交成功后 关闭当前页 并刷新父窗体
后台提交成功后 关闭当前页 并刷新父窗体 this.ClientScript.RegisterStartupScript(this.GetType(), "message", &q ...
- 五分钟详解MySQL并发控制及事务原理
在如今互联网业务中使用范围最广的数据库无疑还是关系型数据库MySQL,之所以用"还是"这个词,是因为最近几年国内数据库领域也取得了一些长足进步,例如以TIDB.OceanBase等 ...
- Linux运维学习第五周记
休惊岁岁年年貌 且对朝朝暮暮人 细雨晴时一百六 画船鼍鼓莫违民 雨生百谷,春雨贵如油 第五周学记 这周主要学习了九三级磁盘.存储相关知识和Linux文件系统以及计算机网络的内容 磁盘和文件系统 磁盘结 ...
- 远程Jenkins新增Mac电脑节点
一,前言 上一篇博客Jenkins集成appium自动化测试(Windows篇)介绍了怎么使用远程Jenkins新建节点连接本地Windows电脑进行Appium自动化测试集成. 但是在做ios Ap ...
- C++学习---二叉树的输入及非递归遍历
二叉树的二叉链表存储表示如下 //二叉树的二叉链表存储表示 typedef struct BiTNode { char data;//结点数据域 struct BiTNode* lchild, * r ...
- Linux 动态库加载
动态库运行时搜索顺序 1.LD_PRELOAD LD_PRELOAD是一个环境变量,用于动态库加载,动态库加载的优先级最高: 2.-wl,-rpath 编译目标代码时指定的动态库搜索路径(指的是用-w ...
- 实战四:Gateway网关作全局路由转发
Gateway网关的作用主要是两个:路由转发,请求过滤.此篇讲的是路由转发,下篇介绍请求过滤. 一,创建网关module,添加依赖 1,new -> module -> maven 或直接 ...