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

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


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

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

Выпуск № 414
от 15.03.2006, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 274, Экспертов: 68
В номере:Вопросов: 7, Ответов: 19


Вопрос № 37122: Добрый вечер. Подскажите пожалуйста как создавать панели для IE, может есть хорошая статья или исходники. С Уважением, Анна....
Вопрос № 37124: Здравствуйте, как узнать имя рисунка какой в данный момент загружен в компонент Image? (Загружаю Image1.Picture.LoadFromFile(name_pic.jpg) )...
Вопрос № 37128: Здравствуйте!!! Как введенный в поле Edit1 текс&...
Вопрос № 37140: Здравствуйте, Уважаемые эксперты! Как сделать, чтобы случайные числа не повторялись до тех пор пока не закончится весь используемый набор цветов (см приложение). Т.е. повторно черный цвет должен появится только после того, как появятся все д...
Вопрос № 37162: Здраствуй народ. Как в DBGrid установить с какой записи начинать отображать список записей, т.е. нужно чтобы курсор при перемещении в DBGrid не был ни на первой записи (при перемещении вверх), ни на последней (при перемещении вниз)?...
Вопрос № 37172: Нужно в чужой программе одну кнопку сделать Enabled. Как это реализовать? Дайте какой-нибудь простенький пример, по которому можно будет это реалищовать. Заранее благодарен....
Вопрос № 37177: Plhfdcndeqnt!!! У кого имеются исходники на Delphi7 от программы, которая переключает светодиоды на клавиатуре. Причём последовательность загорания я сам устанавливаю. Если что у меня есть эта прога-могу поделится....

Вопрос № 37.122
Добрый вечер.

Подскажите пожалуйста как создавать панели для IE, может есть хорошая статья или исходники.

С Уважением, Анна.
Отправлен: 09.03.2006, 21:46
Вопрос задала: Анна Николаевна (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Rusland
Здравствуйте, Анна Николаевна!
Статей не видел, но есть исходники такой панели http://www.rsdn.ru/article/files/Progs/rsdnbar.xml
---------
Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 10.03.2006, 09:55

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Анна Николаевна!

Воспользуйтесь весьма интересной ссылкой: http://www.euromind.com/iedelphi/ie5tools/bandobjects.htm.

Успехов;)
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Ответ отправлен: 10.03.2006, 12:37

Отвечает: Ataman N. N.
Здравствуйте, Анна Николаевна!
Есть хорошие статьи на сайте delphiworld.narod.ru. Сам почерпнул много полезного по программированию для IE.
Ответ отправил: Ataman N. N. (статус: 9-ый класс)
Ответ отправлен: 10.03.2006, 15:56


Вопрос № 37.124
Здравствуйте, как узнать имя рисунка какой в данный момент загружен в компонент Image? (Загружаю Image1.Picture.LoadFromFile(name_pic.jpg) )
Отправлен: 09.03.2006, 22:23
Вопрос задал: Сергей Николаевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Сергей Николаевич!

У TImage такого свойства или метода нет... Соответственно узнать то, что вы хотите невозможно.

Выход из вашей ситуации вижу в написании собственного компонента на основе TImage.

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Ответ отправлен: 09.03.2006, 23:06

Отвечает: Ерёмин Андрей
Здравствуйте, Сергей Николаевич!
Увы, никак. TImage не запоминает, откуда был загружен рисунок. Выход единственный - объявить переменную и перед загрузкой помещать в неё имя файла, откуда будет загружаться рисунок. По другому никак.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 10.03.2006, 08:37


Вопрос № 37.128
Здравствуйте!!!
Как введенный в поле Edit1 текст перетащить с помощью мыши в определенное место формы Form1?
Отправлен: 09.03.2006, 23:11
Вопрос задал: Piit (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Leshiy2006
Здравствуйте, Piit! Если Вы знакомы с методом Drag&Drop то используйте Form1.Canvas.TextOut.
Если нет пишите вышлю пример.
Удачи!
Ответ отправил: Leshiy2006 (статус: 4-ый класс)
Ответ отправлен: 09.03.2006, 23:28
Оценка за ответ: 5
Комментарий оценки:
Буду признателен, если вышлите пример по перетаскиванию текса по форме из поля редактирования.Так сказать, очень хочется навести "тексто 74;ый" порядок на форме.piit1@yandex.ru

Отвечает: Татьяна
Здравствуйте, Piit!
Я так понимаю, вам надо сделать это в приложении.
Для этого достаточно перехватить двп события мыши на Edite
onMouseMove
onMouseDown
а далее, см. приложение

Приложение:

---------
Нет ничего невозможного!!!

Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 10.03.2006, 11:54
Оценка за ответ: 2
Комментарий оценки:
Мне надо перетащить текст из Edit1, а не сам
Edit1, а в вашем приложении, я так понял, текст
не перетаскивается.После запуска у меня ничего не
происходит.Но 74;се равно спасибо.


Вопрос № 37.140
Здравствуйте, Уважаемые эксперты!

Как сделать, чтобы случайные числа не повторялись до тех пор пока не закончится весь используемый набор цветов (см приложение). Т.е. повторно черный цвет должен появится только после того, как появятся все другие цвета без исключения.

Приложение:

Отправлен: 10.03.2006, 00:42
Вопрос задал: Solovej (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Полховский Александр Владимирович
Здравствуйте, Solovej!
Надо использовать множество (set of byte). Вначале обнулить его, затем при выпадении какого-либо цвета проверить, нет ли его в этом множестве и, если есть, ничего не сделать, а если нет - присвоить цвет и добавить его в множество. И так пока в множестве не будет всех цифр.
---------
Спасём нашу хрупкую планету !
Ответ отправил: Полховский Александр Владимирович (статус: Студент)
Ответ отправлен: 10.03.2006, 01:26

Отвечает: sir henry
Здравствуйте, Solovej!
Для этого Вам нужно создать список уже сгенерированых значений, который Вы заполняете в процессе генерации и в цикле повторять генерацию до тех пор, пока сгенерированое значение не будет отсутствовать в списке.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 10.03.2006, 05:41

Отвечает: romodos
Здравствуйте, Solovej!
В приложении создается массив из 15 неповторяющихся элементов.
Наверное, вы сможете сами переделать процедуру под себя.

Приложение:

---------
The Source is Our Soul. FAQ me off!

Ответ отправил: romodos (статус: Практикант)
Ответ отправлен: 10.03.2006, 06:26

Отвечает: Boriss
Здравствуйте, Solovej!
Странно, что нет еще одного очевидного решения:
генерировать не число=цвет, перемешать элементы массива: случайное число случайных обмен элементов
---------
Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: факультет Электронной техники, Мордовский госуниверситет
Адрес: 430032 г. Саранск, ул. Попова, д. 65, кв. 30
WWW: Программирование на Паскале
ICQ: 320096696
----
Ответ отправлен: 10.03.2006, 07:59

Отвечает: 1e0n_xas
Здравствуйте, Solovej!
Для решения вашей задачи необходимо создать массив длинной - количество цветов, в который будет записываться текущий цвет, если его еще небыло.

Пример:
A : array[1..8] of integer;

function ExistColor(int c);
var i:integer;
begin
i:=1;
while((A[i]<>-1) or (i<=8))do
begin
if (A[i]=c) then {если цвет существует, то возвращаем true}
begin
Result :=true;
break;
end;
inc(i);
end;

if (i>8) for(1:=1 to 8) do A[i]:=-1; {очищаем массив от значений цвета}
i:=1;
A[i]:=c;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i: shortint;
begin
randomize;
i:=random(8);
if (not ExistColor(i)) then
case i of
0:form1.Color:= clblack;
1:form1.Color:= clblue;
2:form1.Color:= clgreen;
3:form1.Color:= clfuchsia;
4:form1.Color:= claqua;
5:form1.Color:= clred;
6:form1.Color:= clyellow;
7:form1.Color:= cllime;
end;
end;
Ответ отправил: 1e0n_xas (статус: 2-ой класс)
Ответ отправлен: 10.03.2006, 10:51


Вопрос № 37.162
Здраствуй народ. Как в DBGrid установить с какой записи начинать отображать список записей, т.е. нужно чтобы курсор при перемещении в DBGrid не был ни на первой записи (при перемещении вверх), ни на последней (при перемещении вниз)?
Отправлен: 10.03.2006, 11:27
Вопрос задал: Карасев Алексей Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: sir henry
Здравствуйте, Карасев Алексей Александрович!
Если Вы работаете через компонент TTable, то поставьте фильтр на таблицу, если через TQuery, то поставьте условие в запрос. Тогда BGrid отобразит лишь то, что Вам нужно.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 10.03.2006, 11:44

Отвечает: Татьяна
Здравствуйте, Карасев Алексей Александрович!
Ну насколько я помню тут дело не в DBGride, для того, чтобы указать текущую запись, вам надо сделать ее текущей не в DbGride, а в самой таблице.
К сожалению я не знаю, какой компонент вы используете, ну например установить 101 позиции в TDataSet выглядит примерно так (см. приложение)

Приложение:

---------
Нет ничего невозможного!!!

Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 10.03.2006, 11:45


Вопрос № 37.172
Нужно в чужой программе одну кнопку сделать Enabled. Как это реализовать? Дайте какой-нибудь простенький пример, по которому можно будет это реалищовать. Заранее благодарен.
Отправлен: 10.03.2006, 12:15
Вопрос задал: Rusland (статус: Специалист)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: LanK
Здравствуйте, Rusland!

Не совсем такой же вопрос, но ответ тот же, смотри:

http://rusfaq.ru/?Step=info&Action=Question&ID=33175

Если что не ясно - пиши в форуме, но там все основные "фишки" есть.
---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: 8-ой класс)
Ответ отправлен: 10.03.2006, 12:44
Оценка за ответ: 4

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Rusland!

Образец кода, который выключает кнопку Backspace у стандартного приложения Калькулятор. Думаю как включать, тоже ясно;)

