Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 146
от 13.12.2002, 18:10

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 439
Отправлено ответов: 964
Активность: 219.5 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Pinman
Статус: Опытный
Общий рейтинг: 147.1
URL: Программирование и заработок
[Подробней >>]
Jadd
Статус: Профессиональный
Общий рейтинг: 143.93
[Подробней >>]
Switcher
Статус: Начальный
Общий рейтинг: 126.08
[Подробней >>]
 
PL
Статус: Доверительный
Общий рейтинг: 114.65
[Подробней >>]
Avl2k
Статус: Доверительный
Общий рейтинг: 125.76
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.16
[Подробней >>]
 
Zloy
Статус: Опытный
Общий рейтинг: 107.82
URL: Паскаль, просто Паскаль ...
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 114.35
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.53
URL: Страничка обо мне и моих друзьях
[Подробней >>]
 
Dzik
Статус: Профессиональный
Общий рейтинг: 114.85
URL: Разработка игрушек
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 423. Здравствуйте эксперты. У меня два вопроса: 1) Как добавить ToolBar в диалоговое окно. 2) Как в MDI с... (ответов: 3)
Вопрос № 424. А может кто - нибудь помочь с написанием класса Дата? Прога должна вычеслять кол-во дней м/у датами ... (ответов: 2)
Вопрос № 425. Здравствуйте Эксперты! Не подскажите ли Вы мне, как можно программно войти в домен NT ? Есть ли функ... (ответов: 1)
Вопрос № 426. Этот класс надо создать без использования других зарезервированных. Таково задание. ... (ответов: 1)
Вопрос № 427. Uv. experti est takoy vopros. Funktsia poluchaet ukazatel na obiekt. Ya hochu proverit : Pod dos es... (ответов: 5)
Вопрос № 428. Sdraste. Pod dosom. Kak sdelat vot tak => moya function poluchaet pointer. esli on kakzivaet na pamy... (ответов: 2)
Вопрос № 429. Ludi PODSKAZHITE S KAKOGO ADDRESSA NACHINAETSA VIDEO PAMYAT V GRAPHICHESKOM REZHIME. K primeru video... (ответов: 6)

Вопросов: 7, ответов: 20


 Вопрос № 423

Здравствуйте эксперты.
У меня два вопроса:
1) Как добавить ToolBar в диалоговое окно.
2) Как в MDI сделать чтобы child-окно было диалогом.
Заранее благодарен.



Вопрос отправлен: 09.12.2002, 19:44
Отправитель: KydesNik (brothers@atnet.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Pinman

Здравствуйте, KydesNik!
1) А зачем панель инструментов в диалоге
2) Дочернее окно не может быть диалогом.
Диалог - окно, которое "притормаживает" программу, пока оно (окно) на экране.

Ответ отправлен: 09.12.2002, 21:42
Отправитель: Pinman


Отвечает Jadd

Добрый день, KydesNik!
1)Child-окно не может быть диалогом по определению. Плохо читаешь умные книжки. Другое дело, когда главное окно открывает диалог, но оно отнюдь не child-окно в понимании концепции MDI.
2)А какой смысл тулбар прикручивать, когда можно добавить простых кноб?

Ответ отправлен: 09.12.2002, 23:56
Отправитель: Jadd


Отвечает Switcher

Приветствую Вас, KydesNik!
Примерчик для MFC.
Добавь следующее в OnInitDialog():
BOOL CYourDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ToolBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS |
CBRS_FLYBY | CBRS_BORDER_BOTTOM);
ToolBar.LoadToolBar(IDR_TOOLBAR1);

CRect rcClientStart;
CRect rcClientNow;
GetClientRect(rcClientStart);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,
0, reposQuery, rcClientNow);
CPoint ptOffset(rcClientNow.left - rcClientStart.left,
rcClientNow.top - rcClientStart.top);
CRect rcChild;
CWnd* pwndChild = GetWindow(GW_CHILD);
while (pwndChild)
{
pwndChild->GetWindowRect(rcChild);
ScreenToClient(rcChild);
rcChild.OffsetRect(ptOffset);
pwndChild->MoveWindow(rcChild, FALSE);
pwndChild = pwndChild->GetNextWindow();
}
CRect rcWindow;
GetWindowRect(rcWindow);
rcWindow.right += rcClientStart.Width() - rcClientNow.Width();
rcWindow.bottom += rcClientStart.Height() - rcClientNow.Height();
MoveWindow(rcWindow, FALSE);
// Положение панелей
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

