Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
1

Как преобразовать этот класс из Delphi в c++

29.05.2014, 12:50. Показов 1550. Ответов 25
Метки нет (Все метки)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  TKarta=class(TObject)
  private
    FDvig: boolean;
    Fi: integer;
    Fj: integer;
    FMast: string;
    FMesto: boolean;
    FRang: string;
    FV: boolean;
    procedure SetDviz(AValue: boolean);
    procedure Seti(AValue: integer);
    procedure Setj(AValue: integer);
    procedure SetMast(AValue: string);
    procedure SetMesto(AValue: boolean);
    procedure SetRang(AValue: string);
    procedure SetV(AValue: boolean);
    { private declarations }
  public
    property Mast:string read FMast write SetMast;
    property Rang:string read FRang write SetRang;
    property i:integer read Fi write Seti;
    property j:integer read Fj write Setj;
    property Visible:boolean read FV write SetV;
    property Dvig:boolean read FDvig write SetDviz;
    property Mesto:boolean read FMesto write SetMesto;
    { public declarations }
  end;
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2014, 12:50
Ответы с готовыми решениями:

Как преобразовать класс из динамически сгенерированного кода в локальный класс?
Исходные данные: Форма, на ней кнопка, по нажатию на которую компилируется программа, совершает...

Как преобразовать указатель на класс к указателю на асбтрактный класс?
Но тут есть одна тонкость- два промежуточных класса. Вот код, надеюсь всё из него понятно....

Как с использованием map и lambda-функции преобразовать этот код?
# -*- coding: utf-8 -*- from lxml import html import requests page =...

Form1.Designer.cs как найти этот класс?
Как?

25
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30922 / 20233 / 7887
Регистрация: 22.10.2011
Сообщений: 35,120
Записей в блоге: 6
29.05.2014, 13:28 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class TKarta
{
private:
    bool FDvig;
    int Fi;
    int Fj;
    String FMast;
    bool FMesto;
    String FRang;
    bool FV;
 
    void __fastcall SetDviz(bool AValue);
    void __fastcall Seti(int AValue);
    void __fastcall Setj(int AValue);
    void __fastcall SetMast(String AValue);
    void __fastcall SetMesto(bool AValue);
    void __fastcall SetRang(String AValue);
    void __fastcall SetV(bool AValue);
    // private declarations
 
public:
    __property String Mast = {read = FMast, write = SetMast};
    __property String Rang = {read = FRang, write = SetRang};
    __property int i = {read = Fi, write = Seti};
    __property int j = {read = Fj, write = Setj};
    __property bool Visible = {read = FV, write = SetV};
    __property bool Dvig = {read = FDvig, write = SetDviz};
    __property bool Mesto = {read = FMesto, write = SetMesto};
    // public declarations
};
Как-то так...
1
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
29.05.2014, 13:39 3
UI, а часом не
C++
1
2
3
4
class TKarta : public TObject
{
///
};
?
0
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
29.05.2014, 13:41  [ТС] 4
В делфи есть горячая клавиша "Ctrl-Shift-C", чтобы закончить метод (если он описан - создать шаблон для реализации,если есть реализация - объявить метод). Можно ли так сделать в C++?
0
Почетный модератор
Эксперт С++
5843 / 2852 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
29.05.2014, 14:16 5
Цитата Сообщение от Дикутенз Посмотреть сообщение
Можно ли так сделать в C++?
Имелось в виду наверное в билдере.
Попробуйте, может вам подойдет сочетание клавиш Ctrl + J.

Добавлено через 1 минуту
Хотя нет. Это только шапки.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30922 / 20233 / 7887
Регистрация: 22.10.2011
Сообщений: 35,120
Записей в блоге: 6
29.05.2014, 15:06 6
Цитата Сообщение от _Dimon_ Посмотреть сообщение
а часом не
Не, и так будет работать. Я не вижу тут никаких зависимостей от TObject...
1
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
29.05.2014, 19:23  [ТС] 7
Программа ругается на строчки, где тип String.
Я написал в начале #include <string>, но все равно ошибки. Может я что-то не так сделал, не пойму. Раньше на лазарусе работал, сейчас C++ изучаю и еще не всё понимаю
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30922 / 20233 / 7887
Регистрация: 22.10.2011
Сообщений: 35,120
Записей в блоге: 6
29.05.2014, 19:40 8
Цитата Сообщение от Дикутенз Посмотреть сообщение
Программа ругается на строчки, где тип String.
Программа прекрасно компилируется, если что, безо всяких добавлений... Я сначала проверяю, и только потом - отвечаю.
0
Миниатюры
Как преобразовать этот класс из Delphi в c++  
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
30.05.2014, 02:43 9
Цитата Сообщение от UI Посмотреть сообщение
Не, и так будет работать. Я не вижу тут никаких зависимостей от TObject...
Это понятно, но все же для аутентичности ....

Добавлено через 11 минут
Дикутенз, какая версия билдера?
0
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
08.06.2014, 16:42  [ТС] 10
А fastcall Set нужно где-то описывать?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30922 / 20233 / 7887
Регистрация: 22.10.2011
Сообщений: 35,120
Записей в блоге: 6
08.06.2014, 17:22 11
Реализацию - нужно. Но ты ж не привел ее Дельфийский вариант...
0
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
08.06.2014, 17:27  [ТС] 12
В делфи она сама создавалась
C++
1
2
if Fi=AValue then Exit;
Fi:=AValue;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30922 / 20233 / 7887
Регистрация: 22.10.2011
Сообщений: 35,120
Записей в блоге: 6
08.06.2014, 19:43 13
Цитата Сообщение от Дикутенз Посмотреть сообщение
В делфи она сама создавалась
Сказки не надо рассказывать. То я не знаю, как в Дельфи что происходит. Создается "болванка", которую надо еще заполнить.