Подробное описание используемых API-функций можете прочитать во встроенной справке.

Успехов!

Приложение:

Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Ответ отправлен: 10.03.2006, 12:57
Оценка за ответ: 5
Комментарий оценки:
То что нужно. Спасибо.


Вопрос № 37.177
Plhfdcndeqnt!!!
У кого имеются исходники на Delphi7 от программы, которая переключает светодиоды на клавиатуре. Причём последовательность загорания я сам устанавливаю. Если что у меня есть эта прога-могу поделится.
Отправлен: 10.03.2006, 13:20
Вопрос задал: Дмитрий Павлович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Rusland
Здравствуйте, Дмитрий Павлович!
Если вы имеете ввиду включение/выключение светодиодов Num Lock, Caps Lock, Scroll Lock, то смотрите приложение.

Приложение:

---------
Если партия скажет есть контакт, будем есть контакт.

Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 10.03.2006, 16:21
Оценка за ответ: 5
Комментарий оценки:
Да!!! Это.

Отвечает: LanK
Здравствуйте, Дмитрий Павлович!

//отключаем CapsLock
if (GetKeyState(VK_CAPITAL) and 1) <> 0 then
begin
keybd_event(VK_CAPITAL, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0);
keybd_event(VK_CAPITAL, $45, (KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP), 0);
end;

//Включаем CapsLock
keybd_event(VK_CAPITAL, 0, 0, 0);

Аналогично:

VK_NUMLOCK
VK_SCROLL
P.S. Только как же Вы текст набирать будете....??? Бррр представить страшно :)
---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: 8-ой класс)
Ответ отправлен: 10.03.2006, 16:23
Оценка за ответ: 5
Комментарий оценки:
Текст набираю как обычно-тока читать трудно.

Отвечает: 1e0n_xas
Здравствуйте, Дмитрий Павлович!
Скиньте мне, если на mail. Заранее спасибо.
Ответ отправил: 1e0n_xas (статус: 2-ой класс)
Ответ отправлен: 11.03.2006, 03:59


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.19 от 14.03.2006
Яндекс Rambler's Top100

В избранное