Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 18:59   #1
BioHEX
Пользователь
 
Аватар для BioHEX
 
Регистрация: 04.01.2010
Сообщений: 17
Сообщение Перевод кода с C++

Здравствуйте, несколько лет не занимаюсь программированием, но срочно понадобилось написать программу для прямого чтения файлов с диска. За основу был взят исходник с wasm.ru.

ULong заменил Dword, ULONGLONG на Int64. Функцию malloc на GetMem и т.д.
Но возникло множество неувязок например:
Код:
Clusters = malloc(*ClCount * sizeof(ULONGLONG));
если заменить на GetMem, то в переменной Clusters сохранить результат не получится, надо указывать указатель.

И с мудреными сишными циклами тоже так и не разобрался
Код:
for (CnCount = (ULONG)(OutBuf->Extents[r].NextVcn.QuadPart - PrevVCN.QuadPart); CnCount; CnCount--, Cls++, Lcn.QuadPart++) Clusters[Cls] = Lcn.QuadPart;
Прошу помочь с переводом исходника на язык Delphi.

Загрузить с помощью вложений почему то не получилось, вот ссылка на файл http://wasm.ru/pub/21/files/lockfileswork/RawRead.rar.

Описание структур:
Код:
const 
  FSCTL_GET_RETRIEVAL_POINTERS = $090073;

type
  TExt = packed record
    NextVcn: Int64;
    Lcn: Int64;
  end;

  PRETRIEVAL_POINTERS_BUFFER = ^_RETRIEVAL_POINTERS_BUFFER;
  _RETRIEVAL_POINTERS_BUFFER = packed record
    ExtentCount: DWORD;
    StartingVcn: Int64;
    Extents: array [0..0] of TExt;
  end;

  _STARTING_VCN_INPUT_BUFFER = packed record
    StartingVcn: Int64;
  end;

Последний раз редактировалось BioHEX; 16.05.2012 в 19:49. Причина: Сокращение сообщения
BioHEX вне форума Ответить с цитированием
Старый 16.05.2012, 19:03   #2
BioHEX
Пользователь
 
Аватар для BioHEX
 
Регистрация: 04.01.2010
Сообщений: 17
По умолчанию

Сообщение удалено.

Последний раз редактировалось BioHEX; 16.05.2012 в 19:44.
BioHEX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод кода из С++ в С# PROkaZZZniK C# (си шарп) 3 14.11.2011 18:12
ПЕРЕВОД КОДА 2008kedr2008 Помощь студентам 0 25.11.2010 17:33
Перевод кода на С++ Golovastik Помощь студентам 0 04.06.2009 14:27
Перевод кода ELL Помощь студентам 0 07.06.2008 01:36