Помогите новичку в C++

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-02 22:34:37

Всем привет всем!!
Помогите разобраться в C++.
Имеется система на OpenSuSe 11.3 и IDE CodeBlocks с wxWidgets 2.8.

Не могу разобраться как работать с буфером обмена.
Есть функция wxClipboard.
Для записи в буфер есть пример:

Код: Выделить всё

// Write some text to the clipboard
if (wxTheClipboard->Open())
{
    // Data objects are held by the clipboard,
    // so do not delete them in the app.
    wxTheClipboard->SetData(new wxTextDataObject()));
    wxTheClipboard->Close();
}
Для чтения из оного

Код: Выделить всё

// Read some text
if (wxTheClipboard->Open())
{
    if (wxTheClipboard->IsSupported(wxDF_TEXT))
    {
         wxTextDataObject data;
         wxTheClipboard->GetData(data);
         wxMessageBox(data.GetText());
    }
    wxTheClipboard->Close();
}
Но вот в чем проблема:
Создал в эдиторе гуя, меню "Edit", а в нём три пункта Cut, Copy, Paste.
Потом Функции на кнопочки вида:
[/code]
void catalogFrame::OnEditCopy(wxCommandEvent & event)
{

}

void catalogFrame::OnEditPaste(wxCommandEvent& event)
{

}
[/code]

Подключил файл clipbrd.h.
Вставил в функцию кнопок строки из примера и при компиляции валяться ошибки.

Код: Выделить всё

/home/***/projects/catalog/catalogMain.cpp||In member function ‘void catalogFrame::OnEditCopy(wxCommandEvent&)’:|
/home/***/projects/catalog/catalogMain.cpp|154|error: expected type-specifier before ‘wxTextDataObject’|
/home/***/projects/catalog/catalogMain.cpp|154|error: expected ‘)’ before ‘wxTextDataObject’|
/home/***/projects/catalog/catalogMain.cpp|154|error: no matching function for call to ‘wxClipboard::SetData(int*)’|
/usr/include/wx-2.8/wx/gtk/clipbrd.h|33|note: candidate is: virtual bool wxClipboard::SetData(wxDataObject*)|
/home/electronik/projects/catalog/catalogMain.cpp|154|error: expected ‘;’ before ‘)’ token|
||=== Build finished: 5 errors, 0 warnings ===|
P.S.: Прошу сильно не пинать, я еще только учусь, перелопатил несколько книг, но так и не нашёл как реализовать copy/paste
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Помогите новичку в C++

Непрочитанное сообщение hizel » 2010-08-03 8:22:52

еще раз прочитайте документацию, начинать учить С++ с wxWidgets очень странно
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 8:47:56

Во первых. wxWidgets - очень странный выбор.
Пока вы выдрали куски из контекста я вижу первую ошибку.
Из документации
http://docs.wxwidgets.org/stable/wx_wxc ... ardsetdata
Я вижу что у wxClipboard::SetData нет конструктора по умолчанию.
И выглядит объявление следующим образом:
bool SetData(wxDataObject* data)
А у вас почему то
wxTheClipboard->SetData(new wxTextDataObject()));

Мало того, в документации написано что загогловочник оюъявляется так:

Код: Выделить всё

Include files
<wx/clipbrd.h>
Вообщем приводите все в порядок, или сообщайте дополнительную инфу.. гадать - очень сложно.
Ну и было бы неплохо чтобы в 21 век люди юзали каваный Qt :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Помогите новичку в C++

Непрочитанное сообщение hizel » 2010-08-03 9:40:35

C++ не нужен :pardon:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-03 9:42:24

hizel писал(а):еще раз прочитайте документацию, начинать учить С++ с wxWidgets очень странно
wxWidgets кросс-платформенный, и в инете написано что он простой.
Fastman писал(а): Ну и было бы неплохо чтобы в 21 век люди юзали каваный Qt :)
Или мне кажется или Qt тяжеловат в плане производительности? / *Сужу по четвёртым кедам. Без 2-ух гигов оперативы и 2-ух ядер они еле шевеляться*/
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 9:52:55

