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

RusFAQ.ru: Программирование на Delphi


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


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

Выпуск № 209
от 01.09.2003, 19:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 884
Отправлено ответов: 1613
Активность: 182.4 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


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

URiS
Статус: Профессиональный
Общий рейтинг: 129.58
URL: Бесплатный любительский софт, игры
[Подробней >>]
ART_43
Статус: Доверительный
Общий рейтинг: 121.42
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.28
URL: Программирование
[Подробней >>]
 
Cybernetic Creature
Статус: Доверительный
Общий рейтинг: 118.59
[Подробней >>]
kvINT
Статус: Профессиональный
Общий рейтинг: 104.22
Телефон: (34316)2-31-45
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.73
URL: Пристанище неодинокого программиста
[Подробней >>]
 
Marouder
Статус: Профессиональный
Общий рейтинг: 117.89
URL: Первый Хабаровский Форум
Телефон: (4212) 21-93-65
[Подробней >>]


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

Вопрос № 873. Здравствуйте, эксперты. Помогите реализовать слудующую штуку: Выскакивает Confirm Message dialog (эт... (ответов: 4)
Вопрос № 874. Что являет собой Stensil-Buffer... (ответов: 1)
Вопрос № 875. привет! у меня такая проблема: когда я компилирую и запуская ехе из под Дельфи (версия 6 если важно)... (ответов: 4)
Вопрос № 876. Здравствуйте, уважаемые эксперты! Большое спасибо всем ответившим на мой вопрос №869!(Бобу Джонсону)... (ответов: 2)
Вопрос № 877. Здраствуйте уажаемые эксперты.У меня такой вопрос. Программа обращается к базе данных Access. Если з... (ответов: 1)
Вопрос № 878. У меня есть "остов" таблицы в формате dbf, в которую необходимо внести данные и сохранить ... (ответов: 2)

Вопросов: 6, ответов: 14


 Вопрос № 873

Здравствуйте, эксперты.
Помогите реализовать слудующую штуку:
Выскакивает Confirm Message dialog (это который со знаком вопроса) с двумя кнопками - Да и Нет.
При нажатии на Да происходит одно действие, а при нажатии на Нет - другое.
Вызвать диалог - не проблема, а вот как быть с этими Да и Нет - без понятия.
Заранее спасибо.


Приложение:


Вопрос отправлен: 27.08.2003, 21:58
Отправитель: Ybr

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

Отвечает URiS

Приветствую Вас, Ybr!
MessageDlg - функция, которая возвращает mdOk или mdCancel.

*EMan7.0beta | Expert: URiS urisff@inbox.ru (newff.narod.ru)


Ответ отправлен: 29.08.2003, 07:22
Отправитель: URiS


Отвечает ART_43

Здравствуйте, Ybr!
var i:integer;
begin
i:=MessageDlg('Да или Нет?', mtConfirmation, [mbYes,mbNo], 0);
if i=mrYes then
ShowMessage('Да')
else if i=mrNo then
ShowMessage('Нет');
end;


Ответ отправлен: 28.08.2003, 09:10
Отправитель: ART_43


Отвечает Bob Johnson

Доброе время суток, Ybr!
Когда ты вызываешь диалог, функцией MessageBox, например, то она тебе возвращает результат: IDOK - нажата кнопка OK, IDCANCEL - Cancel, IDYES - yes и т.д.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 28.08.2003, 13:14
Отправитель: Bob Johnson


Отвечает Cybernetic Creature

Доброе время суток, Ybr!
Ya ne znayu kakoy iz sposobov vizvaniya dialogov vy polzuetes poetomu skaju oba sposoba.
1) function MessageDlg(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
parametri ya obyasnat ne budu na skaju kak nado obrashatsya
nije dayu kod
procedure TForm1.New1Click(Sender: TObject);
var Regem:integer;
begin
if ((NameFile='Untitled')and(memo1.Lines.Text<>''))or((NameFile<>'Untitled')and Deyishme) then begin
regem:=MessageDlg('Do you want save the changes',mtConfirmation,mbYesNoCancel,0);
case regem of
IDNO:begin
NameFile:='Untitled';
Memo1.Lines.Clear
end;
IDYES:begin
save1.Click;
Memo1.Lines.Clear
end;
IDCANCEL:ABORT
end;
end{if}
else begin memo1.Lines.Clear;NameFile:='Untitled' end;
Form1.Caption:=NameFile+' - Notepad'
end;
eto tipa ya NOTEPAD sdelal odna iz pervix rabot tak shto ne smeysa.
kak vidish etot sposob vozvrashaet znacheniya ID*
eto constanti opisannie v WINDOWS.PAS lez i tam smotri
tam yesho i IDABORT IDRETRY IDIGNORE i td i tp yest
posmotri
2) sposob leqkiy
function MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer;
on toje vozvrashaet te je znacheniya
yesli chto to ne ponya sovetuyu samomu kopatsya v
WINDOWS.PAS function MessageBox ... external
DIALOGS.PAS function MessageDlg,function MessageDlgPos, i function MessageDlgPosHelp

