Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.045 c
7-1077927199
BBCHa
2004-02-28 03:13
2004.04.25
Словить Ctrl+Enter


1-1081664166
brrrr
2004-04-11 10:16
2004.04.25
Уважаемые Мастера, как можно сделать панельки как в Photoshop


6-1077521717
Val
2004-02-23 10:35
2004.04.25
Как закачать рисунок?


8-1073771619
alex-drob
2004-01-11 00:53
2004.04.25
Печать


3-1080218877
alex123
2004-03-25 15:47
2004.04.25
Как сохранить в Excel больше 65000 записей из таблицы




   Наверх