hizel писал(а):C++ не нужен :pardon:
Хиз, давай не будем а то я тебя затроллю :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 9:57:25

Electronik писал(а):
hizel писал(а):еще раз прочитайте документацию, начинать учить С++ с wxWidgets очень странно
wxWidgets кросс-платформенный, и в инете написано что он простой.
Fastman писал(а): Ну и было бы неплохо чтобы в 21 век люди юзали каваный Qt :)
Или мне кажется или Qt тяжеловат в плане производительности? / *Сужу по четвёртым кедам. Без 2-ух гигов оперативы и 2-ух ядер они еле шевеляться*/
я не против wxWidgets. Но это довольно устаревшая технология.
А при чем ту Qt к кедам ? :) Я на чистом C++ сча наваяю так что комп будет ворочать данными до второго пришествия :)
Не слушайте никого. Для кроспратформа GUI пока лучше чем Qt ничего не придумано :)
Мало того, нужно иметь ввиду что Qt это не только GUI, это мощный фреймворк который включает в себя инструменты для работы с сетью, базами данных, xml, графикой итд итп.
Ведь лучше не тащить в свое приложение кучу разрозненных библиотек, а юзать все от "одного производителя" :)
В любом случае - не навязываю. Выбор всегда есть :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Помогите новичку в C++

Непрочитанное сообщение hizel » 2010-08-03 10:18:43

Qt это не только GUI, что составляет немалую часть профитов от его кросплатформенности
также там впендюрили неплохую GUI в состав SDK
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-03 10:56:17

Т.е лучше пересесть на Qt и учиться в нём? И код будет одинаково компилиться и писаться как для *nix так и для Win?
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 11:04:10

Electronik писал(а):Т.е лучше пересесть на Qt и учиться в нём? И код будет одинаково компилиться и писаться как для *nix так и для Win?
Код написанный на Qt, на 90% вообще без проблем собирается в Win/Lin/MacOSX/BSD
Нужно конечно помнить что все равно есть нюансы каждой из операционных систем. Полного счастья не бывает.
Но по сравнению с vxWidget его нааамного больше :)
Опять же. Выбор только твой.

В защиту еще хочу сказать что Qt идет с просто охренительным хелпом. Со своей IDE и просто офигительным количеством примеров на каждый чих :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Гость
проходил мимо

Re: Помогите новичку в C++

Непрочитанное сообщение Гость » 2010-08-03 12:57:42

>Electronik
оригин,ально братся изучать С++ начиная с wxWidget
С/С++ сначала досконально изучите
и научитесь читать документацию
большинство ответов никто никогда не знает
но всегда можно прочитать документацию и найти ответ

>Fastman
ненадо наговаривать на wxWidget
она тоже не плоха, достаточно посмотреть на размер wxWidget и размеры QT
QT хорош был пока его не купила нокия

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 13:20:43

Гость писал(а): оригин,ально братся изучать С++ начиная с wxWidget
С/С++ сначала досконально изучите
и научитесь читать документацию
большинство ответов никто никогда не знает
но всегда можно прочитать документацию и найти ответ
Поддерживаю.
>Fastman
не надо наговаривать на wxWidget
она тоже не плоха, достаточно посмотреть на размер wxWidget и размеры QT
QT хорош был пока его не купила нокия
Я нигде кстати не наговаривал.
При чем тут размеры ? Еще раз, сравните функционал, и будет понятно почему.
Qt после покупки Nokia- похорошел и повзрослел. Это мое ИМХО :)

Что бы было понятно что сравнивать, функционал 2-х основных классов Qt:
QtCore : http://doc.qt.nokia.com/4.6/qtcore.html
QtGUI : http://doc.qt.nokia.com/4.6/qtgui.html

Код: Выделить всё

-rw-rw-rw-   1 user     group     8581120 Jul 27 10:53 QtGui4.dll
-rw-rw-rw-   1 user     group     2392064 Jul 27 10:44 QtCore4.dll
при этом офигенном функционале размере QtCore 2.4 мегабайта и QtGUI 8.5 мегабайт.

