|
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 36
|
||||||
Работа с классами в билдере. Функции09.03.2009, 13:37. Показов 7518. Ответов 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
Нужна курсовая работа в с++ в виде консоли или бд в билдере В билдере есть функции для работы с деревьями?
Работа с классами. Работа с классами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|