return TRUE;
}
Cоздай переменную-член CToolBar ToolBar в диалоге. Затем создай в ресурсах toolbar и пусть он будет ID IDR_TOOLBAR1.


Ответ отправлен: 11.12.2002, 22:15
Отправитель: Switcher


 Вопрос № 424

А может кто - нибудь помочь с написанием класса Дата?
Прога должна вычеслять кол-во дней м/у датами и выдавать день недели любого дня. Это надо в C++Builder.



Вопрос отправлен: 09.12.2002, 21:28
Отправитель: Lexus

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Здравствуйте, Lexus!
Класс писать не надо. В билдере есть такая функция FormatDateTime, она может выдавать день недели в виде Понедельник и тп. Подробности в хелпе. А метод класса TDateTime DayOfWeek вернет номер дня в неделе в диапазоне от 1 до 7. Так что не стоит утруждать себя ненужной работой, когда все уже написано.

Ответ отправлен: 09.12.2002, 23:54
Отправитель: Jadd


Отвечает PL

Добрый день, Lexus!
Одно могу сказать - юзай MFC там енто все давно реализовано, понимаю что не Билдер, но VC тоже Сишка, глянь в исходники - мож чего полезного найдешь!


Ответ отправлен: 10.12.2002, 10:15
Отправитель: PL


 Вопрос № 425

Здравствуйте Эксперты!
Не подскажите ли Вы мне, как можно программно войти в домен NT ? Есть ли функция API ? Можно ли вызвать стандартный диалог ввода имени польз. , пароля , имени домена ? Все это для клиентов Win 9x и есть ли различия для win2000 ?



Вопрос отправлен: 10.12.2002, 15:51
Отправитель: Konst

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Добрый день, Konst!
Разница, конечно, есть. Сама система защиты в НТе и 98-х разная. В НТе есть функция LogonUser. Но сам механизм достаточно сложен, так что рекомендую почитать соответствующие статьи в MSDN. Это даст некоторые знания относительно механизмов аутентификации в NT.
Полагаю, что в названиях функций API в Win2K и NT разницы нет.
Удачи

Ответ отправлен: 10.12.2002, 18:19
Отправитель: Jadd


 Вопрос № 426

Этот класс надо создать без использования других зарезервированных. Таково задание.



Вопрос отправлен: 10.12.2002, 16:22
Отправитель: Lexus

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Здравствуйте, Lexus!
Уф. А WinAPI можно? Или ты собираешься сам считать тики проца и переводить в текущее время? Что-то непонятно.

Ответ отправлен: 10.12.2002, 18:03
Отправитель: Jadd


 Вопрос № 427

Uv. experti est takoy vopros.
Funktsia poluchaet ukazatel na obiekt.
Ya hochu proverit :
Pod dos esli ukazatel ukazivaet na pamyat chto videlena c pomoschu new ili malloc(), togda delete ili free()
inache nichego.


Приложение:


