![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
char & string как? [D7, XP]
vegarulez © (2008-12-11 14:57:00)привет всем мастерам!
подскажите как правильно сделать.
var
a : Array [0..1024] of Char;
s:string;
i:integer;
...
если делаю вот так:
a[0]:='H';
a[1]:='e';
a[2]:='l';
...
то всё нормально записывается
а если делаю вот так,
s:='Hello!';
for i:=0 to length(s)-1 do
a[i]:=copy(s,i,1);
то компилятор не хочет компилировать - ругается на соответствие типов...
подскажите как правильно сделать.
Anatoly Podgoretsky (2008-12-11 15:53:00) [1]> vegarulez (11.12.2008 14:57:00) [0]
a[i]тип CHAR, s/copy тип STRING
Смотреть в справке тип функции.
charoey_mag (2008-12-11 15:13:00) [2]var
a : Array [0..1024] of Char;
s:string;
i:integer;
s:='Hello!';
for i:=1 to High(s) do
a[i-1]:=s[i];
Вот так точнее, следи за индексами
charoey_mag (2008-12-11 15:10:00) [3]
> a[i]:=copy(s,i,1);
S это уже массив
a[i]:=s[i];
Ega23 (2008-12-11 15:09:00) [4]Результат Copy - string.
Поэтому либо
a[i]:=copy(s,i,1).[0];
либо
a[i]:=Char(copy(s,i,1));
clickmaker (2008-12-11 15:07:00) [5]вообще-то, в string индекс с 1 начинается
и зачем там copy?