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

Вниз

   Найти похожие ветки [String] and [array of char]

 
срочно   (2004-12-22 23:02) [0]

Есть тип такого вида:
const
 TYPE_LEN = 5; // ну к примеру 5 символов

type
 TAnyType = array[1..TYPE_LEN] of Char;

Нужно скопировать данные из этого массива в строку.
Подскажите какие варианты из ниже приведеных верны.
Точно знаю что третий верен.

// 1 вариант --------------------
var
 a: string;
 b: TAnyType;
begin
 b := "AType";
 a := b;
end;

// 2 вариант --------------------
var
 a: string;
 b: TAnyType;
begin
 b := "AType";
 SetLength(a, TYPE_LEN);
 a := b;
end;

// 3 вариант --------------------
var
 a: string;
 b: TAnyType;
begin
 b := "AType";
 SetLength(a, TYPE_LEN);
 Move(b, a[1], TYPE_LEN);
end;


 
Fay ©   (2004-12-22 23:09) [1]

только 3-й


 
Johnmen ©   (2004-12-23 00:29) [2]

Не знаю, что ты имеешь в виду под словом "верны", но верны они все.
Во втором варианте SetLength бессмысленно.


 
Fay ©   (2004-12-23 04:19) [3]

Johnmen ©   (23.12.04 0:29) [2]
Все верны только в данном виде, а не в общем.


 
Fedia ©   (2004-12-23 05:03) [4]

To Fay ©   (23.12.04 04:19) [3]
>Все верны только в данном виде, а не в общем.
Нельзя ли привести случай, в котором первый вариант не будет работать. Честно говоря, не могу понять, почему верен только третий вариант.


 
Fay ©   (2004-12-23 05:52) [5]

2 Fedia ©   (23.12.04 5:03) [4]
var
a: string;
b: TAnyType;
begin
b := "AType";
SetLength(a, TYPE_LEN);
b[1]  := #0;
a := b;
end;


 
Fedia ©   (2004-12-23 07:18) [6]

>Fay ©   (23.12.04 05:52) [5]
Приведенный вами код вполне рабочий.
Если применить
var
a: string;
b: TAnyType;
begin
 b := "AType";
 SetLength(a, TYPE_LEN);
 b[1]  := #0;
 Move(b, a[1], TYPE_LEN);
end;
то произойдет тоже самое. Или я чего-то не понимаю.


 
Fay ©   (2004-12-23 08:08) [7]

2 Fedia ©   (23.12.04 7:18) [6]
Это не совсем 1-й вариант. IMHO 8)


 
icWasya ©   (2004-12-23 12:15) [8]

есть еще вариант

var
a: string;
b: TAnyType;
...
SetString(a,b,Type_Len);



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1103490857
VaDima
2004-12-20 00:14
2005.01.09
Установка свойства Parent для TWebBrowser - нарушение работы


9-1092692201
Uncle Archi
2004-08-17 01:36
2005.01.09
GLScene


3-1102506208
Multy
2004-12-08 14:43
2005.01.09
Есть ли в природе компоненты прямого доступа к базе Access


4-1101283739
Sav1977
2004-11-24 11:08
2005.01.09
Windows


14-1103544368
Чеширский_Кот
2004-12-20 15:06
2005.01.09
Никого еще не достала?..