Приложение:

Ответ отправлен: 28.08.2003, 16:28
Отправитель: Cybernetic Creature


 Вопрос № 874

Что являет собой Stensil-Buffer



Вопрос отправлен: 28.08.2003, 01:14
Отправитель: DJ B

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

Отвечает Bob Johnson

Добрый день, DJ B!
Простой буфер, где для каждой точки на экране отведено 8 бит. При этом при отрисовки точки на экран со stencil буфером может быть выполнена одна из операций: увеличить на 1, уменьшить на 1, не изменять и т.д. Применяется для всяких заморочек, типа stencil shadow (то, что я тебе писал) - т.е. при отрисовке полигонов значение в stencil увеличивается на 1. Получается что там, где есть хоть один (или больше) полигонов в нем будет не 0, а там, где нет ни одного полигона - будет 0. Дальше, задав stencil test можно использовать значения этого буфера автоматически или вытащить его и работать с ним самому. Более подробней смотри Direct X 8 или 9 SDK - там это все описано (и есть хорошие примеры).

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 28.08.2003, 13:13
Отправитель: Bob Johnson


 Вопрос № 875

привет!
у меня такая проблема: когда я компилирую и запуская ехе из под Дельфи (версия 6 если важно) по F9 вылазит такое сообщение об ошибке:
Project 1.exe raised exception class EOleException with message 'Ошибка неизвестного типа'. Process stopped. Use Step or Run to continue.
если же запустить ехе из проводника, то всё ок - и чудестно работает... из-за чего может быть такая лажа? и как её побороть....
подскажите, плз, а то надо отлаживать прогу, а я её из под Дельфи запустить не могу



Вопрос отправлен: 28.08.2003, 15:45
Отправитель: Дмитрий

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

Отвечает ART_43

Добрый день, Дмитрий!
У меня такое было с ADO, вроде никаких ошибок не должно было быть. Я просто убрал галочку в Stop on Delphi Exceptions, а когда нужно было отловить какую-нибудь ошибку, доходил до нужного места и вертал галочку.

Ответ отправлен: 29.08.2003, 09:40
Отправитель: ART_43


Отвечает kvINT

Доброе время суток, Дмитрий!
Это происходит, когда Delphi встречает исключения. Чтобы отключить такое ее поведение - Project->Options->Compiler. Там убери галочки с соответствующих пунктов (по-моему I/O checking, сейчас проверять некогда).

Ответ отправлен: 28.08.2003, 16:50
Отправитель: kvINT


Отвечает Артём Шегеда

Доброе время суток, Дмитрий!

Очевидно, что ты (или какая-то компонента) используешь компоненты OLE (MS Word, MS Excel, ChartFX и пр.), и одна из них вызывает такое исключение - его-то и показывает отладчик Delphi (при этом открывается окно исходного кода или окно CPU, если исходный код не доступен). Если приложение не выдаёт окно с информацией об этом исключении - значит, исключение было тихо "погашено" самой компонентой (или твоей программой).
Чтобы отладчик не сообщал о возникающих исключениях воспользуйся соответствующей опцией (Tools/Debugger options/Language exceptions/Stop on Delphi exception)

Ответ отправлен: 28.08.2003, 18:28
Отправитель: Артём Шегеда


Отвечает Bob Johnson

