小菜鸟请各位大侠帮助:
现在有两个文本
其中1.txt
内容如下
1100 3 p
1107 8 r
1102 6 0
1109 10 g第二个文本是EXCEL文本,
列A 列B
100101 1100003
100102 1102006
100103 1107008
100104 1109010
现要实现如下需求:
读1.txt文本,根据其1~7个字符(例第一行:1100 3(注:其中空格用0补齐,补齐后为:1100003))与excel文本中的列B相对应,选出excel文本中的列A,然后将列A写入2.txt文本,同时也将1.txt中的字母也写到2.txt对应的行中
不知道我的描述是否清楚:
以上的例子就是要重新生成如下的文本:
100101 p
100103 r
100102 o
100104 g望个路高手赐教,小菜鸟不圣感激~
现在有两个文本
其中1.txt
内容如下
1100 3 p
1107 8 r
1102 6 0
1109 10 g第二个文本是EXCEL文本,
列A 列B
100101 1100003
100102 1102006
100103 1107008
100104 1109010
现要实现如下需求:
读1.txt文本,根据其1~7个字符(例第一行:1100 3(注:其中空格用0补齐,补齐后为:1100003))与excel文本中的列B相对应,选出excel文本中的列A,然后将列A写入2.txt文本,同时也将1.txt中的字母也写到2.txt对应的行中
不知道我的描述是否清楚:
以上的例子就是要重新生成如下的文本:
100101 p
100103 r
100102 o
100104 g望个路高手赐教,小菜鸟不圣感激~
解决方案 »
- checkbox1.State:=cbGrayed;后,照样单击可以使用,那这个cbGray干吗用?
- 再提难题,望高人指点迷津
- 求救,急! ! !急! ! !急! ! !急! ! !html内容如何导入word!
- 那里有比较全面的delphi语言参考手册下载?
- 为什么delphi7中的iwproject中不能用ADO
- 小弟很诚恳的想结实几位DELPHI 高手,请留下QQ好吗?
- 关于-TBlobTream
- taxi(游少爷) 在帮我解决一个问题
- 请教frames的用法!!谢谢
- 有关SQL语句的问题!!!!非常紧急!!包括两个过程!有些难度!!!
- fastreport预览时换行出现乱码
- 求图形界面实现相似代码
其实楼主应该问清楚一点在哪个地方有困难了。难道要回复者把整个程序写出来给你。1.读文本文件应该没问题吧。处理方法很多,用File,或TFileStream....
2.读Excel文件,也有很多方法,可以用createcomobject,。我这里建议用ado来访问。因为这样读取过来到dataset,查找替换比较方便。
3.最后写到文本也很容易处理了。没有代码,只是对这个问题的想法。
assignfile(f1,'1.txt');
reset(f1);
assignfile(f2,'2.txt');
reset(f2);1. 用read(f1,s1)语句,从1.txt中一行行读入字符串s1, 第一次读第一行: 1100 3 p 即s1 = '1100__3___p'; (为了清楚,我把空格改写为下划线)2. 用下面语句从s1中取出前1-7个字符组成的子串: h1:=copy(s1,1,7); //第一次读出后,h1='1100__3' 并用下面语句从s1中取出最后一个字母,放在t1:
t1:=copy(s1,length(s1),1); //第一次读出后,t1='p'
3. 组织循环,查h1出现在2.txt的第几行:
repeat
readln(f2,s2); //第一次读出后,s2='100101____1100003' //将s2的头尾两部分取出来,放在h2,t2:
h2:=copy(s2,1,7); //第一次读出后,h2='100101'
t2:=copy(s2,11,7); //第一次读出后,t2='1100003'4. 比较t2是否等于h1, 如果是,则将h2与t1两个子串连接起来:
str2:=h2+t1;
并将done置为true
until eof(f2) or done;5. closefile(f1);
closefile(f2);