Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.10.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
6-1244481530
Cryxalis
2009-06-08 21:18
2011.10.23
"Исправить" сетевое подключение.


2-1310112321
handle
2011-07-08 12:05
2011.10.23
оптимизация добавления в таблицу БД


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


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


1-1269838322
Jamix
2010-03-29 08:52
2011.10.23
голосовой модем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский