...怎么逐个扫描处理Memo1中的字符并将结果显示在Memo2中

发布网友 发布时间:2024-10-24 04:42

我来回答

1个回答

热心网友 时间:2024-10-24 20:09

其实光看问题大概知道,看了你的“例如”就不知所云了。

AnsiString ll;
ll="123456";

方法一:
//AnsiString 有个方法SubString(int qq,int ww) ,返回子字符串
//参数qq是要提取的位置,ww是位数
Memo2->Line->Text=ll.SubString(0,1);

方法二:
memo2->line->text=ll[0];
方法三:
char *temp;
strcpy(temp,ll.c_str);
memo2->line->text=temp[0];
......

做语法分析时还有个肯定能用到的ansistring的其他方法:
如上ll定义
ll.pos("3")返回值的是 2

sprint();
如上ll定义
ll.sprintf("%6.2f",(float)ll[3]);返回3.00

AnsiString是bcb的万能结构,很多东西还要多看帮助。

思考题:
1、请判断如下程序中out1、out2和out3的输出结果。
AnsiString tem="The quick brown fox jumps over the lazy dog.";
out1=tem.SubString(16,3);
out2=tem.SubString(16,3)+" & "+tem.SubString(tem.Length()-4,4);
out3=tem.SubString(tem.Pos("brown"),tem.Length()-tem.Pos(" jumps"))+" & "+tem.SubString(tem.Pos("lazy"),tem.Length()-tem.Pos(".")-1);
2、给分吗?

思考题答案:
1、答:out1="fox";
out2="fox & dog";
out3="brown fox & lazy dog";
2、答:当然给。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com