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

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


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

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

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


10.11.02


Доброго дня всем нам!

Вот уже два года в составе Сообщества работает группа Inet_prog. Это группа посвящена вопросам программирования в Интернете. Пусть вы начинающий, простой Чайник, и хотите создать свою первую домашнюю страничку, но не знаете как - здесь вам помогут, разъяснят каждый этап, научат вас азам HTML. Если же вы более продвинутый пользователь, то тут вы сможете расширить свои знания в таких языках как Java, JavaScript, VBScript, XML, SSI, DHTML и других. Наконец, если вы считаете себя профи, и знате такие вещи как PHP, Perl, ASP, Python, Базы данных MySQL и mSQL, Macromedia Flash в конце концов, и у вас возникают вопросы по этим темам, то смело подписывайтесь и задавайте их: любой ваш вопрос не останется незамеченным, и мы постараемся вам помочь. Мы не забыли и про системных администраторов, или попросту говоря сисадминов, настройка серверов Apache и IIS, с их многочисленными параметрами, опциями, возможностями не может не вызвать затруднений, а значит вам тоже сюда! А если вы хотите просто поделиться своими знаниями, пусть даже небольшими, с другими членами конференции, тогда мы будем очень вам
рады! Смело подписывайтесь!

Для подписки пошлите пустое письмо по адресу:
mailto:inet_prog-on@soobcha.org

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


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


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


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

Я хочу купить С++ но не знаю какой!Мне нужно что бы там можно было действовать как в делфи перетаскивать детали из панели компонентов а не делать всё это кодом.И ещё желательно что бы на эту версию можно было достать максимум информации из интернета(т.е. что бы версия не радкая была.)И ещё важно что бы на этом языке можно было писать любые программы. Что вы мне посоветуете?


Ответ:

Borland Builder C++ 6.0

[Наверх]

Тема: DOS

Дайте, плиз, описание команд переадресации, таких как <, |, > Допустим, команда dir \ > dir.txt запишет все, что будет выведено командой dir на экран в файл dir.txt Может, есть еще что-то?


Ответ:

Команды эти делают следуещее.
"<" - означает брать входные данные не со стандартного устройства ввода (CRT), а из другого источника, например из файла.
">" - означает перенаправить выходные данные не на стандартное устройство вывода (опять же CRT), а в другое место, например в файл, на принтер и т.д., при этом, если поток направляется в файл, файл создается новый, в независимости от того был ли файл с таким именем на диске или нет.
">>" - то же самое что и ">", но при этом если файл, в который мы перенаправляем вывод на диске есть, то данные в него дописываются.
"|" - так называемый конвейер. Работает так: выходные данные одной программы проходя через конвейер становятся входными данными для другой.
Пример: FIND "какой-то текст" MY.TXT | SORT /+3 > MYSORT.TXT
Данная команда осуществляет поиск строки "какой-то текст" в файле с именем MY.TXT, при этом все найденные строки через конвейер подаются на команду SORT, которая их сортирует начиная с третьего символа. Отсортированный результат записывается в файл MYSORT.TXT
Если этот файл уже был на диске, то он создается заново.

[Наверх]

Тема: Delphi

Язык программирования - Delphi 5.5
Передо мной стоит задача прерывания зацикливания. Есть бесконечный цикл while, который по определению должен быть бесконечным. Необходимо как-нибудь прервать его. Желательно нажатием кнопки на формочке. Во время работы цикла форма не реагирует на события. Как это осуществить?


Ответ:

