Главная страница
    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.45 MB
Время: 0.042 c
6-1120227688
Leha
2005-07-01 18:21
2005.10.23
Подсчитать контрольную сумму TCP заголовка


1-1128288617
Thor234
2005-10-03 01:30
2005.10.23
Поиск и удаление символов


14-1127989683
dr Tr0jan
2005-09-29 14:28
2005.10.23
Кратово - Жуковский


1-1127913443
Friend
2005-09-28 17:17
2005.10.23
Есть ли что-нибудь похожее на ImageList


1-1127993069
Bambino Programmino
2005-09-29 15:24
2005.10.23
Проблема в OnMesureItem для TMenuItem?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский