Форум: "Основная";
Текущий архив: 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.042 c