Здравствуйте, Дмитрий!
Это возможно из-за того, что в одном из компонентов или модулей, которые ты подключил к проекту возникает исключение при инициализации. При этом в нем есть блок try, из-за чего он в принципе сам его отлавливает и что-то с ним делает. Но дебугер дельфи всегда по умолчанию отлавливает исключение раньше, чем обработчик try, из-за чего появляется это окно.
Ты можешь просто нажать "ОК", затем F9 и программа продолжит выполнение или в настройках дельфи есть списко классов исключений, на которые встроенный отладчик не должен обращать внимания - добавь это исключение в список.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 29.08.2003, 15:08
Отправитель: Bob Johnson


 Вопрос № 876

Здравствуйте, уважаемые эксперты!
Большое спасибо всем ответившим на мой вопрос №869!(Бобу Джонсону)
Вы мне очень помогли!(Ты)
Еще вопросик.
Как мне перехватить нажатие на кнопку свернуть на форме?
Заранее благодарен!



Вопрос отправлен: 28.08.2003, 18:59
Отправитель: Byter

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

Отвечает Marouder

Доброе время суток, Byter!
Обрабатывать сообщение WM_SIZE, наверное. Описание в приложении.

Приложение:

Ответ отправлен: 29.08.2003, 10:28
Отправитель: Marouder


Отвечает Артём Шегеда

Здравствуйте, Byter!

В примере - фрагмент одной моей программы, в которой при сворачивании формы приложение убирается c панели задач (т.н. сворачивание в трей) с использованием моей компоненты TArtTrayIcon.
type
TForm1 = class(TForm)
ArtTrayIcon1: TArtTrayIcon;
procedure FormCreate(Sender: TObject);
private
procedure ApplicationMinimize(Sender: TObject);
end;
//...
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize := ApplicationMinimize;
end;
procedure TForm1.ApplicationMinimize(Sender: TObject);
begin
ArtTrayIcon1.HideApplication;
end;



Ответ отправлен: 28.08.2003, 20:03
Отправитель: Артём Шегеда


 Вопрос № 877

Здраствуйте уажаемые эксперты.У меня такой вопрос.
Программа обращается к базе данных Access.
Если запускать программу вместес Windows то она пишет
что невозможно открыть файл .mdb, а если апустить ее потом то все работает?



Вопрос отправлен: 29.08.2003, 09:48
Отправитель: darkb (shmelli@rambler.ru)

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

Отвечает Bob Johnson

Добрый день, darkb!
Видимо на момент запуска программы не инициализировался ADO или ODBC. Попробуй найти причину (хотя это трудно) - тогда просто поставь при запуске программы задержку, например в 10 с или открывай базу до тех пор, пока не получится открыть (с интервалом секунда). Второй вариант (открывать до тех пор...) предпочтительней, т.к. имеет большие шансы на успех.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 29.08.2003, 15:11
Отправитель: Bob Johnson


 Вопрос № 878

У меня есть "остов" таблицы в формате dbf, в которую необходимо внести данные и сохранить под нужным именем. Как ее сохранить под другим именем?



Вопрос отправлен: 29.08.2003, 12:03
Отправитель: Александр (alex@pro.gascom.ru)

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

Отвечает Bob Johnson

Здравствуйте, Александр!
Проще всего вначале скопировать обычной процедурой (типа CopyFile), а уже затем вносить данные в новую таблицу.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 29.08.2003, 15:13
Отправитель: Bob Johnson


Отвечает ART_43

Здравствуйте, Александр!
Закрываешь базу и переименовываешь файл во что угодно.

Ответ отправлен: 29.08.2003, 15:25
Отправитель: ART_43



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (37)
C / C++ (29)
Perl (5)
Builder / Delphi (19)
Pascal (25)
Basic / VBA (7)
Java / JavaScript (8)
PHP (10)
Криптография (9)
WinAPI (15)
Пользователю
Windows 95/98/Me (48)
Windows NT/2000/XP (63)
"Железо" (42)
Поиск информации (24)
Администратору
Windows NT/2000/XP (32)
Linux / Unix (11)
Юристу
Гражданское право (11)
Семейное право (7)
Трудовое право (7)
КоАП (6)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

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

В избранное