Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,142
Записей в блоге: 3

ИИ и Builder

25.01.2025, 14:15. Показов 8287. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго, тема не вопрос, а скорее немного информативная =)
Начал замечать, некоторые ИИ научились писать программы именно под Builder, а не просто с++. Притом пишут довольно не плохо. Это конечно радует.
Вот ниже пример ...попросил написать мини игру....ну и текст ответа и скрин

Creating a simple game in C++ Builder with OpenGL support requires a basic understanding of both C++ programming and the C++ Builder IDE. Below, I will guide you through creating a simple OpenGL application that renders a colored triangle.

### Steps to Create a Simple OpenGL Game in C++ Builder:

1. **Setup your C++ Builder Environment:**
Ensure that C++ Builder is installed with support for OpenGL.

2. **Create a New VCL Forms Application:**
- Open C++ Builder.
- Select `File -> New -> VCL Forms Application`.

3. **Add OpenGL Support:**
To utilize OpenGL, you will need to include the OpenGL headers in your project. Make sure to include `GL/gl.h` and `GL/glu.h`.

4. **Design the Form:**
- Drop a `TPanel` on the form to act as the OpenGL rendering surface.

5. **Write the OpenGL Code:**
Below is a simple example code snippet that initializes OpenGL and renders a triangle.

```cpp
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <vcl.h>
#include <GL/gl.h>
#include <GL/glu.h>
#pragma hdrstop
 
#pragma resource "*.dfm"
 
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TPanel *OpenGLPanel;
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall FormDestroy(TObject *Sender);
    void __fastcall OpenGLPanelPaint(TObject *Sender);
    void __fastcall OpenGLPanelResize(TObject *Sender);
private:    // User declarations
    HGLRC hRC; // OpenGL Rendering Context
    HDC hDC;   // Device Context
    void SetupOpenGL();
    void RenderScene();
public:        // User declarations
    __fastcall TForm1(TComponent* Owner);
};
 
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
 
void TForm1::SetupOpenGL()
{
    // Get the device context for the panel
    hDC = GetDC(OpenGLPanel->Handle);
    // Set up pixel format
    PIXELFORMATDESCRIPTOR pfd = {sizeof(PIXELFORMATDESCRIPTOR), 1, 
        PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL, 
        PFD_TYPE_RGBA, 32, 
        0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 
        0, 0, 0};
    int pixelFormat = ChoosePixelFormat(hDC, &pfd);
    SetPixelFormat(hDC, pixelFormat, &pfd);
    
    // Create the OpenGL rendering context
    hRC = wglCreateContext(hDC);
    wglMakeCurrent(hDC, hRC);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
}
 
void TForm1::RenderScene()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_TRIANGLES);
        glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(-0.5f, -0.5f);
        glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.5f, -0.5f);
        glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(0.0f, 0.5f);
    glEnd();
    SwapBuffers(hDC); // Swap buffers to display the rendered image
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    SetupOpenGL();
}
 
void __fastcall TForm1::OpenGLPanelPaint(TObject *Sender)
{
    RenderScene();
}
 
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
    wglMakeCurrent(hDC, NULL);
    wglDeleteContext(hRC);
    ReleaseDC(OpenGLPanel->Handle, hDC);
}
 
void __fastcall TForm1::OpenGLPanelResize(TObject *Sender)
{
    glViewport(0, 0, OpenGLPanel->Width, OpenGLPanel->Height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(-1, 1, -1, 1);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
 
// Create and show the form
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
    Application->Initialize();
    Application->CreateForm(__classid(TForm1), &Form1);
    Application->Run();
    return 0;
}
```

### Explanation:
- `SetupOpenGL`: Initializes OpenGL, sets up the pixel format, and creates a rendering context.
- `RenderScene`: Clears the screen and renders a colored triangle.
- `OpenGLPanelPaint`: Calls the rendering function when the panel needs to be repainted.
- `FormResize`: Adjusts the viewport and projection when the form is resized.

### Compiling and Running:
- Compile your application and run it. You should see a window with a colored triangle rendered using OpenGL.

### Note:
This is a basic example to get you started with OpenGL in C++ Builder. You can expand upon this by adding more advanced features, textures, lighting, and gameplay mechanics depending on your game's requirements. Also, make sure to handle any cleanup and consider using a game loop for more complex games.
Миниатюры
ИИ и Builder  
2
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.01.2025, 14:15
Ответы с готовыми решениями:

