读网友写的程序,有几处不明白的地方,请FW们给解释下....(30)

  • 主题发起人 主题发起人 楚辞
  • 开始时间 开始时间

楚辞

Unregistered / Unconfirmed
GUEST, unregistred user!
从一个文本文件中把所有数字累加起来,然后显示出结果。文本文件内容如下所示:华伦巴菲特-世界首富的选股法则:股东权益报酬率(1季及2年平均)均大于3.75%现金流量成长率(1季及2年平均)均大于5%价格/净值比小于2毛利率(1季及2年平均)均大于15%本益比小于20结果=1+2+3+75+1+2+5+2+1+2+15+20 var p :PChar; i,n :Integer; list :TStringList; str :string; begin if opendialog1.execute then begin list := TStringList.Create; list.LoadFromFile(opendialog1.FileName); str := list.Text; p := PChar(str); while p^ <> #0 do //p^代表什么...begin case p^ of '0'..'9': ; else p^ := #32; //#32代表什么end; Inc(p); end; list.clear; list.Delimiter := #32; list.DelimitedText := str; n := 0; str := ''; for i := 0 to list.Count - 1 do begin n := n+strtoint(list.Strings); if str = '' then str := list.Strings else str := str+'+'+list.Strings; end; list.Free; showmessage(inttostr(n)+'='+str); end;
 
list := TStringList.Create; 这句,经常见到.但不知道建立一个什么....是建立一个文本吗?str := list.Text; p := PChar(str); 紧接这两句如何理解?
 
list.Delimiter := #32; list.DelimitedText := str; 这两句如何理解?
 
list := TStringList.Create 是一个列表存字符串的。list.Delimiter :='*', 分隔字符list.DelimitedText := str  被分隔的字符串 你可以这样搜 一下的。 TStringList 用法  使用可是相当的广泛哦
 
str := list.Text; 把字符串列表各行连接起来成为一个字符串付给strp := PChar(str); 让字符串指针指向一个值为str的字符串。
 
while p^ <> #0 do //p^代表什么...begin case p^ of '0'..'9': ; else p^ := #32; //#32代表什么当,指针不等于0 执行者指针 开始 指针从0到9字符, 否则,指针是#32; //#32代表什么?else p^ := #32; //#32代表什么
 
list.Delimiter := #32;//分隔字符为什么使用#32做?
 
p := PChar(str); 这个如何理解?PCHAR什么意思?
 
p := PChar(str); //STRING转为PCHAR类型PCHAR是空结尾的字符串指针p^的值是字符串 #32好象是空格的ASCII码
 
谢谢各位FW.....似乎明白了点....[:)][8D][:(!][:(!][:)]
 
分发错了.....不好意思.很快就会有新问题.那时在给另两位给分.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
763
import
I
后退
顶部