В Windows есть такая замечательная вещь, как потоки. Потоки выполняются параллельно, поэтому форма точно так же будет обрабатывать события, как и обычно. Некоторые могут посоветовать в тело цикла поставить команду Application.ProcessMessages;, но это неправильное решение, потому что цикл будет выполняться дольше и могут возникнуть проблемы при работе с контролами на форме. Для создания потока следует наследовать класс от TThread:
type
TMyThread = class(TThread)
protected
procedure Execute; override; // здесь и будет выполняться цикл
public
constructor Create; reintroduce;
destructor Destroy; override;
end;
В перекрытом методе Execute следует выполнять цикл:
procedure TMyThread.Execute;
begin
while true do
begin
// ... тело цикла
end;
end;
И объявить конструктор:
constructor TMyThread.Create;
begin
inherited Create(false);
FreeOnTerminate:=true; // это освободит поток при остановке
// здесь поместить код инициализации
end;
и деструктор:
destructor TMyThread.Destroy;
begin
// здесь поместить код финализации
inherited Destroy;
end;
Теперь нужно объявить глобальную переменную:
MyThread: TMyThread;
Она нам нужна, если мы принудительно захотим завершить поток.
Для запуска потока достаточно выполнить:
MyThread:=TMyThread.Create;
Если наш поток нужно прервать и освободить, то достаточно выполнить:
MyThread.Terminate;
После этой команды наш поток сам освободится, то есть не нужно вызывать метод Free.
В пакете Delphi (в том числе и в справке) есть хорошие примеры по использованию потоков.

[Наверх]

Тема: Delphi

Подскажите, пожалуйста, код для определения количества файлов в заданном каталоге (файлы имеют любые имена и расширения; каталог может быть пуст). Это количество время от времени изменяется, это изменение нужно отслеживать.


Ответ:

procedure TForm1.CountFilesInDir(const Dir: string): integer;
var
sr: TSearchRec;
err: integer;
begin
Result:=0;
//Кроме обычных, искать archive, read-only, hidden и system файлы по маске *.*
err:=FindFirst(Dir+'\*.*', faArchive+faReadOnly+faHidden+faSysFile, sr);
try
while err=0 do
begin
inc(Result);
err:=FindNext(sr);
end;
finally
FindClose(sr);
end;
end;

[Наверх]

Тема: Delphi

Версия Delphi:5
Не поделится ли кто из экспертов пошаговой инструкцией по созданию базы данных на основе InterBase (начиная с того какие элементы нужно выбрать при установке Delphi). Буду рад прямым ссылкам на статьи.


Ответ:

Привожу пример создания простейшей базы с одной единственной таблицей на Interbese
1. Прежде всего необходимо установить Interbase клиент-сервер, он как правило в усеченном варианте включен в поставку Delphi 5, но лично я пользуюсь отдельным дистром Interbase 5.6. или 6.0.
2. Также рекомендую установить небольшую утилитку для работы с Interbase которая называется EMS QuickDesk 2.0. Где все это взять ? Заходим на любой поисковик и делаем запрос на указанные выше дистрибутивы. Точных ссылок я не помню.
3. Набираем в любом текстовом редакторе файл notebook.sql.
/*База данных записной книжки */
/* Создание базы данных*/
create database "d:\work\interbase\notebook.gdb"
user "sysdba" password "masterkey";
/*Соединение с сервером где чудесным образом образовалась база данных*/
connect "d:\work\interbase\notebook.gdb"
user "sysdba" password "masterkey";
/*Создание таблицы клиент*/
create table klient
(num integer not null primary key,
name varchar(30) not null,
adres varchar(100));
Данный файл описывает базу с одной единственной таблицей. Если необходим другой путь размещения базы то необходимо изменить d:\work\interbase\
4. Запускаем EMS QuickDesk 2.0. Выбираем пункт меню Tools -> SQL Script. Открываем наш notebook.sql. Нажимаем Run Script и опля наша база создана, т.е. в d:\work\interbase\ появится файл notebook.gdb
5. Запускаем Delphi. Переходим на вкладку Interbase и работаем с нашей новой базой.

[Наверх]

Тема: Delphi

Как сыграть пару нот (или мелодию) ПС-спикером? Возможно, надо подключать Ассемблер.


Ответ:

Есть такой unit, bleeper.pas называется. Так вот в нём есть процедурка, которая позволяет проигрывать speaker'ом разные мелодии. Причём сама мелодия задаётся довольно легко - по нотам, в формате GWBasic'а. К сожалению, где качал - не помню. Сайт автора http://www.apollod.omnia.co.uk/aa/
В принципе, под WinNT можно использовать API'шную функцию Beep(Freq, Duration: Longint); под Win9X частота не изменяется :(
В старом добром TurboPascal'е когда-то для этих целей использовался набор Sound + Delay + NoSound. В Винде Delay можно заменить на Sleep, а что касается Sound & NoSound, то вот они:


