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

СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы. 02.12.02


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

***СООБщество ЧАйников***

Система Эксперт
Найдем ответ СообЧа!


02.12.02



Свежие FAQ на SoobCha.Ru


FAQ от системы Эксперт


Вопросы от системы Эксперт


FAQ от системы Эксперт
Тема: ASP

Как создать connection к базе данных, не прописанной в SystemDSN?


Ответ:

Если это БД MS Access, то вот так:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb"
"C:\db1.mdb" замените на путь и имя Вашей БД. Абсолютный путь из относительного можно получить методом MapPath объекта Server:
curdir=Server.MapPath ("db1.mdb")

[Наверх]

Тема: Delphi

Исходные данные:
Есть главная форма, которая вызывает доченюю, скажем Form2.Show;
В дочерней форме на событии OnShow висит обработчик, который в процессе каких-то вычислений может выяснить, что показ формы не имеет смысла.
Вопрос, значит такой: Как прекратить загрузку дочернего окна из него же?
Просто Form2.Close; не работает.
Предвижу ответ: "Сначала проверяй, потом вызывай Show"
Обработчик занимает более 2000 строк и выяснится, что грузиться не надо может в любом месте обработчика, а переносить код из дочерней формы в главную - таких дочерних форм 43 штуки, на 2000 умножить? :) Как быть?


Ответ:

А как ты создаешь дочерние окна???
Дочерние окна лучше создавать динамически во время работы программы, напримкр так:
В модуле для дочернего окна:


В главной форме где надо вызываешь ActivateFrmChild. Т.е. там, где твой огромный обработчик это разрешит. Также необходимо убрать дочерние окна из списка автосоздаваемых форм. Это значительно экономит ресурсы...

[Наверх]

Тема: Delphi

У меня возникли кое-какие вопросы, если сможете, ответьте...
1) DirectoryListBox1, как сделать что бы в нем были видны скрытые папки.
2) DriveComboBox1,что бы при отсутствии дискеты во флопе или cd в cdrom'е выдавалось сообщение об этом.
3) FilterComboBox1, как указать в одном FilterName несколько фильтров, например: [Pictures] [*.jpg ?,? *.bmp], через какой символ?
4) FileListBox1, как сделать , что бы при 2м нажатии запускался файл?
5) FileListBox1, пример я выделил файл, как его скопировать, вставить?
6) И последнее: например в Edit я пишу [c:\] и нажимаю Button, а в DirectoryListBox1 открывался диск c:\
Я конечно понимаю, что завалил вопросами, но просто мне не откуда это узнать. Купил 2 книги, а там не написано про это.


Ответ:

