Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Pascal -> Delphi


Автор: alafin 15.5.2008, 21:53
Подскажите как перенести такой код из Паскаля в Делфи:
Код

var
  DestSeg,
  DestOfs,
  SourceSeg,
  SourceOfs   :  Word;
begin
  SourceSeg := Seg (Source^);
  SourceOfs := Ofs (Source^);
  DestSeg   := Seg (Dest^);
  DestOfs   := Ofs (Dest^);

  Source := Ptr (SourceSeg,SourceOfs);
  Dest   := Ptr (DestSeg,DestOfs);

Автор: v1rtu0z 16.5.2008, 11:48
добавь в начало вот это:
Код


{$APPTYPE CONSOLE}

uses
  SysUtils;
//далее твой код


а еще лучше создай сначала в Делфи консольное приложение и после того кода что я написал вставь свой

Автор: Alexeis 16.5.2008, 12:45
alafin, под виндой никакие сегменты кода недоступны, да и не нужны в принципе виртуальное адресное пространство адресуется просто по адресу безо всяких сегментов и смещений. Функция Ptr больше не нужна. Если нужно работать с указателем, то его можно привести к типу LongWord и после этого менять. 

Автор: alafin 16.5.2008, 15:37
Alexeis, можешь написать как мой код преобразовать в то что ты говоришь?

Автор: Alexeis 16.5.2008, 15:57
Код

var
  SourcePtr : LongWord;
  DestPtr : LongWord;

begin
  SourcePtr := LongWord(Source);
  DestPtr   := LongWord(Dest);
  Source := Pointer(SourcePtr);
  Dest   := Pointer(DestPtr);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)