Предупреждение: под NT при прямом доступе к портам сильно ругается :(

[Наверх]

Тема: HTML

Подскажите пожайлусто как можно сделать на сайте голосование .?
То есть нужен один из нескольких вариантов(4 варианта) ответов . а так же просмотор соотношения голосования. Обьясните по подробние что для этого нужно (если можно на примере ).


Ответ:

Для реализации головосания необходима поддержка на сервере исполнения Perl скриптов. (То есть папка CGI-BIN - если хостинг бесплатный, то такое есть на http://www.hut.ru, http://www.h1.ru и некоторых других. Отсутствует на народе). PHP крайне не желателен, так как довольно медленный и неудобный. Сама программа на Perl будет очень простой. Если необходимо - могу написать пример. Функции - в принципе любые.
Кроме того, можно воспользоваться одним из моих сервисов. Я сейчас занимаюсь разработкой портала, который позволит использовать Perl скрипты НЕЗАВИСИМО от того, какой у пользователя хостинг. (http://www.animekawaii.com). Правда это для аниме сайтов, но никто не мешает воспользоваться ими любому человеку. Проект будет готов буквально через 3-4 дня.

[Наверх]

Тема: Hard

Как побороть то, что драйвер клавиатуры мешает выходу системы в ждущий/спящий режим.
Пробовал менять/обновлять на windowsupdate, - не помогло.


Ответ:

Может стоит решить проблему в лоб - зайти в БИОС и во вкладке POWER MANAGEMENT отключить клавиатуру в списке устройств которые могут засыпать. И пусть работает постоянно.

[Наверх]

Тема: Hard_disk

Для чего предназначена файловая система?


Ответ:

Файловая система - принцип или система хранения данных на том или ином носителе. Ведь носители (дискеты, CD, жесткие диски) хранят данные в виде секторов (набор ячеек из нескольких байт) каждый из которых имеет свой адрес... Так вот. Это просто принцип организации хранения данных. Напр:
для жестких дисков: FAT, FAT32, NTFS...
для CD: UDF, CDFS...
и так далее.
Каждый принцип имеет собственные преимущества и недостатки и предназначен для определенного типа носителя. Например, FAT32 более совершенен чем FAT(или FAT16) т.к. поддерживает разделы > 2 Гб но он более сложный и у него больше глюков... NTFS - в него внедрены системы безопасности и т.д. - хранение под такой системой файлов является надежным но она более медленная чем остальные...
Однако не все ос поддерживают все файловые системы, напр: win95, 98 не поддерживают NTFS и UDF, а winnt4 не поддерживает FAT32 и UDF, а winxp поддерживает их все...

[Наверх]

Тема: Internet

Как можно спрятать IP? Чтобы, например в чате не могли определить его.


Ответ:

На самом деле однозначного ответа нет. И не стоит его пытаться искать. Для того что бы ответить себе на этот вопрос, вспомните что такое IP. Реальный IP спрятать невозможно, иначе пакеты с информацией уходили бы "на деревню к дедушке". Вообще прятать IP не имеет смысла - это открытая информация. И то, что кто-то знает Ваш сетевой адрес никакой реальной угрозы для Вас не представляет. А для некоторых пользователей и вообще, обязательно наличие "открытого IP". Однако угрозу могут представлять неправильное конфигурирование политики сетевой безопасности на ПК пользователя (например открытый доступ к дискам). Но в таком случае "спрятанный" IP совсем не
поможет.
Но для справедливости следует заметить, что есть некоторые способы, позволяющие подменить свой IP - прокси сервера. Сервер один, а пользователей много, и со стороны внешней сети для всех пользователей сервера будет выделен 1 IP адрес (адрес прокси сервера), к которому и буду обращаться все остальные участники сети. А уже сам прокси сервер будет самостоятельно разбираться какая информация (адрес-то один) для кого пришла. Однако и тут сильно обольщаться не стоит: прокси сервер в переменных окружения все равно передает реальный IP адрес. (например откройте в аутлуке свойства любого письма. После слов X-SOURCE (или X-FORWARDED) будет стоять РЕАЛЬНЫЙ IP адрес отпраителя. Даже при использовании Web интерфейса.
Однако есть и АНОНИМНЫЕ прокси сервера, которые предназначены специально для сокрытия реального IP адреса. Эти сервера действую точно так же как и обычные кэширующие, но не показывают реальный IP адрес. Однако почти все сервисы в сети имеют запрет на пользование своими ресурсами с известных анонимных прокси серверов.

[Наверх]

Тема: Internet

Чем отличаются avi от mpeg (качество?, размер?). и если есть возможность качать один и тот же файл в любом из этих форматов, то какой предпочтительнее


Ответ:

Ничем. Это всего лишь разные расширения файла. Если переименовать mpeg в avi он будет работать точно так же. Реально сейчас распространены форматы mpeg2 и mpeg4. mpeg4 сжимает намного сильнее, но требует хорошего процессора. Например на 1100 селероне 1 час видео 512*386 будет сжиматься около 1.5 часов. Для воспроизведения без дёрганий нужен селерон 800 или выше. MPEG 2 работает очень быстро, но файл занимает раза в 3 больше места при том же качестве.

[Наверх]

Тема: Modem

У меня модем Rockwell v90 k56 (data/fax/voice). Может ли он, программно или аппаратно, выполнять функцию номероопределителя?


Ответ:

Да, может. Насколько я знаю, аппаратно. Но вот единственные проги которые реально умеют этим пользоваться - это Venta Fax и ей подобные (которые служат как автоответчики), а также серверный софт для провайдеров (но он под юникс).

[Наверх]

Тема: PHP

Как выводить список пользователей онлайн?
Я делаю так. Создана директория с именем online. Когда пользователь входит в чат, создается файл online/$username. Потом во фрейме со списком пользователей я делаю так:
$handle=opendir('online');
while(FALSE!==($file = readdir($handle))) { if($file != "." && $file != "..") { echo "$file";
}
}
closedir($handle);
Соответственно выводится список имеющихся файлов/пользователей онлайн. Но как очищать этот список пользователей, когда юзер уходит из чата? Ведь его файл остается по-прежнему в каталоге! Неплохо было бы делать unlink("online/$username") в тот момент, когда юзер закрывает броузер или рвется соединение. Я пробовал через connection_status и connection_abort определять, но что-то не очень подходит...((
Чего можно придумать?


Ответ:

Вам надо либо использовать механизм сессий и это решит 65% всех ваших проблем.
Либо обновлять статус следующим образом:
Когда пользователь входит делаете куда-то[*] запись:
userID : timeSTAMP
****************************,
где "timeSTAMP" текущее время
Когда пользователь производит какое-либо действие обновляете поле "timeSTAMP".
Далее: к какой-либо часто используемой части программы приделываете скрипт удаляющий записи по критерию:
timeSTAMP+среднее время пребывания польщователя на странице<timeNOW,
примерно так и работают все эти системы.
* в качестве "куда-то" лучше использовать SQL-сервер.
П.С.
Организовать какую-либо проверку не возможно т.к. у клиента не запущен сервер и ни на какой запрос сервера он не ответит. т.е. "html" действует как "почта"..клиент подключился забрал страницу и отключился. можно конечно написать на DHTML программу для клиентской стороны. или написать действие onClose в браузере. Действительно при работе IE некоторые страницы успевают что-то скидывать в инет перед закрытием. Но в других браузерах этого может не быть т.к. они работают или более или менее корректно. IE например , читает теги после тега </html>...

[Наверх]

Тема: SoundCards

Чем отличается Sound Blaster Live Value от Sound Blaster Live?


Ответ:

Отсутствием S\P-DIF, не позолочю контактами.

[Наверх]

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

Допустим, на фоме есть Image1 размером 200х160.
Как нажатием кнопки Button1 пропорцианально уменьшить Image1 до размеров 150х120, т.е. сохранить отношение ширины и высоты картинкаи?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN52NA2GT

Вопрос1. Как изменить размер и цвет ScrollBar'а в любом элементе управления, например ListBox'е ?
Вопрос2. Подскажите какой нибудь свободный компонент для отображения *.dxf файлов. Очень нужен. Я все перепробовал. Добрался до OpenGL и на этом остановился.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN439FFW2V

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

Тема: Games

Как можно извлечь музыку из Diablo?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN641I4WW

Посоветуйте какой-нибудь 3D шутер (в стиле Unreal Tournament) с хорошо реализованной игрой по сети (особенно по модему).
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN728LBYU
[Наверх]

Тема: Local_Net

Есть домашняя сеть с машинами под Win9x, WinXP. После подключения в сеть машины под ОС Linux из WinXP нельзя зайти в рабочую группу. Выскакивает сообщение, что доступ к рабочей группе запрещён (The account is not authorized to log in from this station). Но если в адресной строке набрать имя компьютера сети, то происходит переход(н-р, \\Vasya).
Под WinMe никаких проблем нет. В XP установлен TCP\IP, QoS packet scheduler, Client for
Microsoft Networks, File and printer sharing for MS Networks. Машина под ASPLinux соединяет две локалки, IRC сервер. Если имеет значение сетевое имя машины совпадает с именем рабочей группы.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN641I6R22
[Наверх]

Тема: MB

Марка материнской платы: Asus P3V133 на чипе VIA Apollo Pro 133
Операционная система: Вынь 98 se
В БИОСе выставляю время пробуждения компа. Если выключить комп НЕ через винду (к примеру перегрузиться, зайти в биос и выключить, загрузиться в ДОС), то комп включается в положенное время. А если делаю "Выключить компьютер" в винде - в положенное время тихий
молчок со стороны системника, то бишь не включается. Корпус АТХ Мать Асус Р3V133
Винда - 98-я SE в разными апдейтами от всеми любимой мелкомягкой. В чем покопалась собака? И где? Как вылечить? Включение по расписанию нужно принципиально.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN251UG5U
[Наверх]

Тема: Pascal

Как в Паскале создать программу работающую в сети? (Есть класс компьютеров, связанных локальной сетью, программа должна проверять их готовность к работе, посылать файлы, запускать программы, получать их сообщения...)
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN52NA1H7
[Наверх]

Тема: VB

Где можно найти инфу по VBS в интернете?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN34HLQ213
[Наверх]

Тема: VideoCards

Привет, кто сталкивался с такой ситуацией? мать: DFI PE11-EC VIA P4x266A, видюха (не ахти ) Inno 3D GeForce2 MX400 32MB. Не могу поставить дрова!!! все пачи на VIA ставлю, DirectX 8.1 а вот после установки видео дров система пишет что карточка не прави
льно настроена и я все с теми же 16ю цветами! или вот еще сообщение: Ошибка в NvQTwk Отсуствует NvCpIDaemon.
Может кто-то как-то где-то, подскажите, не хочется мать менять, или же какую видюху в районе 40$ взять, чтоб она под VIA работала?
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN641I4RT
[Наверх]

Тема: Visual_C++

Мне говорили, что живёт где-то компилятор МVС++ с русским интерфейсом и справкой, у меня такая проблема мне нужна эта самая русская справка от компилятора, а лучше укажите на хорошую книгу по программированию для Выни на VC++ (желательно в каком-нибудь и
нтернет магазине)
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN52NA5G2U
[Наверх]

Тема: delphi

Как с помощью Delphi-программы нажать пункт меню другой программы?
Например, в Word'e нажать Правка\Найти.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN22GYPW4
[Наверх]

Тема: modem

Марка модема: 3COM Us Robotics 56k, Voice
Тип (внутр/внешн): внутренний
Когда нажимаю кнопку 'подключиться' в окне дозвона, то когда модем начинает дозваниваться. При нажатии отмена, чтобы остановить дозвон, модем не может остановить дозваниваться до тех пор пока не начнет входить в сеть, только тогда он отменяет соединение. Как-будто модем просто тормозит, очень неудобно, если хочется отменить вход в сеть. До этого при предыдущей установке Win2000 модем при коннекте с пулом просто притормаживал весь компьютер, при входе в сеть невозможно было двигать окна, Винамп замирал до тех пор пока модем не подсоединялся. Думаю эти проблемы связаны.
Ответить: mailto:expert@soobcha.ru?subject=Rass_UN74EJ2S1I
[Наверх]

Поиск по Базе знаний :
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
Отписаться
Убрать рекламу

В избранное