![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массивы [D7]
Neket © (2007-01-04 16:46:00)Подскажите как можно присвоить массиву szTip: array [0..63] of AnsiChar; обычную строковую переменную кроме как
s:='Wazuuuup!!!'
For i:=1 to length(s) do
szTip[i]:=s[i];
begin...end (2007-01-04 17:32:00) [1]StrLCopy(szTip, PChar(s), Pred(sizeof(szTip)))
ors_archangel (2007-01-04 16:52:00) [2]Должно работать такое
Move(s[1],szTip[0],length(s)+1);
но лучше
if s = nil then
szTip[0] := #0
else
Move(s[1],szTip[0],length(s)+1);
иначе, если s - пустая строка, то в szTip будт не понять что, это можно игнорировать только если известно, что szTip проинициирован нулями (ведь нам нужен ASCIIZ, да?), а ещё лучше
if s = nil then
szTip[0] := #0
else
Move(s[1],szTip[0],max(length(s)+1,length(szTip)-1));
чтобы не было "переполнения", в этом случае при length(s) > length(szTip) получаем ASCIIZ, где конечный ноль будет записан в szTip[high(szTip)].
з.ы. Наверно, есть ещё методы, но этот хотя бы от ошибок защищён