Delphi setstring
Автор S.T.A.L.K.E.R. задал вопрос в разделе Другие языки и технологии
Помогите разобраться, делфи, функция setString и получил лучший ответ
Ответ от ?[гуру]
procedure SetString ( var TargetString : string; BufferPointer : PChar; Length : Integer );
Процедура SetString меняет длину TargetString на Length перед копированием этого количества символов из буфера, заданного переменной BufferPointer.
Длина меняется только в том случае, если строка не типа ShortString. Фактически, память под строку перераспределяется - ссылка на TargetString указывает на эту новую строку.
ссылка
Высший разум
(493143)
Хз чему, но в ней точно будет ровно 4 символа.
Ответ от Ivantrs[гуру]
Дельфи - мёртвая штука... в помойку
Дельфи - мёртвая штука... в помойку
Ответ от Ўрий Копнин[гуру]
SrcPtr указатель, содержит адрес переменной source, сам source это массив 5 символов [1..5]
у Вас код SrcPtr := Addr(Source); здесь в переменную SrcPtr поместили адрес Source, можно было написать по другому: SrcPtr := &Source[1]; Записываем в SrcPtr адрес первого символа из массива (PChar) Source.
Дальше
SetString(target, SrcPtr, 5); идет копирование в переменную target из переменной SrcPtr пяти символов.
SrcPtr указатель, содержит адрес переменной source, сам source это массив 5 символов [1..5]
у Вас код SrcPtr := Addr(Source); здесь в переменную SrcPtr поместили адрес Source, можно было написать по другому: SrcPtr := &Source[1]; Записываем в SrcPtr адрес первого символа из массива (PChar) Source.
Дальше
SetString(target, SrcPtr, 5); идет копирование в переменную target из переменной SrcPtr пяти символов.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Помогите разобраться, делфи, функция setString