对于向我这样的C++程序员来说,delphi用起来真的很不习惯啊
谢谢啦

解决方案 »

  1.   

    直接赋值
    var
      s: string;
    begin
      s := edit.text;
    end;
      

  2.   

    我用的不是string类,用的是array[1..100]
    如果是这样的话,又该怎么办呢?
      

  3.   

    不行啊,如果使用字符数组的话,是不能这样赋值的
    array[1..100] of Char;
      

  4.   

    var 
      s:string;
      array[1..100] of Char;
    begin
      for i:=0 to length(s)-1 do
      begin
        array[i+1]:=Byte(Str[i])
      end;
    end;
      

  5.   

    谢谢楼上的解答,不过感觉挺麻烦的,有没有类似于C++中strcpy,strncpy之类的方法啊
    再次感谢
      

  6.   

    var
      a: array[1..100] of char;
      i,j: integer;
      s: string;
    begin
      s:= trim(Edit1.Text);
      j:= length(Edit1.Text);
      for i:=0 to j-1 do
        a[i] := s[i];end;
      

  7.   

    var str : array [1..15] of char;
    pstr : PChar; //Pchar 也就是 ^Char
    begin
    StrCopy(@str, 'teststr');
    //在C中,数组的名称可以直接作为数组首地址指针来用 
    //但Pascal不是这样的,因此 str前要加上取地址的运算符
    StrCat(@str, '_testok');
    GetMem(pstr, sizeof(char) * 15);
    StrCopy(pstr, @str);
    Write(pstr);
    FreeMem(pstr);
    end;
      

  8.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      buffer: Array [0..100] of Char;
    begin
      StrLCopy(Buffer, PChar(Edit1.Text), SizeOf(Edit1.Text));
    end;
      

  9.   

    不行啊,我用了StrLCopy了,但是PChar(Edit1.Text)这个地方出错了,是什么原因呢
      

  10.   

    不知道是怎么回事,在delphi中参数事 var buffer 的地方,我可以往里边传入什么值啊
    唉,越来越不明白,请指教