Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

move для string   Найти похожие ветки 

 
LD   (2004-04-07 17:48) [0]

всем привет
в форуме ето обсуждалось что не рекомендуется
пользоваться MOVE для пересулки строчных переменных
в масив байт (в какомто случаее ето дает сбой )но в каком не помню. естьли для етого какая нить другая процедура
с возможностью указания начальной точки вставки ??


 
Тимохов ©   (2004-04-07 17:50) [1]

задача то в чем?
есть copy.
если вам нужно скопировать кусочек строки в массив char и вы обязуетесь сами отвечать за освобождение памяти из под этого массива, то пользуйтесь move наздоровье.


 
Anatoly Podgoretsky ©   (2004-04-07 17:57) [2]

Пусть еще попробует под Д8


 
Тимохов ©   (2004-04-07 17:59) [3]


> Anatoly Podgoretsky ©   (07.04.04 17:57) [2]

Анатолий, не далее как недели две назад вы сами сказали, что в массы net пойдет не скоро, скорее всего ближе к конце десятилетия (простите если переврал).
Так, что win32 и д <= 7 имхо еще поживут...


 
LD   (2004-04-07 18:18) [4]

TO Тимохов
по поводу COPY
толи я чегото не догоняю толи .....

var
buff:array[0..200] of char;
sname:string[20];
begin
sname:="12345";
buff:=copy(sname,2,1);
end;
но на приведенный пример компилятор сильно ругается
о несоответствии типов
P.C.
а вообще в масив надо загнать не тока string но и integer


 
Тимохов ©   (2004-04-07 18:21) [5]

так конечно работать не будет.
на фига вам вообще пользоваться некой функцией, копируйте циклом символы из строк в буфер либо все-таки через move.


 
MBo ©   (2004-04-07 18:23) [6]

Move прекрасно для этого подходит.
Если buff:array[0..200] of char; будет использоваться в строковых функциях, надо позаботиться о том, чтобы завершающий ноль имелся.


 
WebErr ©   (2004-04-07 18:25) [7]


> buff:=copy(sname,2,1);

Не, ну ваще!!!

> buff:array[0..200] of char;

Я блин не могу!
function Copy(S; Index, Count: Integer): string;
:)))))))


 
WebErr ©   (2004-04-07 18:28) [8]


Move(@sname[1], @buff[0], Length(sname));


 
LD   (2004-04-07 21:40) [9]

а ка с помощью MOVE перекинуть типизированный масив. веть он является указателем на данные а не самими данными  
var
tempbuff:array of record N:integer;Name:string[20];end;
buff:array[0..200]of char;
begin
move(typebuff[0],buff[0],nn);
end;
результатом выполнения является переброска адреса памяти
на который указывал typebuff


 
panov ©   (2004-04-07 21:58) [10]


type
 TMyRec=packed record
   N:integer;
   Name:string[20];
 end;
var
 tempbuff:packed array of TMyRec;
 buff:array[0..200]of char;
begin
 SetLength(tempBuff,2);
 tempbuff[0].N := 1;
 tempbuff[0].Name := "aaaaaaaaaa";
 tempbuff[1].N := 2;
 tempbuff[1].Name := "bbbbbbbbbb";

 move(tempbuff[0],buff[0],SizeOf(tempbuff)*SizeOf(TMyRec));



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

Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
14-1080665686
Usver6000
2004-03-30 20:54
2004.04.25
Как в С++ сделать чтобы проги работала без С++


14-1080816256
Dmitriy O.
2004-04-01 14:44
2004.04.25
Срочно нужно !


1-1081586960
Анатолий Ксюндзский
2004-04-10 12:49
2004.04.25
Создание экзепляров компонентов в runtime


3-1080725353
JibSkeart
2004-03-31 13:29
2004.04.25
Интерестно а можно узнать в ADOConnection у какого обьекта ...


4-1077203776
Dr.Null
2004-02-19 18:16
2004.04.25
VCL овские свойтва AutoSize и Align на WinAPI





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский