如何取得memo最后的字符
memo接收串口传来的数据
比如 _8__9__10__11__1_ 中间_代表空格,每次memo不断地增加数据,我只需要取得最后的数据,比如这里的1,如何取得
[解决办法]
for i := length(memo1.lines.text) downto 0 dobegin if (memo1.lines.text)[i] in ['0'..'9'] then begin .....; breadk; end;end;
[解决办法]
for i := length(memo1.lines.text) downto 0 dobegin if (memo1.lines.text)[i] in ['0'..'9'] then begin .....; break; end;end;
[解决办法]
应该是这样
for i := length(memo1.lines.text) downto 1 dobegin if (memo1.lines.text)[i] in ['0'..'9'] then begin .....; break; end;end;
[解决办法]
用COPY不行?
copy(memo.lines[i],length(memo.lines[i])-1,length(memo.lines[i])-1);
[解决办法]
uses StrUtils;RightStr(memo1.text,1);
[解决办法]
showmessage(RightStr(memo1.text,1));
[解决办法]
得判断最后面有几个空格,用RightStr取出最后一位进行判断,还得判断一下最后的数据是几位数,得多次判断才行。
[解决办法]
uses StrUtils;function GetLastNumber(str: string): string;var tmpStr: string;begin tmpStr := Trim(str); Result := RightStr(tmpStr, Length(tmpStr) - LastDelimiter(' ', tmpStr));end;
[解决办法]
把所有的空格换成 #13#10
然后 memo.lines.strings[memo.count-1] 就行了