Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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?


Наверх

Титульная страница Поиск, карта сайта Написать письмо