И я не понимаю как такой размер библиотек может повлиять на выбор фреймворка для средне-статистической рабочей станции.
Для эмбеда, понятно, другие.
Но мы все в курсе что есть версии Qt для мобильного применения ? :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Гость
проходил мимо

Re: Помогите новичку в C++

Непрочитанное сообщение Гость » 2010-08-03 13:26:31

я не одобряю дробления QT на библиотеки
ты когда нибудь видел приложения которое использует например QT-Network но не использует QT-GUI ?
я не видел
и почти любое QT приложение использует весь функционал QT начиная от xml заканчивая графикой
так был ли смысл дробить?
небыл
дробление - это путь в пропасть

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 13:37:10

Гость писал(а):я не одобряю дробления QT на библиотеки
ты когда нибудь видел приложения которое использует например QT-Network но не использует QT-GUI ?
я не видел
Я такое писал. Очень удобно. Дело даже не в том что МНЕ удобно.
Если в проекте используется Qt, зачем выдумывать ? Все единообразно понятно без вылетов из общей идеологии.
Я взял и написал демон для BSD который юзает QtCore и QtNetwork.
Пару лет как "трудится" это дело в "черной" не обслуживаемой коробке 24/7 на реальном производстве.
и почти любое QT приложение использует весь функционал QT начиная от xml заканчивая графикой
так был ли смысл дробить?
Я не буду спорить. А тем более указывать авторам разработок что и как им использовать.
Модульность - удобно. Зачем мне нафиг вебкит в одном модуле со всем ?
Глупость какая.
дробление - это путь в пропасть
Не буду разводить холивары. У каждого свое понятие.
Для всего есть свое применение.
Это же инструмент ! И вопрос, молотком по гвоздю бить или себе по яйцам, решается только тобой :)

Был рад выслушать все мысли. Я не против никаких других разработок. Если оно есть - значит это кому то надо.
Но думаю разжигать флейм - не стоит.
А на конкретные вопросы отвечу если интересно :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-03 14:02:27

Гость писал(а):>Electronik
С/С++ сначала досконально изучите
Этим сейчас и занимаюсь)) Но хочется на примере постигнуть дзен. Просто копипастить примеры из книг смысла нет, а когда пишешь что то своё, то так проще, интереснее и постепенно обо всём узнаёшь.
Гость писал(а): и научитесь читать документацию
большинство ответов никто никогда не знает
но всегда можно прочитать документацию и найти ответ
Документацию я читаю , только не всё еще могу понять.
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Гость
проходил мимо

Re: Помогите новичку в C++

Непрочитанное сообщение Гость » 2010-08-03 14:06:21

Этим сейчас и занимаюсь)) Но хочется на примере постигнуть дзен. Просто копипастить примеры из книг смысла нет, а когда пишешь что то своё, то так проще, интереснее и постепенно обо всём узнаёшь.
даже если вы научитесь что то компилять или писать на wxWidget
С++ вы врядли изучите
не с того начали имхо

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-03 14:08:50

Гость писал(а):
Этим сейчас и занимаюсь)) Но хочется на примере постигнуть дзен. Просто копипастить примеры из книг смысла нет, а когда пишешь что то своё, то так проще, интереснее и постепенно обо всём узнаёшь.
даже если вы научитесь что то компилять или писать на wxWidget
С++ вы врядли изучите
не с того начали имхо
А с чего тогда начать? :st:
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 14:14:15

Electronik писал(а):
Гость писал(а):
Этим сейчас и занимаюсь)) Но хочется на примере постигнуть дзен. Просто копипастить примеры из книг смысла нет, а когда пишешь что то своё, то так проще, интереснее и постепенно обо всём узнаёшь.
даже если вы научитесь что то компилять или писать на wxWidget
С++ вы врядли изучите
не с того начали имхо
А с чего тогда начать? :st:
:) Если пока не знаешь с чего начать - значит надо поставить цель.
Ни один фреймворк независимо от его крутости не поможет тебе если не знаешь что хочешь.
Это просто обертки которые упрощают работу с тем что УЖЕ понимаешь. По другому никак.
Так что если пока трудности с пониманием основ - дальше лезть не стоит.
Вообщем в демагогию ударились. Давайте народ по конкретике уж.
Главное в жизни здоровье и любовь, остальное я все куплю.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Помогите новичку в C++

