![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Здравствуйте!
У меня есть проект, который хорошо отрабатывает на 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; |