Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.004 c
8-1217842017
demon
2008-08-04 13:26
2011.10.23
Эквалайзер


15-1309369259
Dimka Maslov
2011-06-29 21:40
2011.10.23
Вот до чего техника дошла


1-1269513869
POP
2010-03-25 13:44
2011.10.23
Какое сообщение Win при восстановлении формы


15-1308905141
SQLEXPRESS
2011-06-24 12:45
2011.10.23
А Зотова хочется отдельной строкой поздравить все же.


15-1308914383
Мимо не прошел
2011-06-24 15:19
2011.10.23
Пессимистичная фантазия.




   Наверх