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

Вниз

Как обойтись без StrLCat ?   Найти похожие ветки 

 
Fanny   (2005-08-22 11:04) [0]

procedure MyProc(a:string);
var
 b:string;
begin
 // надо переменной B присвоить сегмент переменной A (такой же длины как у B)
end;

можно ли вообще обойтись без "выдёргивания" процедуры из SysUtils ???


 
Leonid Troyanovsky ©   (2005-08-22 11:10) [1]


> Fanny   (22.08.05 11:04)  

>  // надо переменной B присвоить сегмент переменной A (такой
> же длины как у B)


SetString? Copy? Move?

--
Regards, LVT.


 
Вжжжик   (2005-08-22 11:55) [2]

почему не сделать


 B:=A; ?


а если сегмент, то


 B:=Copy(A, 2, 5);


а если все-таки хочется через копирование памяти то:


 var
   P : Pointer;
 
 // место под сегмент строки А выделяем в строке В
 // раз сегмент "такой же длины" и строка В гарантированно
 // имеет правильную длину, то ниче выделять не надо,
 // эту строку можно пропустить
 SetLength(B, {длина сегмента} 5);
 // делаем отступ от начала строки А
 P:=Pointer(DWORD(Pointer(A)) + 2 {начало сегмента в строке А});
 CopyMemory(Pointer(B), P, 5 {длина сегмента});



 
Leonid Troyanovsky ©   (2005-08-22 11:58) [3]


> Вжжжик   (22.08.05 11:55) [2]

>  CopyMemory(Pointer(B), P, 5 {длина сегмента});


Move.

--
Regards, LVT.


 
Fanny   (2005-08-22 12:13) [4]

то есть
B := Copy(A,0,Length(A))
должно работать ?

а есть разница между Length(A) и SizeOf(A) ?


 
jack128 ©   (2005-08-22 13:02) [5]

Fanny   (22.08.05 12:13) [4]
а есть разница между Length(A) и SizeOf(A) ?

есть. А - суть указатель, размер его - 4 байта. Length(A) - это длина строки.


 
Игорь Шевченко ©   (2005-08-22 13:06) [6]


> B := Copy(A,0,Length(A))
> должно работать ?


Строки вообще-то с первого символа начинаются, а не с нулевого.


 
Fanny   (2005-08-22 15:18) [7]

всем спасибо



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1126609473
Term
2005-09-13 15:04
2005.10.23
Update в FB 1.5


6-1120227688
Leha
2005-07-01 18:21
2005.10.23
Подсчитать контрольную сумму TCP заголовка


3-1126261818
V-A-V
2005-09-09 14:30
2005.10.23
Текст запроса.


2-1127742995
Гость22
2005-09-26 17:56
2005.10.23
Простой вопрос. Как с помощью SQL-запроса добавить поля втаблицу?


2-1127728182
Алексей2
2005-09-26 13:49
2005.10.23
Убрать обработчик события