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

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


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

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 167
от 05.08.2005, 16:49

Администратор:Калашников О.А.
В рассылке:Подписчиков: 188, Экспертов: 27
В номере:Вопросов: 5, Ответов: 10


Вопрос № 24241: имеется MicrosoftSqlServer.... после создания БД на билдер 6.0 при обращении к базе выскакивает некозистое поле с просьбой ввести логин и пароль...... внимание вопрос..... как можно изменить это никазистое приглашение ??!! спаси...
Вопрос № 24273: Люди, может вы знаете, как у билдера во встроеном ассемблере обращатся к полям структуры? Никакого assume он не распознает, преобразований типов не принимает. (см. приложение) - Как же тогда указать какую структуру я имею в виду?...
Вопрос № 24282: Среда C++ Builder 1 Почему при компиляции у меня не создается запускной (.EXE) файл 2 Где находиться файл Project1.mak ( по умолчанию) Зачем он нужен 3Почему при компиляции у меня появляется надпись [Linker Fatal Error] Fatal:...
Вопрос № 24289: Здравствуйте! У меня возникла небольшая проблема. Не поможете ли? Дело вот в чём... Элементарнейшая операция - создание окна функцией CreateWindow (C++). И во всей моей огромной проге компилер находит только 1 (!) ошибку - в пара...
Вопрос № 24306: Здравствуйте! Большое спасибо тем, кто ответил на мой предыдущий вопрос. Работа продвигается! Вот ещё проблема: как, работая в GDI, но не используя классов (почти) перерисовать рабочую область окна, то есть стереть все содержимо...

Вопрос № 24.241
имеется MicrosoftSqlServer.... после создания БД на билдер 6.0
при обращении к базе выскакивает некозистое поле с просьбой ввести логин и пароль...... внимание вопрос.....

как можно изменить это никазистое приглашение ??!!

спасибо за внимание....
Отправлен: 30.07.2005, 00:29
Вопрос задал: Blade_st (статус: 3-ий класс)
Всего ответов отправлено: 1

Отвечает: Tsechoev Bagaudin
Здравствуйте, Blade_st!
Во-первых, надеюсь используешь ADO. Во-вторых - для ADOConnection свойство LoginPrompt=False. Вот и все, приглашения не будет, если в строке подключения ты указал сохранить пароль.
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 30.07.2005, 11:50
Оценка за ответ: 4


Вопрос № 24.273
Люди, может вы знаете, как у билдера во встроеном ассемблере обращатся к полям структуры? Никакого assume он не распознает, преобразований типов не принимает. (см. приложение) - Как же тогда указать какую структуру я имею в виду?

Приложение:

Отправлен: 30.07.2005, 21:45
Вопрос задал: Ddeedd (статус: 3-ий класс)
Всего ответов отправлено: 1

Отвечает: Raptor1
Здравствуйте, Ddeedd!
В VC6 работает так:
struct Struct1
{
DWORD dwField1;
DWORD dwField2;
};
Struct1 s1;
s1.dwField1=0x0d0d0d0d;

__asm
{
lea eax,s1
mov ebx,[eax].dwField1
}
Ответ отправил: Raptor1 (статус: 5-ый класс)
Отправлен: 31.07.2005, 17:45
Оценка за ответ: 5
Комментарий оценки:
Типа он смотрит, что в регистр "lea"-дишь - и по этому понимает какая структура? Может быть. В общем - спасибо.


Вопрос № 24.282
Среда C++ Builder
1 Почему при компиляции у меня не создается запускной (.EXE) файл
2 Где находиться файл Project1.mak ( по умолчанию)
Зачем он нужен
3Почему при компиляции у меня появляется надпись
[Linker Fatal Error] Fatal: Expected a file name:

