str1:='abcdef';
str:=delete(str1,4,1);
为何为错?请指出.

解决方案 »

  1.   

    copy(),delete() pos()这三个函数
    Copy的用法
    var
      str :string;
    begin
      str :='123abc';
      ShowMessage(Copy(str, 1, 3));   //结果就是'123'
    end; delete()的用法
    var
      str :string;
    begin
      str :='123abc';
      ShowMessage(Delete(str, 1, 3));  //结果就是'abc';
    end; Pos()的用法
    var
      str :string;
    begin
      str :='123abc';
      ShowMessage(IntToStr(Pos('a', str))); //结果就是4
    end;
      

  2.   

    delete是一个过程,没有返回值.
    所以不能给str变量付值.
        str:=delete(str1,4,1);
        //这句话是错误的.
    var
      str1,str:string;
    begin
    str1:='abcdef';
    delete(str1,4,1);
     showmessage(str1);
    end;结果就在str1中.
    明白?
      

  3.   

    str1:='abcdef';
    str:=delete(str1,4,1);
    为何为错?请指出.
    str1:='abcdef';
    delete(str1,4,1);
    str:=str1;