Нужна помощь с переводом - показывай класс полностью, мне в "испорченные телефоны" играть надоело...
0
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
08.06.2014, 19:50  [ТС] 14
Вот такой у меня класс. В строчках, где сравнивается строковые типы данных(String) - ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class TKarta
{
private:
    bool FDvig;
    int Fi;
    int Fj;
    String FMast;
    bool FMesto;
    String FRang;
    bool FV;
 
    void __fastcall SetDviz(bool AValue){if(FDvig=AValue){exit;}Dvig=AValue;};
    void __fastcall Seti(int AValue){if(Fi=AValue){exit;}Fi=AValue;};
    void __fastcall Setj(int AValue){if(Fj=AValue){exit;}Fj=AValue;};
    void __fastcall SetMast(String AValue){if(FMast=AValue){exit;}FMast=AValue;};
    void __fastcall SetMesto(bool AValue){if(FMesto=AValue){exit;}FMesto=AValue;};
    void __fastcall SetRang(String AValue){if(FRang=AValue){exit;}FRang=AValue;};
    void __fastcall SetV(bool AValue){if(FV=AValue){exit;}FV=AValue;};
    // private declarations
 
public:
    __property String Mast = {read = FMast, write = SetMast};
    __property String Rang = {read = FRang, write = SetRang};
    __property int i = {read = Fi, write = Seti};
    __property int j = {read = Fj, write = Setj};
    __property bool Visible = {read = FV, write = SetV};
    __property bool Dvig = {read = FDvig, write = SetDviz};
    __property bool Mesto = {read = FMesto, write = SetMesto};
 
    // public declarations
};
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
08.06.2014, 19:57 15
== сравнение
= присвоение

я б на твоем месте реализацию отделил от обьявления
0
92 / 92 / 99
Регистрация: 25.01.2013
Сообщений: 326
09.06.2014, 08:42  [ТС] 16
Цитата Сообщение от _Dimon_ Посмотреть сообщение
я б на твоем месте реализацию отделил от обьявления
почему?
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
09.06.2014, 09:56 17
Цитата Сообщение от Дикутенз Посмотреть сообщение
почему?
да просто мне так больше нравится.

и еще, чем отличается
C++
1
if(FMast==AValue){exit;}FMast=AValue;
от
C++
1
FMast=AValue;
?

Добавлено через 11 минут
ну а раз функции такие простенькие, то не легче без них
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class TKarta
{
private:
    bool FDvig;
    int Fi;
    int Fj;
    String FMast;
    bool FMesto;
    String FRang;
    bool FV;
 
    /*
    void __fastcall SetDviz(bool AValue){if(FDvig=AValue){exit;}Dvig=AValue;};
    void __fastcall Seti(int AValue){if(Fi=AValue){exit;}Fi=AValue;};
    void __fastcall Setj(int AValue){if(Fj=AValue){exit;}Fj=AValue;};
    void __fastcall SetMast(String AValue){if(FMast=AValue){exit;}FMast=AValue;};
    void __fastcall SetMesto(bool AValue){if(FMesto=AValue){exit;}FMesto=AValue;};
    void __fastcall SetRang(String AValue){if(FRang=AValue){exit;}FRang=AValue;};
    void __fastcall SetV(bool AValue){if(FV=AValue){exit;}FV=AValue;};
    */
    // private declarations
 
public:
    __property String Mast = {read = FMast, write = FMast};
    __property String Rang = {read = FRang, write = FRang};
    __property int i = {read = Fi, write = Fi};
    __property int j = {read = Fj, write = Fj};
    __property bool Visible = {read = FV, write = FV};
    __property bool Dvig = {read = FDvig, write = FDvig};
    __property bool Mesto = {read = FMesto, write = FMesto};
 
    // public declarations
};
0
Почетный модератор
Эксперт С++
5843 / 2852 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
09.06.2014, 09:59 18

Не по теме:

Цитата Сообщение от _Dimon_ Посмотреть сообщение
да просто мне так больше нравится
А потом появляются вопросы "почему у меня шаблоны не работают". Х)



Цитата Сообщение от _Dimon_ Посмотреть сообщение
чем отличается
Тем, что в первом случае присваивание может и не выполниться.
0
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
09.06.2014, 10:06 19
SatanaXIII, а по большому счету есть разница, выполнится там присваивание или нет, если присвоит то самое значения?

Не по теме:

а насчет шаблонов, так это так трудно самому написать, что нужно пол дня в IDE искать, какой комбинацией кнопок это делается...

0
Почетный модератор
Эксперт С++
5843 / 2852 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
09.06.2014, 10:19 20
Цитата Сообщение от _Dimon_ Посмотреть сообщение
а по большому счету есть разница, выполнится там присваивание или нет, если присвоит то самое значения?
У меня от такого вопроса чуть чалма не сползла.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2014, 10:19

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как в функции my_function преобразовать ссылку на базовый класс в ссылку на класс B или С
Всем привет, как в функции my_function преобразовать ссылку на базовый класс в ссылку на класс B...

Создайте класс Parallelogram. Этот класс хранит декартовы координаты четырех углов параллелограмма
Создайте класс Parallelogram.Этот класс хранит декартовы координаты четырех углов параллелограмма....

Как преобразовать класс?
Доброго времени суток, подскажите пожалуйста, как можно преобразовать анонимный список List&lt;&lt;...

Класс: Почему этот operator+ не хочет работать как функция внутри класса?
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class complex{ private: int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.