|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Считать файл по-байтно в Delphi 7
Здравствуйте!
У меня есть проект, который хорошо отрабатывает на Delphi 10.2. В проекте используется несколько DLL, функционалом которых приходится пользоваться за неимением подобных возможностей в Delphi, проще говоря работа API. Но мне нужно также чтобы была возможность использовать эти DLL в Delphi 7. Смысл такой вообщем. В проекте, который на Delphi 10.2 используя модуль System.IOUtils в частности функцию TFile.ReadAllBytes, я считывает файл по байтно в переменную, которая имеет тип TBytes. Как выяснилось в Delphi 7 нет ни System.IOUtils ни такого типа как TBytes. Как возможно реализовать чтение по-байтно и можно ли как-то заменить в Delphi 7 тип TBytes? |
#2
|
|||
|
|||
Все зависит от того, как тебе надо представить данные.
Например, массив байт: Код:
type TBytesArray : Array Of Byte; var Data : TBytesArray; F : TFileStream; begin F := TFileStream.Create('file.txt',fmOpenRead); Try SetLength(Data,F.Size); F.ReadBuffered(Data[0],F.Size); Finally F.Free; End; Код:
var Data : TMemoryStream; F : TFileStream; begin Data : TMemoryStream.Create; F := TFileStream.Create('file.txt',fmOpenRead); Try Data.CopyFrom(F,F.Size); MyFunction(Data.Memory); // call API and pass the pointer to the data Finally F.Free; End; |