Вопрос отправлен: 10.12.2002, 16:27
Отправитель: Sasha (felistovichs@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает PL

Здравствуйте, Sasha!
Можно для конкретного класса перегрузить оператор new, где устанавливать какой нить флаг, а в условии проверять установлен ли он или нет!


Приложение:

Ответ отправлен: 11.12.2002, 05:38
Отправитель: PL


Отвечает Avl2k

Приветствую Вас, Sasha!
Определить нормальным способом это нельзя. Лучше "убивать" объект извне это функции, там где он выделяется по new. Если есть STL, то вообще лучше для этого использовать auto_ptr, string или vector.
С уважением, Avl2k.

Ответ отправлен: 10.12.2002, 18:47
Отправитель: Avl2k


Отвечает Jadd

Доброе время суток, Sasha!
Вводи флаг для этого. А проверить каким методом выделена память - я такого не знаю. Можно проверить если память выделена с обнулением, но чтобы new или malloc...Уж извини.

Ответ отправлен: 10.12.2002, 18:01
Отправитель: Jadd


Отвечает vitya

Добрый день, Sasha!
Я не думаю, что тебе удасться узнать каким именно аллокатором память была выделенна, но если программу пишешь ты, я бы тебе просто советовал всегда пользоваться одним и тем же аллокатором на протяжении всего проекта - new или malloc/calloc/realloc.

Ответ отправлен: 10.12.2002, 17:15
Отправитель: vitya


Отвечает Zloy

Доброе время суток, Sasha!
elsi ia pravilno ponial, to podoydet eto:
if (s == NULL)


Ответ отправлен: 10.12.2002, 21:43
Отправитель: Zloy


 Вопрос № 428

Sdraste.
Pod dosom.
Kak sdelat vot tak =>
moya function poluchaet pointer. esli on kakzivaet na pamyat chto videlena s pomoschyu new ili malloc nado sdelat delete ili free.
esli mozhno otvette mne na e-mail.
Zaranee spasibo.



Вопрос отправлен: 10.12.2002, 16:29
Отправитель: Sasha (felistovichs@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Приветствую Вас, Sasha!
НУ еклмн!! Я же тебе написал, что проверяй значение указателя на NULL - если равно, значит память не выделена!
Ответ, думаю, пришел тебе на e-mail?


Ответ отправлен: 10.12.2002, 23:50
Отправитель: baldr


Отвечает Avl2k

Здравствуйте, Sasha!
Определить нормальным способом это нельзя, если очень нужно - передавайте флажок или сделайте специальный класс-обертку для указателя, который будет хранить этот флажок.
С уважением, Avl2k.

Ответ отправлен: 10.12.2002, 18:44
Отправитель: Avl2k


 Вопрос № 429

Ludi PODSKAZHITE S KAKOGO ADDRESSA NACHINAETSA VIDEO PAMYAT V GRAPHICHESKOM REZHIME.
K primeru video pamyat v textovom rezhime nachinaetsa s sgementa 0xb800, smeschenie 0x0000.
est li takoy address v graphicheskom rezhime.
esli mozhno otvette mne na e-mail.
zaranee spasibo.



Вопрос отправлен: 10.12.2002, 17:38
Отправитель: SASHA (felistovichs@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Доброе время суток, SASHA!
Это зависит от режима. Если просто какие-нибудь ega- или vga-режимы, то сегмент видеопамяти - A800h.
В SVGA-режимах адрес, например, LFB можно получить вызовом сервисной функции SVGA.


Ответ отправлен: 10.12.2002, 23:49
Отправитель: baldr


Отвечает Gibbel

Доброе время суток, SASHA!
В графическом режиме с сегмента 0A0000h

Ответ отправлен: 11.12.2002, 10:12
Отправитель: Gibbel


Отвечает Jadd

Приветствую Вас, SASHA!
ОООО, как тебя занесло. Вообще, то что ты называешь границей видео памяти 0хb8000 со смещением 0х0000, не говорит о текстовом режиме. Напомню, графика или текст очень сильно зависит от режима видеоадаптера, соответственно и граница видеобуфера будет начинаться с разных адресов: b8000h, b0000h, a0000h. Отсылаю тебя за более подробной инфой к книге А.И.Касаткина "Управление ресурсами" из серии "Профессиональное программирование на языке Си". Может найдешь в электронном виде. Или пиши, может что придумаем.

Ответ отправлен: 11.12.2002, 01:30
Отправитель: Jadd


Отвечает Switcher

Здравствуйте, SASHA!
Для EGA,VGA будет A0000h-BFFFFh.
В зависимости от видеорежима используются следующие области:
Графический A0000h-AFFFFh.
Цветной текстовый B8000h-BFFFFh.
Монохромный текстовый B0000h-B7FFFh.


Ответ отправлен: 11.12.2002, 22:16
Отправитель: Switcher


Отвечает Dzik

Здравствуйте, SASHA!
В граф режиме память начинается с 0xa0000:0000


Ответ отправлен: 10.12.2002, 19:45
Отправитель: Dzik


Отвечает Zloy

Приветствую Вас, SASHA!
s addresa 0A0000:000000


Ответ отправлен: 10.12.2002, 21:41
Отправитель: Zloy



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (41)
C / C++ (30)
Perl (7)
Delphi (23)
Pascal (26)
Basic / VBA (11)
Java / JavaScript (10)
PHP (5)
MySQL / MSSQL (7)
Пользователю
Windows 95/98/Me (30)
Windows NT/2000/XP (22)
"Железо" (30)
Поиск информации (12)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (14)
Юристу
Гражданское право (10)
Семейное право (3)
Трудовое право (6)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное