function TFormMain.ExtractIntoWords( S: String; InfoOnly: Boolean ): Integer;
var
iIndex, iFirst, iLast: Integer;
T: Integer;
sWord: String;
begin
//把字符串中的所有'\n'替换成'/' ???对吗
S := ReplaceStringInString( S, '\n', '/', TRUE );
//把字符串中的所有'\'替换成'@' ???对吗
S := ReplaceCharInString( S, '\', '@' );
while ( iIndex <= Length( S )) do
begin
sWord := ExtractWordFromString( S, iIndex, iFirst, iLast );//这是什么意思???
sWord := ReplaceCharInString( sWord, '@', '\' );
//sWord != ‘ ’不等于空格 并且长度大于2
//看不懂sWord是个数组是sWord <> ' '指的的是sWord中最后一个字符不等于空格还是什么
if (( sWord <> ' ' ) and ( Length( sWord ) > 2 )) then int iFirst, iLast: Integer;
int Integer;
CString sWord;
sWord.Replace('\n', '/');
sWord.Replace('\\', '@');
while ( iIndex <= sWord.GetLength())
{
sWord := ExtractWordFromString( S, iIndex, iFirst, iLast );//这是什么意思???怎样翻译
//sWord := ReplaceCharInString( sWord, '@', '\' );
if (( sWord[sWord.GetLength()] != ' ' ) and ( sWord.GetLength() > 2 ))//是这样吗
}
if (( sWord <> ' ' ) and ( Length( sWord ) > 2 )) then
假若 sWord 不为空格,并且,sWord 的长度大于2 ,则
--------------------------------------------------------
if (( sWord <> ' ' ) and ( Length( sWord ) > 2 )) then
假若 sWord 不为空格,并且,sWord 的长度大于2 ,则
-------------------------------------------------------- //这个判断我不理解
sWord := ' h '//空格h空格 三个字符
//sWord <>' '是指的sWord所在的内存块中的第几个
//sWord
// | | //空格
// -
// | h | //h
// -
// | | //空格
if (( sWord <> ' ' ) and ( Length( sWord ) > 2 )) then我不懂DELPHI麻烦解释下谢谢
ReplaceCharInString( S, '\', '@' );
这两个都是自己定义的吧,不过应该是从StringReplace演化来的,你说的应该是对的.其它您就参考sailxia的回答吧
不是自定义的函数我查抄了一下,这些函数只有调用没用定义。工程中没有DLL。
在C++中
字符串类型有CString
生命变量CString csText
csText = "hello";
csText != " "//判断是否和字符中" "相等吗
//要判断某个字符是否为空格
csText[1] != " "
--------------------------------------------------------------------
if (( sWord <> ' ' ) and ( Length( sWord ) > 2 )) then
这判断不是有问题吗?
sWord <> ' '//不能是一个空格的字符串 1>
and ( Length( sWord ) > 2 ) //并且长度要大于2 2>
这个逻辑起步是很怪还是理错了