Как использовать компоненты скомпилированные для C++ Builder 2007 в C++ Builder 2010?
Народ! Такая проблема... Есть набор компонентов т.н. Dicom VCL. Сайт производителя - http://www.medicalconnections.co.uk/. У них на...

Можно ли использовать C++ Builder v11 если купить Embarcadero C++Builder XE8
День добрый! Есть старый проект С++. Он компилируется на CodeGear™ C++Builder Version 11. Но на это ПО утеряна лицензия, сейчас...

Ошибка печати на принтер после конвертации приложения с C++ Builder 6 в RAD (C++ Builder 10.4)
Добрый день, Это мой первый опыт в C++ и в разработке Windows приложений в принципе:-( поэтому возможно вопрос уж совсем глупый(( ...

6
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,142
Записей в блоге: 3
25.01.2025, 14:18  [ТС]
В ответе подробно описано пошагово что нужно сделать, этж круто

Добавлено через 2 минуты
Ну и добавлю, что перепробовал штук 20 разных ИИ, часть игнорили "Builder" и упорно предоставляли ответ для обычного c++, а кто то просто подставлял ответы с разных форумов.
0
0 / 0 / 0
Регистрация: 28.05.2023
Сообщений: 1
14.02.2025, 23:39
Интересно, что то на подобии Gpt можно интегрировать в builder?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,142
Записей в блоге: 3
15.02.2025, 00:39  [ТС]
tyktyk71, Пока нет и в делфи нет...ну если только кто то самоделки пишет. На вижул студио такого добра хватает, но варианты приходится перепроверять и много корректировать.

Добавлено через 6 минут
А так немного офтопа. Посещаю все презентации embracadero в направлении с++. И вот уже лет 5-6 у меня ощущение что на них преподносят тежи яйки, но с боку. Ну то есть за 5-6 лет у меня не возникло ни разу идеи взять и обновится до новой версии, ну вот прям не чего не задело или йокнуло: "о это охрененая фича, она мне поможет в разработке".
0
 Аватар для Storm Screamer
4838 / 1405 / 115
Регистрация: 21.04.2013
Сообщений: 8,564
15.02.2025, 00:57
Цитата Сообщение от Dinkin Посмотреть сообщение
Пока нет и в делфи нет
Есть, через GetIt Manager ставится.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,142
Записей в блоге: 3
15.02.2025, 01:04  [ТС]
Storm Screamer, ну так я выше написал, что это самоделки. Я не говорю что это плохо, просто результат что они выдают хрен знает как применять в боевых задачах.
Я юзал те что с интеграцией Copilot (именно те что через Git)...Возможно Вы или кото то больше приноровились и удачно с ними работает, мне нет.
0
 Аватар для Storm Screamer
4838 / 1405 / 115
Регистрация: 21.04.2013
Сообщений: 8,564
15.02.2025, 01:17
Цитата Сообщение от Dinkin Посмотреть сообщение
ну так я выше написал, что это самоделки
Данная позиция мне не ясна. Через GetIt Manager, в частности, и официальный патч накатывается на саму IDE. То есть это вполне легальный метод расширять возможности IDE. Будет ли по дефолту в будущих версия интегрирован ИИ-помощник? Вполне вероятно.

Однако, если говорить в целом про Rad Studio, то она какая-то отсталая по возможностям помогать программисту по сравнению с той же MSVS 2022.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2025, 01:17
Помогаю со студенческими работами здесь

Как открыть проект C++Builder 6 в Embarcadero C++Builder 10.3 Community Edition?
Здравствуйте. Как открыть проект C++Builder 6 в новом Embarcadero C++Builder 10.3 Community Edition?

Как заставить проект Builder 6 загруженный в Builder 2007 отображать новые кнопки
Люди добрые, кто нибудь встречался с такой проблемой: Я установил Builder 2007, загрузил в него проект, сделанный в Builder 6, при этом...

Подключение *.pas-модулей к C++ Builder-проектам, или перегон проектов с Delphi на C++ Builder
Известно, что в *.bpr- проекты приложений имеется возможность подключения обычных pas-модулей Delphi, и использование их совместно с...

Какой компилятор C++ Builder использовать? Rad Studio 2009 глючит. C++ Builder 6 старый
Много раз замечал непонятки с компилятором. Масла в огонь подлил Какой посоветуете?

Перенос программ из Borland C++ Builder 6 в C++Builder 10.4 Community Edition
Приветствую всех! Применяю Borland C++ Builder 6 уже лет 15, в основном для сервис-обслуживания микропроцессорной аппаратуры от ПК по...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru