Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 9 из 32<  1 ... 6  7  8  9  10  11  12 ... 32  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Ну кадэе я видел - не впечатлило.
Daemon писал(а):
У меня есть Том Арчер и Эндрю Уайтчепел, но книга написано мягка говоря не важно

Эта же кака есть и у меня - тоже не понравилось. У нас вообще серьёзными книжками не торгуют.
Daemon писал(а):
Ты сам чтоль кодирование делаешь, или кодеки используешь?

Не, я в программе открываю ависинт-скрипт и декодирую его посредством vfw. Т.е. до меня доходит уже раскодированный материал, но не в RGB, а в YV12(когда на хранение одного пикселя уходит 12бит). Тут надо заюзать ДиректИкс, видимо, для вывода картинки, но в этой области я ещё не работал. Щас я перевожу в RGB с помощью функции uchar * yv12ToRgb(...) (отсюда), но это, как я уже говорил медленновато.



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
mein писал(а):
У нас вообще серьёзными книжками не торгуют.
Дык а ты по какой учил, только не говори, что по МСДН :D

mein писал(а):
Тут надо заюзать ДиректИкс, видимо, для вывода картинки, но в этой области я ещё не работал.
Да копать конечно в сторону DirectShow, но я сам пока с этим не работал.

_________________
Ку ку


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Да я его и особенно то не знаю. Так поверхностно, так же и использую. Естественно мсдн рулит ( :D ) , но и в интернете покопатся по насущной проблеме тоже иногда можно. Самое большое что я писал на МФЦ это оно, его и хочу немного модернизировать.

Щас ставлю(блин, веб инсталер) платформСДК - попробую разобратся с DS.


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Как преоброзовать int-значение в строку?


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
-=alex-forewer=- писал(а):
Как преоброзовать int-значение в строку?

например можно воспользоватся функцией itoa(...)


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
mein Спасибо!

Как мне можно написать функцию, чтоб она возвращала строку. Я написал так, но это не верно!
Код:
char CField::IntToStr(int integer)
{
   char buffer[10];

   _itoa(integer, buffer, 10);

   return buffer;
}


На что влияет значение 10 в функции _itoa(), в MSDN написано, что оно должно находиться в диапазоне 2 - 36.


 

Member
Статус: Не в сети
Регистрация: 24.12.2005
-=alex-forewer=- Круто! :D
Код:
char* CField::IntToStr( int integer, char *buffer )
{
    return _itoa( integer, buffer, 10 );
}

или так
Код:
char* CField::IntToStr( int integer )
{
    char *buffer = new char[34];
    return _itoa( integer, buffer, 10 );
}

З.Ы. 10 - это основание системы счисления.


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Билли Бонс последний вариант вроде какбы не очень :oops:

Или такой mfc-вариант:
Код:
CString IntToStr(int d){
   CString str;
   itoa(d,str.GetBufferSetLength(20),10);
   str.ReleaseBuffer();
   return str;
}

или
Код:
CString IntToStr(int d){
   CString str;
   str.Format("%d",d);
   return str;
}

:D


 

Member
Статус: Не в сети
Регистрация: 24.12.2005
mein писал(а):
Билли Бонс последний вариант вроде какбы не очень

Почему? Тот же CString скорее всего тоже берёт память из кучи.


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Билли Бонс спасибо, завтра попробую, в смысле уже сегодня!
Цитата:
Круто!

В смысле глупо или что-то другое?

mein Спасибо за пример на MFC, ведь у меня вся прога на MFC, морской бой делаю! Думаю ещё не раз буду задовать вопросы! Хочу сделать углы окна немного закруглёнными, а как не знаю, есть информация только как в Win32 делать, а как в MFC нет, может кто поможет?


 

Member
Статус: Не в сети
Регистрация: 24.12.2005
-=alex-forewer=- писал(а):
В смысле глупо или что-то другое?
Именно. Разберись со строками и указателями - что такое и с чем едят (книжки почитай).


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Билли Бонс писал(а):
Почему? Тот же CString скорее всего тоже берёт память из кучи
Считается плохим тоном, когда память под буфер выделяется внутри функции и возвращается наружу, тот же strdup не рекомендуют использовать.
-=alex-forewer=- писал(а):
В смысле глупо или что-то другое?
Именно. Массив твой выделится на стеке и уничтожится при выходе из скоупа, т.е. из области видимости.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 24.12.2005
Daemon писал(а):
Считается плохим тоном, когда память под буфер выделяется внутри функции и возвращается наружу, тот же strdup не рекомендуют использовать.

Да? А как же все эти модные фабрики классов тогда работают?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Билли Бонс писал(а):
Да? А как же все эти модные фабрики классов тогда работают?
ООП - это одно, там четко понятно как был создан объект. А если функция - поди разбери чем этот буфер убивать, то ли free, то ли cfree, то ли delete, ибо могут они быть написаны на Сю

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Daemon
Цитата:
ООП - это одно, там четко понятно как был создан объект. А если функция - поди разбери чем этот буфер убивать, то ли free, то ли cfree, то ли delete, ибо могут они быть написаны на Сю

