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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2010, 11:12   #1
harryp
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 17
По умолчанию Преобразовать код с C++ в Delphi

Здравствуйте, есть исходники, написанные на C Builder, стала задача переписать на Delphi.. C++ только начинаю осваивать, помогите понять как эту часть кода перенести на Delphi, спасибо..

Код:
struct TFileInf
{
 AnsiString m_sFileName;
 int m_nFileSize;
 int m_nFileTime;

 TFileInf& operator=(const TFileInf& a);

 bool operator==(const TFileInf &a) const;
 bool operator!=(const TFileInf &a) const {return !(*this == a);};
 bool operator>(const TFileInf &a) const;
 bool operator<(const TFileInf &a) const;

 bool Load(FILE* in);
 bool Save(FILE* out) const;

 TFileInf(void) : m_nFileSize(0), m_nFileTime(0) {};
 TFileInf(const TFileInf& a){*this = a;};
 ~TFileInf(void) {};
};
//------------------------------------------------------------------------------
struct TImageInf : public TFileInf
{
 int m_nImageHeight;
 int m_nImageWidth;
 TGDIplusImage::FORMAT m_eImageFormat;

 TImageInf& operator=(const TImageInf& a);

 TImageInf(void) : m_eImageFormat(TGDIplusImage::NON),
  m_nImageHeight(0), m_nImageWidth(0){};
 TImageInf(const TImageInf& a){*this = a;};
 ~TImageInf(void){};
};
//------------------------------------------------------------------------------
struct TCollectedData : public TImageInf
{
 void *m_pKey; // Pointer to struct of key data (in simple case it is 2D array);
 int m_nSize;  // Size of struct of key data;
 int m_nRatio; // Ratio between height and width of image;

 TCollectedData& operator=(const TCollectedData& a);

 TCollectedData(int nSize = PIXELS_SIZE*PIXELS_SIZE);
 TCollectedData(const TCollectedData& a);
 ~TCollectedData(void);
};
harryp вне форума Ответить с цитированием
Старый 24.11.2010, 11:23   #2
XFree
Пользователь
 
Регистрация: 23.11.2010
Сообщений: 26
По умолчанию

Очень просто. Для начала посмотреть синтаксис Delphi, ну или Си++, в зависимости какой язык не понятен. Билдер и Дельфи отличаются только синтаксисом языка и тем, что Си регистрозависимый. Обычно основная часть кода у Борлан создается автоматически, поэтому создайте такой же проект и переносите пошагово все события. На конкртеные вопросы ответим. Так же и что конкретно не понятно в этом коде?
XFree вне форума Ответить с цитированием
Старый 24.11.2010, 11:30   #3
harryp
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 17
По умолчанию

Спасибо. Непонятно, например, как в Delphi описать эту структуру:

struct TFileInf
{
...};

с чего начинать?
harryp вне форума Ответить с цитированием
Старый 24.11.2010, 12:56   #4
casekey
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 95
По умолчанию

Цитата:
Сообщение от harryp Посмотреть сообщение

struct TFileInf
{
...};
например описание типа:

Код:
type TFileInf = record
m_nFileSize: integer;
m_nFileTime: integer;
end;
casekey вне форума Ответить с цитированием
Старый 24.11.2010, 13:09   #5
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Скорее class, а не struct, там же функции в этой штуке.
А перегрузка операторов - это Delphi2005+. А конструктор копирования и оператор присваисвания - это вообще на Delphi один к одному не переводится, только обходными путями.
Somebody вне форума Ответить с цитированием
Старый 24.11.2010, 17:04   #6
harryp
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 17
По умолчанию

Понятно, спасибо за советы. Разбираться в тонкостях - как обычно время поджимает.. Легче своё написать.
..
написал, не актуально
..

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразовать в код С++ daniil2010 Помощь студентам 2 22.04.2010 15:33
преобразовать исходный код *Оля* Паскаль, Turbo Pascal, PascalABC.NET 0 18.04.2010 20:47
Преобразовать код... CodeExpert Помощь студентам 3 09.11.2009 16:00
Как преобразовать код SeRhy HTML и CSS 1 17.08.2008 15:50
преобразовать Delphi код в assembler rip Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 12.05.2008 15:46