По поводу твоих вопросов: итак приступим.
1.По моему никак нельзя простыми методами, потому что когда я просмотрел unit FileCtrl и содержащийся в нем код этого компонента, то заметил, что процедура TDirectoryListbox.ReadDirectoryNames, которая ищет и принимает к сведению информацию об имеющихся каталогах делает это таким образом:
- Ищет по FindFirst / FindNext.
- Проверяет, директория ли это: if ( атрибут faDirectory=1010 bin) and (логическое умножение) (SearchRec.Attr - атрибуты найденного оюъекта в искомом (родительском)
каталоге (может быть папка, файл, <.>, <..>)=faDirectory then тогда считается, что это подходящая папка и ее можно показывать, : если папка обычная, то SearchRec.Attr будут равны faAnyFile=111111 и умножение даст faDirectory, а если папка скрытая то в ее атрибуте гаситься четвертый разряд (faHidden=0010) и умножение даст faHidden, и <умный> обработчик такую папку отбросит. Выйти из этого положения думаю не так и сложно: создать свой личный компонент в котором эта процедура будет исправлена, а остальные содрать один к одному.
2.Я надыбал только один подходящий обработчик OnChange. На него надобно считать из свойства Drive букву диска, добавить ':\' и вызвать процедуру FindFirst(та буква что считалась+':\',faAnyFile,Search). После чего вызывай функцию GetLastError и если она вернет значение ERROR_NOT_READY = 21, то это говорит о том, что диска в данное устройство не готово( нет диска, что-то он ообрабатывает (такое случается, когда всовываешь CD и он пару секунд мигает-позиционируется, читает всякие там метки и т.д., но это сейчас не важно,) так вот в это время тоже он не готов. Выводить сообщение: я так люблю: MessageDlg('В устройство '+DriveComboBox1.Drive+ ' не плохо было бы вставить что нибудь, (если некуда, так и в дисковод можно!',mtError,[mbOK],0), но учти, что при флопах будет выскакивать стандартное некрасивое системное окно(как в проводнике) и не забудь вызывать SearchClose(Search) в конце, а то мозги утекать начнут по чути-чути:-), не твои-компа;
3.Через вертикальную палку |-разные фильтры. ;- однотопные фильтры. пример: FilterComboBox1.Filter:='Pictures|*.bmp;*.jpg|All files|*.*';
4.Нужно обрабатывать событие DblClick-двойной щелчок и на него: пример, не могу на русском-проще па делфи.


5).Что-то ты для начинающего слишком много хочешь. =;-)). Я толком то и сам еще не знаю. Не было необходимости разбираться. Но по моему это нужно работать с потоками. А зачем, позволь спросить. Пишешь свой Windows Commander 6.99 ? -8-)). Я всегда делал по деревенски: открывал для чтения, создавал другой файл, перегонял блоком данные из одного в другой. И дело с концом. А ты, я смотрю решил что-то крутое отгрохать. Хоть поглядеть дашь, когда напишешь? :-)., а узнать, какой выделенный файл, так это в четвертом вопросе было.
6).Все понятно, но зачем писать квадратные скобки? Их же в ручную чистить надо будет для получение той заветной буквы. Ну да ладно. По порядку.1. По Edit.Text передвигаешся for i:=0 to Length(Edit.Text) и читаешь i-е символы из него. Когда находишь букву, то проверяешь, есть ли такой диск (глянь API Windows GetLogicalDrives, она простая - кард0й бит-0то диск: бит-0-установлен - диск "а" в наличии, бит-1-сброшен - диск "b" в шкафу на полочке и тд. )- это если надо проверять корректность введенных данных, а если нет, то валяй напрямую. Дальше присвой свойству DirectoryListBox1.Drive эту буквочку. И все это дело на БоттонКлиск делаешь.

[Наверх]

Тема: Internet

Как сохранить за один раз много web-страниц в текстовом формате?
На сайте есть ссылки на страницы : 1,2,3,4,5...и т.д. Через Internet Explorer можно задать команду "Сохранить как:" и выбрать сохранение только текста (сохраняется моментально). Размер файла получается около 3 Kb. Но для этого надо открыть каждую страницу и каждый раз задавать команду, что займет очень много времени. С помощью программ закачек (ReGet или FlashGet) можно задать "закачать все:", но файлы закачиваются в формате html (каждый занимает около 50 Kb и закачка идет очень долго)


Ответ:

Такую чтоб сразу конвертировал в текст программу я не знаю. Есть другой подход. Для скачивания страниц лучше использовать такие как
Disko Pump
Webextrator
Teleport
и т.д.
Чем они примечательны
Тем что много настроек по типам файов, глубине уровней. В Вашем слечае устанавливаете качать только htm или html (или то и другое), а остальное запретить и размер будет не так уж велик. Указывать достаточно стартовую страницу. Он сам перепишет ссылки для удобства локального просмотра. Ну а уж если нужен только текст. Тут надо обработь еще каким либо конвертором типа Html to Text

[Наверх]

Тема: Viruses

Может ли вирус-троян определить мой пароль на подключение к серверу, если я пароль не сохранял, а ввожу его при каждом подключении?


Ответ:

Может. Многие трояны читают клавиатуру при запуске определенных программ.

[Наверх]

Вопросы от системы Эксперт
Тема: ASM_32

Нужно просто подзарез инфы о писиспикере...Киньте хоть чегонить...Мучаюсь благое дело клепаю а нету инфы...Особенно надо воспроизведение музыки и самое главное принципы кодирования музыки разными форматами.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNV2FS05A
[Наверх]

Тема: C++

Посоветуйте на чем лучше писать под Linux and Windows, не только графические но и работы с базами данных
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNW2NFPP3X
[Наверх]

Тема: Delphi

