一个简单的问题!array和string的转换!(10分)

  • 主题发起人 主题发起人 kenwoo
  • 开始时间 开始时间
K

kenwoo

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
procedure s(ss:string);
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
s('qqqaaaa');
s('ss');
s('333333333');
end;
procedure tform1.s(ss:string);
var
st:array[0..1000] of char;
begin
strpcopy(st,ss);
form1.memo1.lines.add('1,'+ss);
form1.memo1.lines.add('2,'+st);
end;
end.

如果运行时,前面的 s('qqqaaaa')对后面的 s('ss')产生影响
怎么消除呢?
 
什么影响,我试了,没发现有什么不妥
 
ss?
什么影响?
 
我程序的目的是:通过procedure s(ss:string);把ss变成array[0.1000] of char格式
但是这样转换之后就出面的问题,第一个转换正确,但第二个,第三个有时就会受到前面
第一个的影响,有时候就不会,什么原因呢?怎么消除?
 
你的程序我也试过了,没有任何问题,你最好把出现的主体问题说清楚一点,不然怎么帮你啊!
[:D]
 
for i:=0 to length(ss)-1 do
st:=ss[i+1];

这样转换一定没问题。
 
buffer:araay[0..20] of char;
str:string;
begin
strcopy(buffer,pchar(str));
end;
马上搞定:
 
var
str :string;
temp :array[0..1000] of char;
begin
str :='string';
StrpCopy(temp,str);
end;
 
d6+win2000server运行没有不妥
 
估计是没有适当设置string的长度
 
后退
顶部