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 ))//是这样吗
  }
 

解决方案 »

  1.   

    sWord是string,判断sWord是不是空字符串
      

  2.   

    在c里\n好像是回车换行的意思吧,LZ最好先测下
      

  3.   


    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 ))
      

  4.   

    ExtractWordFromString( S, iIndex, iFirst, iLast );
    //还有就这个函数。好像是从S字符串中截取[iFirst,iLast ]的字符。那iIndex的作用是什么
    //谁知道这个函数啊。我肯定这个函数不是自定的。