|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
||||||
Работа с классами в билдере. Функции09.03.2009, 13:37. Показов 7462. Ответов 27
Метки нет (Все метки)
Добрый день.
Есть задание - написать опеределенную программу - сглаживания данных. Есть техническое задание, по которому эта программа должна быть написана. За два дня написал саму прогу (прога то простая, относительно, все основные действия по нажатию одной кнопки). Вот только по тех. заданию, в программе обязательно должны присутствовать классы, и описано, какие, и с какими функциями. Так вот, я не могу разобраться, как же работать с классами в билдере. Есть файл unit1.cpp, в котором написан весь код Нужно в заголовочный файл (unit1.h) перенести часть кода, раскидать по функциям и классам, да так чтобы работало)) В-общем-то, работу классов и функций себе представляю. Однако, при переносе, например вот такого кода в заголовочный файл в ф-ию
В-общем, если кто может, помогите мне на примере данного кода (чтения данных из файла) разобраться с классами/функциями. Буду премного благодарен.
0
|
||||||
| 09.03.2009, 13:37 | |
|
Ответы с готовыми решениями:
27
Работа с формами в билдере! Работа с файлами в Билдере Работа с внешними файлами в билдере |
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 09.03.2009, 13:43 | |
|
Ну значит у тебя нет объекта OpenDialog1. Объяви его в области видимости класса.
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
|||||||||||
| 09.03.2009, 13:49 [ТС] | |||||||||||
|
Vourhey, стоп. или в области видимости класса.. кажется, понял
сделал в области видимости класса. Билдер ругается теперь на то, что функция должна возвращать значение. вот код (не пинайте сильно, еще чуть чуть, и я от вас отстану) Unit1.h:
0
|
|||||||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 09.03.2009, 13:59 | |
|
напиши точно, как ошибка звучит?
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 09.03.2009, 14:00 | |
|
Ну и правильно ругается. А почему у тебя функция без возвращаемого значения?
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
|
| 09.03.2009, 14:02 [ТС] | |
|
WooDooMan, Function should return a value
Vourhey, а потому что, собственно, что ей там возвращать? Функция просто открывает ОпенДиалог и втыкает значение из выбранного файла в Edit1->Text
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 09.03.2009, 14:05 | |
|
А потому что по синтаксису любая функция должна возвращать значение. У тебя не конструктор и не деструктор. void.
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 09.03.2009, 14:11 | |
|
я делал иначе:
располагал на форме и эдит и диалог Код C++
1
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
|
| 09.03.2009, 14:22 [ТС] | |
|
WooDooMan, программа запускается, но при нажатии на кнопку Button1, выскакивает ошибко, причем указывает на строку Res = list->Text
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 09.03.2009, 22:19 | |
|
а что за ошибка? напиши текст ошибки
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
||||||
| 10.03.2009, 18:12 [ТС] | ||||||
|
В-общем, делал так:
http://img.ucoz.ru/_ph/1/866503868.jpg Пробовал разные вариации кода, предложенные в теме, ошибка все время либо эта, либо 'cannot open file' -_- Буду очень надеяться на помощь.
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.03.2009, 18:33 | |
|
TOpenDialog *OpenDialog1; TEdit *Edit1; TRadioButton *RadioButton1; - ты объявил, но не создал, ты обращаешься к NULL
размести эти компоненты на окне, а в классе сделай так, как я тебе в примере писал... и что там у меня за ошибка была?
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
|||
| 10.03.2009, 18:41 [ТС] | |||
|
0
|
|||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.03.2009, 18:43 | |
|
mrtman, у тебя код работает, когда на форме есть компоненты, они создаются при создании окна автоматом, а если ты их выносишь в свой класс, создавать надо, а как ты хотел, можешь трассирнуть свой код и глянуть, что хранится в этих указателях
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
|
| 10.03.2009, 18:47 [ТС] | |
|
WooDooMan, хмм. Очень странная ситуация, видимо ранее я где-то напортачил с Вашим вариантом кода. Ибо сейчас.. Он работает.
Всего один недочет - функция считывает строку из файла, добавляет ее в Edit1, и в конце приписывает || [эти две черты не скопированы, при копировании просто вставляется перенос как будто]. То есть Edit1->Text выглядит как 1 8 6 4 3 6||
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.03.2009, 18:56 | |
|
mrtman, так оно и есть, свойство Text содержит строки + \r\n, но их достаточно просто выкосить
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
|||||||||||
| 10.03.2009, 19:10 [ТС] | |||||||||||
|
WooDooMan, я Вам очень благодарен за помощь. Огромное спасибо.
Но я все-таки чувствую себя дубом в вопросе классов. Просто их не понимаю. Мне нужно сделать еще 3 класса из вполне работающей проги. Я думал, что понял "тему", так сказать.. пока не попробовал сделать совсем простенькую функцию в том же классе:
0
|
|||||||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 10.03.2009, 19:13 | |
|
если тебе так надо в стороннем классе обрабатывать реакции в окне (хотя чем тебе класс окна не класс?), то можно, например, объявить переменные типа TRadioButton в классе твоем, а потом в функцию передавать в качестве параметров указатели на радиобатоны из формы
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
||||||||
| 10.03.2009, 19:17 [ТС] | ||||||||
0
|
||||||||
| 10.03.2009, 19:17 | |
|
Помогаю со студенческими работами здесь
20
Нужна курсовая работа в с++ в виде консоли или бд в билдере В билдере есть функции для работы с деревьями?
Работа с классами. Работа с классами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|