var
   a:integer;
begin
   a:=1;
   str1[2]:=inttostr(a);编译不过。
而且,如果a>9

   a:=10;
   str1[2]:=inttostr(a);
会怎么样,取一位还是两位?

解决方案 »

  1.   

    inttostr(a)得到的是string型;str1[2]为char型。你到底想做什么?
      

  2.   

    1. str1 := 'aecd'
    2.   Delete(tr1, 2, 1);
         Insert('e', str1, 2);
    3. str1 := StringReplace(str1, 'b', 'e', [rfReplaceAll]);
      

  3.   

    怪我没有说清楚,是这样:
    我要把两个文本文件的内容合并
    其一为
               db  1.a
               db  2.b
    其二为
               db  1.c
               db  2.d
     ...我希望合并后自动改为
               db  1.a
               db  2.b
               db  3.c
               db  4.c即它的序号能够自动排列。
    序号的位置可以确定,但是不能确定它的位数,即它可能是1位或2位,3位
    我想最好是能把序号前面和后面的字符串截下来,加入新的序号,再合并。
    我不是很熟Delphi,像left()right()这样的字符串操作函数不知道Delphi里面有没有?
    请指教,谢谢!
      

  4.   

    你可以这样写
    PrefixStr=Copy(FileName,1,2)
    OrderStr:=IntToStr(Count) //这是计数器
    FileName:=PrefixStr+OrderStr+'.'+ExtractFileExt(FileName)
      

  5.   

    还有:
    我有一个函数,读指定文本文件指定行数的字符串
    function readtxt(fname:string;ln:integer):string;
    var
       tmpList: TStringList;
       allname:string;
    begin
       allname:=work2.form1.FileListBox1.Directory +'\'+fname;
       tmpList := TStringList.Create;
       try
           tmpList.LoadFromFile(allname);
           readtxt:=tmplist.Strings [ln];
       finally
           tmplist.Free;
       end;
    end;
    现在我可以通过for语句把它一行一行地读出来,放到一个tmpstr里。
    我现在要把tmpstr做一定的转换(如我上所说的),  tmpstr:=readtxt('datafile2.inc',gnum2+i);我想知道,转换怎么做?
      

  6.   

    softwing(向前看) 
     
         Delete(tr1, 2, 1);
         Insert('e', str1, 2);的方法已实现,谢谢