Size: a a a

2020 October 01

АВ

Александр В... in Delphi & Lazarus
Для примера: вот такая конструкция в 3.0.1 FPC работала как часы: https://pastebin.com/sZhMX5nv
источник

SB

Sergey Bodrov in Delphi & Lazarus
array of byte это по сути указатель (как и string). А array [0..1] of byte это реальный массив (как и string[2])
источник

I

Igor in Delphi & Lazarus
всё так, но приведение одного в другое можно было сделать и погибче, как для строк
источник

SB

Sergey Bodrov in Delphi & Lazarus
TByteArray = Array[0..32767] of Byte;
источник

SB

Sergey Bodrov in Delphi & Lazarus
Ну дык, размеры разные
источник

АВ

Александр В... in Delphi & Lazarus
Ну дык да, как оно раньше то работало-)) А если извратиться как @MyArr[0]; то там терь мусор. В дельфях работает, в стейбле работает...много лет работало. Короче понял, надо сделать по другому
источник

SB

Sergey Bodrov in Delphi & Lazarus
Igor
всё так, но приведение одного в другое можно было сделать и погибче, как для строк
Со строками тоже не все просто, там тоже проверки на размеры и кодировки.
источник

AK

Alexey Kulakov in Delphi & Lazarus
Александр В
А по теме: господа, поставил FPC из транка, и старая добрая конструкция перевода Record в byte массив через рекорд перестала работать. Там запретили absolut или чет нахимичили с приведением типов? Никто не в курсе?
absolute работает, а не нравится конфликт разных типов массивов байтовых, для этого есть директива, вроде
источник

SB

Sergey Bodrov in Delphi & Lazarus
Лучше не пихать утку в зайца, а подумать, как сделать правильно.
источник

AK

Alexey Kulakov in Delphi & Lazarus
хочешь в твоем примере рабочий вариант - попробуй Copy функцию, что ли...
источник

AK

Alexey Kulakov in Delphi & Lazarus
ну, или как там советуют сейчас
источник

AK

Alexey Kulakov in Delphi & Lazarus
а то это все равно что объекту рекорд присваивать
источник

SB

Sergey Bodrov in Delphi & Lazarus
Есть же AnsiString или  TByteDynArray - готовый динамический массив байтов
источник

SB

Sergey Bodrov in Delphi & Lazarus
А статические массивы есть смысл делать для полей структур в двоичных данных или для глубокой оптимизации быстродействия и потребления памяти.
источник

AK

Alexey Kulakov in Delphi & Lazarus
последнее, насчет массивов не понял. Переведи на человеческий, для дурачков, пожалуйста
источник

SB

Sergey Bodrov in Delphi & Lazarus
Alexey Kulakov
последнее, насчет массивов не понял. Переведи на человеческий, для дурачков, пожалуйста
Статические массивы фиксированного размера (например, array [0..3] of Byte) имеют смысл в качестве полей структур для бинарных данных. Например, для поля IP-адреса в заголовке пакета IP.
источник

I

Igor in Delphi & Lazarus
а зачем в дельфи ввели тип TByteDynArray, чем он отличается от TBytes?
источник

AK

Alexey Kulakov in Delphi & Lazarus
А, Сергей, теперь понял, что ты имел в виду
источник

SB

Sergey Bodrov in Delphi & Lazarus
Igor
а зачем в дельфи ввели тип TByteDynArray, чем он отличается от TBytes?
TByteDynArray появился раньше и это просто массив байтов, без методов
источник

SB

Sergey Bodrov in Delphi & Lazarus
В Delphi 7 не было TBytes
источник