Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 3
1

Сделайте аналогичный код в C++ Builder, пожалуйста(с Delphi)

05.07.2017, 22:59. Просмотров 451. Ответов 6
Метки нет (Все метки)


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
28
29
30
31
32
33
34
35
36
37
38
unit Unit1;
 
interface
 
uses
Windows, Classes, Controls, Forms, StdCtrls;
 
type
TButton = class(StdCtrls.TButton)
private
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
override;
end;
 
TForm1 = class(TForm)
Button1: TButton;
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
{ TButton }
 
procedure TButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
Hide;
Sleep(1000);
Show;
end;
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2017, 22:59
Ответы с готовыми решениями:

Помогите перевести код с Delphi на C++ Builder, пожалуйста!
unit MainUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Сделайте пожалуйста код ревью - комментом к строке
Рассчитать значение выражения. Все неизвестные вводить с консоли Var x,y:integer; begin...

Перепишите пожалуйста код на builder c+

Переведите пожалуйста код на Builder
procedure TForm1.OnButtonCellClick(Sender: TObject); var PressedButton: TButton; begin ...

6
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30865 / 20187 / 7874
Регистрация: 22.10.2011
Сообщений: 35,049
Записей в блоге: 6
06.07.2017, 13:33 2
h-файл
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
34
35
36
37
38
39
40
41
42
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
//---------------------------------------------------------------------------
 
namespace MyButton
{
    class TButton : public Stdctrls::TButton
    {
    protected:
        DYNAMIC void __fastcall MouseDown(TMouseButton Button, Classes::TShiftState Shift,
                                          int X, int Y)
        {
            if(Button == mbLeft)
            {
                Hide();
                Sleep(1000);
                Show();
            }
        }
    };
};
#define TButton MyButton::TButton
 
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TButton *Button1;
private:    // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
0
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 3
06.07.2017, 14:30  [ТС] 3
Я очень плохо понимаю Builder и не понимаю как это должно работать. Можете объяснить, пожалуйста?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30865 / 20187 / 7874
Регистрация: 22.10.2011
Сообщений: 35,049
Записей в блоге: 6
06.07.2017, 14:55 4
Точно так же, как и в Дельфи. Стандартный класс кнопки подменяется своим, в котором переопределяется один из методов.
0
275 / 152 / 52
Регистрация: 30.06.2011
Сообщений: 1,700
06.07.2017, 15:17 5
Livanskiy, читать это Классы-перехватчики (interceptor classes)
0
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 3
06.07.2017, 16:39  [ТС] 6
Конечный результат должен быть: класс-потомок класса TButton, объекты которого при нажатии (щелчке ЛКМ) исчезают на 1 секунду, а потом снова появляются. И с Builder я чувствую себя калекой, ибо не понимаю что жмякать в Form и работать всё будет.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30865 / 20187 / 7874
Регистрация: 22.10.2011
Сообщений: 35,049
Записей в блоге: 6
06.07.2017, 17:31 7
Еще раз повторить? Так же, как и в Дельфи. Как в Дельфи на форму нужно положить кнопку и она будет исчезать на одну секунду при нажатии, так и в Билдере нужно вышеприведенный namespace вместе с #define-ом добавить перед формой в h-файле, в редакторе форм положить на форму кнопку, и запустить приложение. Кнопка точно так же исчезнет на секунду при клике на ней.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2017, 17:31

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

Переделать код на C++ Builder! пожалуйста
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

код Delphi в Builder
помогите перевести этот код в builder не могу разобратся с этой строкой FS: TFileStream;...

Перевести код из Delphi в C++ Builder
program Project1; uses Windows, ShellApi; function GetTmpPath():string; var sBuff: ...

Переделать код из Delphi в С++ Builder 6
Помогите пожалуйста переделать код из Delphi в С++ Builder 6, я не прошу кого то просто взять и всё...


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

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

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