Возник вопрос, как закрыть PopUp меню, которое я насильно вызываю при клике правой кнопкой мыши на иконке, которая находится в системном лотке (system tray). Вызываю так: PopupMenu1.PopUp(x,y). Если выбрать один из пунктов этого меню, то все ОК и меню закрывается, но ежели я кликаю мышей где-нибудь за пределами окна этого PopUp меню (например на рабочем столе), то PopUp меню остается раскрытым. Как его спрятать, или хотя бы узнать в программе, что был факт клика за пределами окна PopUp меню.
И еще одно: Во всех приложениях, которые висят в системном лотке (у меня например: Интегратор Promt Family, Spider), если с клавиатуры подвести фокус на иконку и нажать клавишу вызова меню (та, что возле клавиши Windows, справа), то открывается PopUp меню, в которое можно переместиться клавишей Up, а у меня PopUp меню вызывается, но попасть в него с клавиатуры не получается. В чем тут дело ?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU35XFJ2R

По ходу дела возник вопрос по внешнему виду формы для WinXP. Конкретнее: Программа висит в системном лотке (system tray), IsLibrary установлено в true (чтобы не было кнопки на панели задач) и по двойному клику вызывается форма настроек. На форме имеются BitBtn-ы, SpeedButton-ы и т.д. На форме использую компонент ThemeManager и подключаю ресурс {$R winxp.res}. На этой форме все компоненты имеют ХР-шный вид. Но когда я вызываю дополнительную форму (всего дополнительных две), то на ней элементы, которые поддержаны системой (Edit-s, ListBox-ы) имеют ХР-шный вид, а элементы, не поддержанные системой (BitBtn-ы, SpeedButton-ы) стают обычные.
Характерно то, что если не устанавливать IsLibrary в true, то все элементы, как и положено имеют ХР-шный вид, но вылазит кнопка приложения на панель задач, хоть основной формы и не видно. Я рылся по хелпу и исходникам ThemeManager-а и нашел процедуры ThemeManager.CollectForms(); и ThemeManager.CollectControls();, которые могут помочь при использовании форм из ДЛЛ, но в следствие отсутствия примера и отчасти знания английского языка применить их не сумел (Я то их применил, но эффекта это не возымело.)
Другой вопрос не так принципиален, но все же: При запуске приложения, которое не находится в системном лотке на панели задач появляется его одна кнопка и все. При использовании в этом приложении других модальных форм, они не создают своих кнопок в панели задач. А программа, которая сидит в системном лотке, когда ее основная форма покаэвыается - создает одну кнопку. При вызове из нее модальной формы (или окна диалога,
например - OpenDialog.Execute) создается еще одна кнопка и т.д. Как от этого избавиться?
Если кто-то разобрался о чем я здесь вел, просьба прислать пример.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU35XGU3F

Подскажите, как для Делфи 6 откомпилировать .dcu файл из имеющегося .pas файла не прибегая к средствам Делфи, потому что при попытке откомпилировать его самим Делфи приводит к сообщению Unit Controls was compiled with a different version of Consts.SParentGivenNotAParent. Это необходимо для русификации Raised сообщений проекта.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU35XHJ3S

Windows 2000, Delphi 4
Три компьютера соединены между собой через Ithernet.
Как написать процедуру передачи и приема строки между компьютерами. Как написать процедуру передачи и приема файла между компьютерами.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNV59LIB9

У меня есть два вопроса:
1) как используя Delphi 5 или 6, долучить доступ к элементам web-страницы (полям ввода данных), открытой в MS Internet Explorer 6.0, чтобы при необходимости иметь возможность заполнить их своими данными;
2) как можно создать свою панель с кнопками в MS Internet Explorer и назначить им свой программый код.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU4FGR3Q
[Наверх]

Тема: Games

Название и версия программы: Quake 2
Какой консольной командой/параметром изменить инвертацию мыши?
Есть параметр in_mouse, значение "0" просто отключает мышь, все ненулевые ее включают.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNV59LIFC
[Наверх]

Тема: HTML

Не давно в каких то рассылках мелькнула програмка, которая позволяет создать INDEX.HTM из набора отдельных HTM. Как называется программа и где ее найти?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNR50L17E
[Наверх]

Тема: ICQ

