Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизНайти похожие ветки [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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c