Вот это очень интересно, т.е. работа с классами этим и хороша, что всегда контролируется выделение памяти, конструктор создал объект (память соответственно выделилась), а деструктор разрушил объкект (память соответственно очистилась), я всё правильно понимаю? Я вообще детально прочитал только одну книгу (C++ Базовый курс, Герберд Шилдт, 2006 год), а со всякими хитростями и деталями ещё совершенно не знаком, мне интересно разобраться с MFC, но книг по нему я не нашёл, либо все очень старые (2000 год), либо стоят от 2000 руб.

И ещё вопрос, в чём отличие обычного деструктора от деструктора предварённого словом virtual? Например так:
Код:
virtual ~CField() {};


 

Junior
Статус: Не в сети
Регистрация: 01.10.2005
-=alex-forewer=- писал(а):
ещё вопрос, в чём отличие обычного деструктора от деструктора предварённого словом virtual? Например так:

насколько я понимаю, без виртуала вызовется деструктор базового класса (если имена одинаковы)


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
-=alex-forewer=- писал(а):
Вот это очень интересно, т.е. работа с классами этим и хороша, что всегда контролируется выделение памяти, конструктор создал объект (память соответственно выделилась), а деструктор разрушил объкект (память соответственно очистилась)
Ну это не совсем свойство ООП, вызвать конструктор класса в С++ можно одним единственным способом, с помощью placement new. Вызов конструктора (или деструктора) - это лишь вызов конструктора (деструктора).
Создание объекта на куче обычно происходит так:
1. A *inst = new A(); //где А - наш класс. Выполняются следующие действия. Если у класса есть перегруженный operator new, то вызывается этот оператор, который выделяет память (если нет, то память выделяется самим new). Затем с помощью placement new, обычный new вызывает конструктор. Объект конструируется, все объект создан.
Добавлено спустя 2 минуты, 10 секунд
Тоже самое с деструктором, только для начала вызывается деструктор, затем освобождается память.
Так вот обычно объекты создаются с помощью new и следственно уничтожаются с помощью delete, тут путаницы нет. А вот в С, может быть, просто не известно как удалять объект, нужно смотреть внутренности библиотеки.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Daemon Спасибо за разъяснение некоторых аспектов.

Ни кто не знает где взять эту книгу (MFC Internals: Inside the Microsoft(c) Foundation Class Architecture) в электронном виде (в смысле скачать) или в ЦБ по цене не более 500 руб.? Все отзывы на высшем уровне, видимо книга стоющая для прочтения не смотря на 1996 год! Кто знает на сколько сегодня актуально писать программы на MFC? Я думаю, что актуально, ведь я читал, что знание MFC даже лучше знания WIN API, не смотря на всю его сложность!

Вопрос немного не в тему, но всё же, как можно читать файлs DjVu, методы нужны на C++, именно на Visual C++! Мне программу написать надо, чтение DjVu.

Не так всё просто с этим MFC :( . Прочитал три главы “книги” (Создание MFC-приложений) и в итоге не знаю даже того, как изменить изначальный размер окна! Мало того, меняю имя пункта меню Exit (в поле caption) и больше этот пункт не работает (т.е. кнопка не активна во время выполнения). Как добавить на форму кнопку и чтоб по нажатию по ней, появилось диалоговое окно (которое я создал ранее), например с именем IDD_HELP. Ещё как сделать кнопку для выхода из приложения? И ещё, как убрать меню, генерируемое мастером, во время создания проекта его убрать нельзя (я не нашёл такой возможности). Я попытался просто удалить все пункты меню, но в результате ничего хорошего, меню исчезло, а код остался и компилятор генерирует ошибку, просто я не знаю какой код отвечает за отображение меню!


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
-=alex-forewer=- еще раз повторю. Фтопку MFC :) Это всего лишь обертка над WinAPI и некоторыми другими функциями. Существует море GUI библиотек, которые обладают куда более лучшей архитектурой и возможностями. Не считаю нужным учить это старье :)

_________________
Ку ку


 

Advanced member
Статус: Не в сети
Регистрация: 12.01.2004
Daemon
Можно пример хоть одной альтернативной GUI, которая бы обладала возможностями как минимум не меньшими, чем MFC, имела бы лучшую архитектуру при этом не была бы платной и использовала бы стандартные Windows контролы (т.е. своего рода была бы оберткой, как и MFC). Интерес вполне обоснованный - нужно будет писать прикладное Win приложение, MFC порядком подзабыл и вспонимать его приколы не особо хочеться, на писать на .net для desktop приложения - это слишком, плюс его использование, скорее всего, будет неприемлемым

_________________
Sapienti sat


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 9 из 32<  1 ... 6  7  8  9  10  11  12 ... 32  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan