Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.23;
Скачать: CL | DM;

Вниз

array of char to string and back   Найти похожие ветки 

 
Scott Storch   (2011-07-05 11:18) [0]

строку нужно преобразовать в массив символов и обратно. сделал так:

procedure TForm1.Button1Click(Sender: TObject);
var
 A: array [0..65535] of Char;
 S1, S2: string;
begin
 S1 := "qwerty";

 StrPCopy(A, S1); // string to array of char

 S2 := string(A); // array of char to string

 ShowMessage(S2);
end;


возникло пару вопросов:

- будет ли правильным использовать функцию StrPCopy
- встречал примеры в которых напрямую array of char присваивается строке, S2 := A;. Правильно ли это или обязательно нужно указывать тип: S2 := string(A);?


 
Anatoly Podgoretsky ©   (2011-07-05 11:21) [1]

> Scott Storch  (05.07.2011 11:18:00)  [0]

Строка уже и так массив символов


 
Медвежонок Пятачок ©   (2011-07-05 11:25) [2]

встречал примеры в которых напрямую array of char присваивается строке, S2 := A;. Правильно ли это или обязательно нужно указывать тип: S2 := string(A);?

если тот массив не просто массив с символами строки, но еще и с завершающим нулем, то прокатит.


 
Scott Storch   (2011-07-05 11:30) [3]

это понятно, просто у меня есть структура с полем типа array of [0..MAXWORD] of Char в которое нужно записывать текстовое значение поля таблицы бд типа TEXT, вот и спрашиваю, как правильно сделать преобразование.


 
Медвежонок Пятачок ©   (2011-07-05 11:37) [4]

По вкусу:

StrPCopy
StrLCopy
StrCopy
Move

Если знаешь что такое строка, то все равно чем копировать.


 
han_malign   (2011-07-06 14:08) [5]


> если тот массив не просто массив с символами строки, но
> еще и с завершающим нулем, то прокатит.

- по барабану - для массива(в отличие от безразмерного PChar) - магия компилятора учитывает размер массива...


 
Медвежонок Пятачок ©   (2011-07-06 16:35) [6]

имелось ввиду не это.
массив допустим велик.
делаем в него strpcopy или нечто подобное.
завершающий #0 туда при этом попадает.
но если затем с этим массивом поработать как с массивом, то нуль может затереться чем-то еще и у строки получится "хвост".



Страницы: 1 вся ветка

Текущий архив: 2011.10.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1309531722
я_только_учусь
2011-07-01 18:48
2011.10.23
доступ к значению в памяти по адресу


15-1308860995
Юрий
2011-06-24 00:29
2011.10.23
С днем рождения ! 24 июня 2011 пятница


1-1269027699
Aston
2010-03-19 22:41
2011.10.23
Компонент Label с поддержкой тэгов


2-1309782690
Criptonik
2011-07-04 16:31
2011.10.23
Вставка в Memo


1-1263286244
sann-x
2010-01-12 11:50
2011.10.23
Установка ActiveX компонента