Непрочитанное сообщение paradox » 2010-08-03 14:16:38

А с чего тогда начать?
1 перестать оверквотить
2 научится проецировать реальный мир на программирование и обратно
3 найти книгу по стандарту С++ и изучить его, переодически заглядывать
4 профит
все остальное QT, wxWidget и прочее уже сможете програмировать просто заглядывая в онлан справочник+чуть чуть ознакомившись с примерами

Гость
проходил мимо

Re: Помогите новичку в C++

Непрочитанное сообщение Гость » 2010-08-03 14:20:18

2 научится проецировать реальный мир на программирование и обратно
называя класс телевизор, а функции кнопки
еще не означает что вы правильно научились проецировать
наличие разных моделей телефизоров, размеры, местоположение и количество кнопок тоже нужно предусматривать))

все программирование сводится к тому
1 получаешь от заказчика задание к примеру написать веб сервер
2 ищешь проекцию в живом мире которая будет отождесвлять этот веб сервер
3 описываешь ее повидение
4 профит

уметь писать класс webserver И функции send, recv
это бестолковый быдло кодинг

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Помогите новичку в C++

Непрочитанное сообщение Fastman » 2010-08-03 14:21:34

Гость писал(а): 1 перестать оверквотить
2 научится проецировать реальный мир на программирование и обратно
3 найти книгу по стандарту С++ и изучить его, переодически заглядывать
4 профит
все остальное QT, wxWidget и прочее уже сможете програмировать просто заглядывая в онлан справочник+чуть чуть ознакомившись с примерами
Согласен. Добавил бы еще один пункт :)
5. Подписываться хотя бы своим ником.
Проходящие гости с правильными мыслями должны быть названы :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-03 14:23:16

Fastman писал(а): :) Если пока не знаешь с чего начать - значит надо поставить цель.
Цель есть, понять и написать программу которая работает с серверам баз данных(Mysql,FB,IB,MSSQL), а так же научиться нормально строить сами базы.
Fastman писал(а): Ни один фреймворк независимо от его крутости не поможет тебе если не знаешь что хочешь.
.
Знаю))
Гость писал(а):
А с чего тогда начать?
1 перестать оверквотить
2 научится проецировать реальный мир на программирование и обратно
3 найти книгу по стандарту С++ и изучить его, переодически заглядывать
4 профит
все остальное QT, wxWidget и прочее уже сможете програмировать просто заглядывая в онлан справочник+чуть чуть ознакомившись с примерами
Вот первый пункт совсем не понял. А второй это Вы имели ввиду классификацию объектов?
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Гость
проходил мимо

Re: Помогите новичку в C++

Непрочитанное сообщение Гость » 2010-08-03 14:27:14

Вот первый пункт совсем не понял.
не надо нажимат кнопочку цитировать, когда и так понятно с кем общаетесь и сообщения следуют друг за другом
А второй это Вы имели ввиду классификацию объектов?
расшифровал, смотри выше

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Помогите новичку в C++

Непрочитанное сообщение Electronik » 2010-08-03 15:50:04

Всем кто отозвался огромное спасибо, что наставили на путь истинный))))
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Dambo
ефрейтор
Сообщения: 61
Зарегистрирован: 2009-11-27 22:29:58

Re: Помогите новичку в C++

Непрочитанное сообщение Dambo » 2010-08-18 16:10:53

Electronik писал(а):Всем кто отозвался огромное спасибо, что наставили на путь истинный))))
http://forum.lissyara.su/viewtopic.php?f=16&t=24154 Прочитай.
Qt хорошая вещь начинать с неё нельзя, как и с других либ! Просто тупо половины вещей которые как то сделаешь понять не сможешь, что потом очень больно обернётся для тебя...