Главная страница
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.007 c
15-1308941486
xayam
2011-06-24 22:51
2011.10.23
COM-порт: Windows & Embedded Linux


1-1269772989
dmitry1208197320
2010-03-28 14:43
2011.10.23
Как организовать работу с картами типа google?


2-1309823398
Германн
2011-07-05 03:49
2011.10.23
Почему TButton не может быть Parent ом для TImage?


15-1309081495
trololo
2011-06-26 13:44
2011.10.23
Как сделать чтобы при WM_PAINT нарисованное оставалось на форме


2-1309627110
Gu
2011-07-02 21:18
2011.10.23
Как сбросить LastError