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

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

String to array of char [D6, Win2k]


cher_gvf ©   (2002-12-03 10:20:00) 

как преобразовать строку заданной длины в массив символов такого размера?


Юрий Федоров   (2002-12-03 12:30:00) [1]

Не знаю, как у вас, а у меня strpcopy принимает массив Char"ов в качестве PChar совершенно нормально


Андрей Сенченко   (2002-12-03 11:59:00) [2]

cher_gvf © (03.12.02 11:52

Безусловно это существенная разница. И не только для Дельфи.

Тебе же объяснили уже :
1. Строка (string) УЖЕ является МАССИВОМ сиволов
2. Доступ к каждому символу осуществляется также как в массиве
( то есть S[i] )

Преобразование String в PChar - P := pchar(s)

P.S. ... купи чтоли книжку


cher_gvf   (2002-12-03 11:52:00) [3]

В качестве первого параметра strpcopy требует PChar а не array of char.По-видимому,для Дельфи это существенная разница.Поэтому вариант MBo у меня не проходит.


Skier   (2002-12-03 11:35:00) [4]

>cher_gvf

const
AStr = "Hello, world !";
var
c : array[1..Length(AStr)] of char;
begin
Move(AStr[1], c, Length(AStr));
end;


KoluChi   (2002-12-03 11:34:00) [5]

Да, забыл, мне тоже не ясно зачем если есть String получать массив символов?


KoluChi   (2002-12-03 11:33:00) [6]

Вариант MBo рабочий, там только несоответствие длины строки и размерности массива. Увеличь размерность массива.


cher_gvf   (2002-12-03 11:27:00) [7]

В первом случае Дельфи ругается на совместимость типов(вы пробовали вообще сами такой вариант?).А второй дык ваще как бы не по теме (где тут массив символов?)


FreeLancer   (2002-12-03 10:40:00) [8]


> а вообще-то строка и так является массивом символов

Вот именно:

var my_str: string;
my_char: string;
...
my_str := "Произвольная строка";
my_char := my_str[2];
{my_char - р}


MBo   (2002-12-03 10:29:00) [9]

а вообще-то строка и так является массивом символов


MBo   (2002-12-03 10:23:00) [10]

для какой цели?
Один из вариантов
var s:string;
c:array[0..9] of char;
begin
s:="qqwweerrtt";
strpcopy(c,s);


Наверх

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