Помогите мне пожалуйста, я зарегистрировался под 2000 Виндовс на аське, потом поставил XP,удаляя все коталоги я стер запись своего номера ICQ. Пробовал на сервере искать по запросу, не получаеться(логин, имя, фам., адрес).Когда в Аське беру создание нового пользователя после заполнения пишет вот что:
Could not complete registration!
Please Chek status of Internet conection.
И еще у меня глюки с IP, пишет что не может приконнектится к удаленой машине, если задать автоматически, то пойдет, может это в нем проблема?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNW2NFQH4B
[Наверх]

Тема: Internet

Ваш вопрос:
1.Как настроить Apache и Win98, WinME, WinNT, Win2000,WinXP чтобы когда ко мне звонят модем брал трубку и соеденял, затем когда пользователь у себя открывает IE или NN и набирает там определенный IP-адрес то у него загружаются страницы с моего компьютера в общем я хочу сделать что-то типа BBS (Электронная Доска Объявлений) только чтобы юзер лазил не в терминальной программе а в IE или NN.
2.Нужен Java-скрипт который дает юзеру определенное количество времени и когда оно кончается то надо как-то его отключить...
3.Возможно что этот скрипт можно написать на PHP + MySQL т.е. юзер входит под свой логин и пароль и когда время кончается то в базе меняется параметр, например если UserTimeRemain=0 то UserLogout(), вся проблема в том как отключить юзера, если можно это сделать на Delphi 6,7, BC++B 5,6 то это уже другой вопрос и если могете то ответьте на него тоже можете предложить еще какие-нибудь примочки.
4.Чтобы юзер создал подключение и чтобы оно у меня проверялось, на правельность имени пользователя и пароля, у подключения пользователь и пароль всегда одинаковые, а когда прользователь подключается и заходит на так называемый сайт то там уже вводит личный логин и пароль, и еще одно если он с первых 3 попыток не угадает логин или пароль то его нужно отключить.
5.Если пользователь отключился насильно, т.е. выключил у себя модем или еще что-то подобное то поставить в базе все соответствующие флаги как при нормальном отключении.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNW2NFO335
[Наверх]

Тема: JavaScript

У меня вопрос: как можно отправить эту форму, чтобы форма открылась в новом окне с определенными размерами, без тулбара, меню, и.т.д. Заранее спасибо
-----------------------------------
q ='Ну что?';
v1='Все ОК';
v2='Неплохо';
v3='Лучше прежнего';
function votesubmit()
{ theform.submit();
}
document.writeln('<form target="_blank" action="vote/poll.asp?action=vote" method="post" name="theform">');
document.writeln('<b> '+q+'</b><br>');
document.writeln('<input type="hidden" name="queID" value=1>');
document.writeln('<input type=radio name=poll1 value="1" onclick="votesubmit()">'+v1+'<br>');
document.writeln('<input type=radio name=poll1 value="2" onclick="votesubmit()">'+v2+'<br>');
document.writeln('<input type=radio name=poll1 value="3" onclick="votesubmit()">'+v3+'<br>');
--------------
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNW4D8YK43
[Наверх]

Тема: Linux

LinuxRedHat7.2
HP notebook Pavilion N5470 (atlon 1Ghz....)
1. После запуска Х запускаю консоль и kppp&. Затем жму подключить и жду... Пока идет подключение в консоли пишется ход этого процесса, все вроде хорошо, но смущает меня надпись Can't find device:ppp0. Но вроде никак на соединение не влияет, входит в сеть и т.д. Чего ето?
2. Последнее время после подключения к Инету, хорошо если пару страниц загружу, а вообще иногда и с самого начала сеанса не никакого трафика, даже ping не проходит к провайдеру.
Не пингуется даже IP который написан в "Подробности" соединения. Т.е приходиться сидеть в сети из виндовоза.
3. Установлено на компе RH7.2 и Win98. Так вот после загрузки Линукса виндовс грузится и работает потом очень и очень медленно, перегружаю машину - все ОК. Почему??
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU35XDV1W

Может кто даст инфы по 32 разрядным ОС,их основные принципы способы работы и тд?К несчастью инета-не имею тока почту...
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNV2FRYX6
[Наверх]

Тема: Local_Net