Заранее спасибо !!!!!!!!!!!!
Отправлен: 31.07.2005, 05:56
Вопрос задал: Денскевич Р.А (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Denis Hakimov
Здравствуйте, Денскевич Р.А!
ответы на ваши вопросы есть <a href="http://www.firststeps.ru/cbuilder/cbuilder1.html" title="first steps">здесь</a>
Ответ отправил: Denis Hakimov (статус: 2-ой класс)
Отправлен: 31.07.2005, 06:00

Отвечает: Sager
Здравствуйте, Денскевич Р.А!
Ты думаешь мы экстрасенсы? Ну откуда я знаю, почему у тебя не создается запускной (.EXE) файл. На это может быть миллион причин. Исходник хоть бы привел. тоже самое касается остальных вопросов....
Ответ отправил: Sager (статус: 3-ий класс)
Отправлен: 31.07.2005, 10:05

Отвечает: Blade_st
Здравствуйте, Денскевич Р.А!

Если позволите начнем со второго вопроса потому при ответе на третий будет понятен ответ на на первый...

Make - файл - это текстовый файл, содержащий макросы, директивы и инструкции по компиляции и сборке проекта...
Генерируется автоматом при создании проекта...
Сохранить его можно следующим образом Project->Export Makefile

Переходим к вопросу 3...
Компоновщику хочется еще файла.... Проверь каталоги в опциях проекта и попробуй пересобрать его...
или попробуй так:

В Project->options->Dirictories/Conditionals:
Include path оставь только: $(BCB)include;$(BCB)includevcl.
Library path : $(BCB)libobj;$(BCB)lib.


---------
Лучше калымить на гандурасе, чем гандурасить на калыме!!!
Ответ отправил: Blade_st (статус: 3-ий класс)
Отправлен: 31.07.2005, 13:05
Оценка за ответ: 5


Вопрос № 24.289
Здравствуйте!

У меня возникла небольшая проблема. Не поможете ли?
Дело вот в чём... Элементарнейшая операция - создание окна
функцией CreateWindow (C++). И во всей моей огромной проге
компилер находит только 1 (!) ошибку - в параметрах
этой функции.

Итак, что у меня:

hWnd = CreateWindow(szProgName, "smth",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT,
(HWND)NULL,(HMENU)NULL,
(HANDLE)hInstance,(LPVOID)NULL);

Что "должно быть" (всплывающая подсказка) :

HWND CreateWindow (LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle,
int x, int y, int nWidth, HWND hWndParent, HMENU hMenu,
HANDLE hInstance, LPVOID lpParam)

Как видим, "должно" быть 10 параметров, но у меня их 11, и это правильно,
потому что при попытке убрать любой из параметров выдаётся ошибка о
недостаточном их числе.

Что говорит компилер по моему варианту:

error C2664: 'CreateWindowExA' :
cannot convert parameter 11 from 'void *' to 'struct HINSTANCE__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

Очевидно, что находя после 6 "правильных" параметров "неправильный, лишний",
компилер сбивается со счета и несёт ерунду. Убираем 7-ой параметр и пишем
NULL в конце списка параметров:

error C2664: 'CreateWindowExA' : cannot convert parameter 8 from 'struct HWND__ *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Вот такая ерунда. Помогите!
В лучшем случае - зашлите рабочий вариант, пожалуйста.

Спасибо!
Отправлен: 31.07.2005, 10:23
Вопрос задал: Gentle (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Sager
Здравствуйте, Gentle!
У функции CreateWindow - 10 параметров,а у функции CreateWindowEx - 11 параметров

CreateWindowEx( NULL, "Tooltips_class32", NULL,
TIS_ALWAYSTIP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
Ответ отправил: Sager (статус: 3-ий класс)
Отправлен: 31.07.2005, 11:57

Отвечает: Denis Hakimov
Здравствуйте, Gentle!

HWND CreateWindow(

LPCTSTR lpClassName, // указатель на строку зарегистрированного имени класса
LPCTSTR lpWindowName, // указатель на строку имя окна
DWORD dwStyle, // константы стилей окна
int x, // положение окна по горизонтали
int y, // положение окна по вертикали
int nWidth, // ширина окна
int nHeight, // высота окна
HWND hWndParent, // описатель родительского окна или владельца (0 если не имеет родителя)
HMENU hMenu, // описатель меню или дочернего элемента окна (NULL если нет)
HANDLE hInstance, // описатель приложения
LPVOID lpParam // указатель на !!СТРУКТУРУ CLIENTCREATESTRUCT!! (или NULL)
);
очень многое зависит от используемого вами компилятора, т.к. вы не написали в какой
среде вы пишете программы я не стал искать описание ошибки, вы можете найти его самостоятельно
выделив ошибку и нажав <F1>. если программа требует 11 параметров - значит вы используете функцию
HWND CreateWindowEx(...).
вторая ошибка вполне понятна - компилятор не может сконвертировать структуру HWND__ к типу целых чисел.

попробуйте использовать второй вариант функции с 11 параметрами. если чтото быдет непонятно зайдите вот сюда:
www.firststeps.ru
Ответ отправил: Denis Hakimov (статус: 2-ой класс)
Отправлен: 31.07.2005, 12:06


Вопрос № 24.306
Здравствуйте!

Большое спасибо тем, кто ответил на мой предыдущий вопрос.
Работа продвигается! Вот ещё проблема:

как, работая в GDI, но не используя классов (почти) перерисовать рабочую область окна, то есть стереть все содержимое и закрасить,
например, белым цветом? делаю задание на основе примеров из
одной книги, там всё примитивы идут... То есть мне нужна определённая ФУНКЦИЯ, а не метод класса. В окне - только несколько
прямоугольников, но они как бы должны двигаться...

Может, тут замешано сообщение WM_ERASEBKGND ?

Спасибо!
Отправлен: 31.07.2005, 16:38
Вопрос задал: Gentle (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Ddeedd
Здравствуйте, Gentle!

Да - событие действительно тут замешано. Сделайте InvalidateRect(hWnd, 0, true) - ставит рабочую область окна на перерисовку через WM_PAINT, true - означает стереть задний фон.
Ответ отправил: Ddeedd (статус: 3-ий класс)
Отправлен: 31.07.2005, 23:47

Отвечает: Sager
Здравствуйте, Gentle!
Чтобы перерисовать рабочую область окна нужно вызвать функцию InvalidateRect
Cм. пример

Приложение:

Ответ отправил: Sager (статус: 3-ий класс)
Отправлен: 01.08.2005, 11:02

Отвечает: __grey__
Здравствуйте, Gentle!

Можно и без WM_ERASEBKGND (см. приложение)

Приложение:

Ответ отправил: __grey__ (статус: 3-ий класс)
Отправлен: 01.08.2005, 12:21


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться
Вспомнить пароль

В избранное