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 ))这写代码片段是同事写的。听说在欧洲是个知名度很高的牛人。
我只是理解起来不很顺,而且我也不懂delphi
--------------------------------------------------------
我仔细描述我的理解。
if (( sWord <> ' ' ) and ( Length( sWord ) > 2 ))有两个判断1>( sWord <> ' ' )
2>( Length( sWord ) > 2 )如果1)是一个空格字串; 2>肯定不成立。
2)如果2>成立 ;1>跟定是不等于一个空格的字串。
最后这个逻辑不就变成了 一条逻辑了
也就是if (( Length( sWord ) > 2 ))
//还有就这个函数。好像是从S字符串中截取[iFirst,iLast ]的字符。那iIndex的作用是什么
//谁知道这个函数啊。我肯定这个函数不是自定的。