У меня домашняя сеть из двух компьютеров. Общий доступ в интернет через Internet Gateway. Установку общего доступа и настройку домашней сети всегда делал Wizard'ом по умолчанию, расшаривал папки и использовал ресурсы двух машин легко и непринужденно. Пос
ле установки сервис паков для WinXP на обе машины (на обоих одна ОС) инсталляция антивирусных программ Norton 2002 или McAfee 0.7 приводит к отключению доступа к расшаренным ресурсам домашней сети. Доступ возможен только к той машине, на которой нет антивируса! Что делать, может я совсем ничего не понимаю, но ОС я уже переустанавливал раз несколько. Устал. Помогите опытному, но профессинально безграмотному пользователю.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU35XI845
[Наверх]

Тема: MSSQL

Возникла необходимость написать программу для работы с БД через MS SQL Server - нужно выполнять различные SQL запросы. Все это делается по локальной или сервер сети через CDatabase/CRecordset. И сразу появились БОЛЬШИЕ грабли. В частности, я не врубился как через эту связку можно создавать SQLловские курсоры, представления (View) и некоторые другие вещи.
Hо больше всего интересует такой вопрос - как можно организовать получение данных, например по запросу SELECT, по кускам (подразумевается, что таблицы в БД будут большие), чтобы не перегрузить сеть.
Вобщем, кто с этим сталкивался - БОЛЬШАЯ просьба помочь.
Примеры, советы, ссылки на статьи в Интернете (на русском) очень даже приветствуются.
С ODBCшными функциями связываться тоже можно, но незнаю как
Возможно, существуют какие-то библиотеки, которые позволяют делать вышеописанные вещи (результат желательно получать в чем-то вроде CRecordset - т.е. чтобы можно было легко обработать: эти результаты предпологается выводить на экран и печатать отчеты(по установленной мной форме) ).
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNW2NFQ545
[Наверх]

Тема: PGP

Подскажите хороший русский форум или рассылку по PGP.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNX2UH93S

Какую версию PGP лучше выбрать, с точки зрения надежности шифрования?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNV2FS6O42

У меня pgp658ckt06. Слышал что есть русификации в сети. Но вот не задачача линки мертвые. Подскажите где взять русификацию.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNX5BF2317
[Наверх]

Тема: Prog

Подскажите как получить доступ к определенным частям файла лежащего на фтп или хттп. Т.е. ка получить не весь файл, а, скажем, первые 123 байта из него.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNW2NFMJ2E

Можно ли узнать строку отправляемую на сервер, при нажатии опред. кнопки НА САЙТЕ? Как?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNV2FS11S
[Наверх]

Тема: Viruses

Стоял антивирус Norton 2003 Corp. Edition (клиент), тот что завоевал VB 100% в ноябре этого года. Установил и затем удалил NU 2002 Rus. После этого антивирус перестал работать. Переустановка автоматически обнаруживает, что антивирь уже стоит и запускается в режиме upgrade. Но upgrade не проходит, выдает ошибку библиотек. Uninstall не проходит - требует пароль (он был установлен как managed). Введенный правильный пароль ему не понравился. Пришлось удалить антивирь вручную, почистил реестр. Но даже теперь инсталляция запускается в режиме upgrade и как всегда вылетает с ошибкой библиотек. Как его установить в обычном режиме? Переустанавливать w2k не хочется из-за одной капризной программы, тем более что любые другие программы фирмы Symantec ставятся отлично.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UNU4FGQKG
[Наверх]

Поиск по Базе знаний :
http://www.soobcha.ru/search/

Автоответчики.
Информация о системе Эксперт СообЧа (пустое сообщение):
mailto:reply.infoexpert@soobcha.ru

Информация о порядке регистрации в качестве эксперта (пустое сообщение):
mailto:reply.regexpert@soobcha.ru

Список тем для задания вопросов (пустое сообщение):
mailto:reply.subjexpert@soobcha.ru

Список всех автоответчиков СообЧа (пустое сообщение):
mailto:help@soobcha.org
Администратор системы:
mailto:expert_adm@soobcha.org
Копирование материалов рассылки допускается только по согласованию с администратором системы.
Рассылка создана программой Expert Page Generator.
(С) 2000-2002 СообЧа!


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

В избранное