С очередной порцией байтов, впитываемых из Сети, я вхожу в ваше
сознание. Хорошо ли мне там? Ждете ли вы меня? Вопросы без ответов. Но
это не важно, потому что... Вы читаете очередной выпуск рассылки
"Программирование для начинающих".
Только что я закончил читать (т.е. прочитал) книгу Сергея
Лукьяненко
"Лабиринт отражений". Я все еще нахожусь под впечатлением
"глубины" и,
боюсь, буду сегодня слишком много болтать не по делу. Впрочем, это
обычно для меня, поэтому не обращайте внимания :-). Как бы невзначай,
рекомендую всем прочесть эту книгу, особенно тем, кто ее еще не читал.
Ее можно купить, в том числе и Интернет магазинах, а можно и скачать
электронную версию книги. Например, с официальной страницы Лукьяненко
на сервере "Русская фантастика"
(http://www.rusf.ru).
И еще о книгах. Неделю назад купил себе книгу Алена Голуба
"C&C++. Правила программирования". Во введении Ален
говорит о своей книге и
своих правилах. Его слова мне понравились и я хотел бы так же сказать
про свою рассылку. Но так же не получится, поэтому я процитирую
уважаемого программиста, автора книги. А вас прошу воспринять эти
слова, как будто бы их сказал я, заменив встретившееся слово "книга"
на слово "рассылка", а под "правилами" понимать мои рекомендации и
вообще все, что я вам говорю. Ален Голуб:
"... я ежедневно пользуюсь правилами этой книги. Не хочу
утверждать,
что эти правила безупречны или даже "верны". Однако, хочу сказать, что
они верно служили мне все это время; несмотря на то, что эта книга не
относится к категории руководств по "ловушкам и западням", многие из
моих правил предохранят вас от неприятностей, которые в них
обсуждаются.
По существу, правила достаточно гибкие. С приобретением опыта они
постепенно меняются, и ни одно из этих правил не действует постоянно.
Тем не менее, с самого начала я вас предупреждаю, что весьма упрям в
своих мнениях по сути предмета... Не склонен извиняться за намеренное
подчеркивание положений, в которые я сильно верю. Мои мнения всегда
могут измениться, если, конечно, вы сможете убедить меня в том, что я
не прав; но имейте в виду, что книга эта - продукт опыта, а не теории.
Осознавая, что большая часть этой книги весьма опасно соприкасается с
личными привязанностями и что многие из предлагаемых мною вопросов
носят дискуссионный характер, думаю, тем не менее, что всегда найдется
возможность для разумного компромисса между двумя специалистами,
стремящимися к совершенствованию своего мастерства."
Ок. Подробнее о книге Алена Голуба читайте ниже, в рубрике ОКРУЖЕНИЕ.
Спасибо всем, кто написал мне и ответил на вопросы про "мобильный
интернет" и "второе высшее". К сожалению или к счастью, ваши советы
придется пока отложить (в долгий ящик:-). Я навел справки в своем
ВУЗе, оказалось, что занятия занимают всю вторую половину дня -
времени на рассылку не остается. Пришлось выбирать.
Сегодня мы начнем говорить об одной важной вещи. Важной для части из
вас, уважаемые подписчики. Это доступ к web через email. Почему это
важно? Скоро начнет работать сайт рассылки. Там будет архив выпусков и
материалы, не вошедшие в выпуски. Как, спрашивается, вам получить эти
материалы, не имея доступа к web? Ответ прост: по email. Пусть скажет
Garry!
СЛОВО ПРЕДОСТАВЛЯЕТСЯ
GARRY
Путешествие по Интернету через E-mail.
Эту идею мне подсказал Vyacheslav Matsnev, известный как
stac@stacmv.net , когда я пожаловался
что доступа в Internet из нашей
сети "Белэнерго" я не имею, кроме моего почтового ящика -
dudorew@energo.net.by
, Staс мне прислал справочник "Доступ к
Интернету через электронную почту". Изучив его, я очень обрадовался,
доступ к Internet в Off-line это очень неплохо. Ну и приступил к
исследованию. Дальнейшие события поубавили во мне оптимизма. Начал я с
getweb. Послал запросы URL на несколько адресов указанных в
справочнике. Минут через 5 ответил
getweb@usa.healthnet.org
(обрадовала оперативность, как ответили другие getweb
уже и не
помню), стал слать туда дальнейшие запросы. Ответы приходили в
текстовом формате в теле сообщения, и если англоязычный текст можно
было понять, то кириллица доходила в виде непонятных значков. Все мои
попытки раскодировать текст были тщетны. Аналогичная ситуация
произошла и с agora, причем ответы шли долго. Затем
я перешел к новым
WWW4MAIL серверам. Поверхностно прочитав Help высылаемый
по запросу, с
новыми силами я начал "доставать" эти сервера. Слал в теле сообщения
команды:
GET http://и т.д и т.п. и
SOURCE http://и т.д и т.п.
Приходили ответы с содержанием странички сайта, но в текстовом
формате, и никакого прикрепленного HTML. Желание видеть HTML,
прикрепленный к письму подвергло меня к доскональному изучению help.
Пришлось перевести Help в Socrat-е. В английском я не силен, но смысл
оригинального текста можно понять. Там я нашел неплохой способ
получения страничек следующим образом:
To: www4mail@.....
В теле сообщения написать
TSOURCE http://www....
Приходит ответ с прикрепленным HTML. Достаточно быстро работают
сервера:
Где ТЕОРИЯ, там и ПРАКТИКА.
Сегодня мы продолжаем разбираться с алгоритмами. Если Вы уже хорошо
знакомы с этим вопросом, то можете дальше не читать.
Недавно (или уже давно?) я рассказал, что такое алгоритм, даже дал
рецепт пирога. Поэтому буду считать, что Вы все поняли, а если не
поняли, то задали вопрос (mailto:stac@stacmv.net)
и получили ответ
(проверьте свой почтовый ящик).
Вам необходимо получить практические навыки в составлении простейших
алгоритмов, без циклов, ветвлений и т.п. Составление алгоритмов -
важная составная часть программирования, т.к. программа - это алгоритм,
записанный на языке программирования. Уфф...
Помните, несколько лет назад была распространена игрушка - вездеход
(или планетоход, не помню) с программным управлением
"Электроника-...". Ее еще по телевизору рекламировали.
Сейчас этого
вездехода в продаже не встретишь, и его можно увидеть разве что в
музее. (Москвичи и гости столицы: в Савеловском выставочно-торговом
центре есть стенд, который называется "Музей". Там вы можете увидеть
описываемый аппарат.)
В отличие от других игрушечных вездепланетоходов, "Электроника"
управляется не с дистанционного пульта управления, а с помощью
встроенной клавиатуры. Эта клавиатура имеет два типа клавиш(ей):
команды (вперед, назад, влево, вправо, остановка, лазер, ротор) и
цифры. Программирование осуществляется следующим образом. Надо давить
на кнопки с командами и цифрами, составляя программу. Например,
программа "Вперед" "20" "Вправо" "45" "Вперед" "20"
"Остановка" "30"
"Лазер" "10" заставит игрушку проехать вперед на 20 единиц расстояния,
повернуть направо на 45 угловых единиц, например градусов, проехать
вперед еще на 20 единиц расстояния, остановиться и подождать 30 единиц
времени, например, секунд, и пальнуть из "лазера" 10 раз. Как видите
все просто. Приятно вспомнить, как в свое аремя я задавался задачками
типа, как бы заехать под кровать, объехав массажный коврик, и,
посветив там "лазером", вернуться обратно. Словом, отличная игрушка
для детей, не то, что ваш любимый компьютер. Шутка...
Хорошо бы вам поиграть в подобные игрушки. Но где их сейчас возьмешь?
Да и зачем, если есть компьютер. Когда я готовил выпуск про алгоритм,
я задался вопросом, как заставить вас составить какой-нибудь алгоритм.
В результате я написал программку, в которой вам надо будет двигать
рожицей по клеточкам, пользуясь командами, похожими на команды
описанного вездехода. Итак, поехали...
Скачивание программы
Вас может разозлить сейчас некоторая сложность и корявость моей
программы и процесса ее установки. Мало времени на подготовку и
некоторая моя неуверенность сделали свое черное дело. Сначала я решил,
что это плохо, а потом подумал и решил - хорошо. Надо закалять
организм и набираться опыта :-).
Первый файл - это, собственно, программа, написанная на Visual
Basic3,
второй - необходимые для работы программы файлы (библиотечка
vbrun300.dll и управляющий
элемент (контрол - control) grid.vbx).
Vbrun300.dll и grid.vbx следует поместить в подкаталог \system
каталога с Windows (забыл сказать, программка-то работает под Windows,
подробнее см. Системные требования), например, c:\windows\system
Кстати, посмотрите, может эти файлы у Вас уже есть, тогда их,
наверное, не надо скачивать. Они у Вас могут быть, потому что Вы:
установили Visual Basic 3; используете какую-либо программу,
написанную на VB3. Файлы algo.exe и 1.map
можете поместить, в любой,
но один и тот же каталог, например, с:\progforbeg\algo. Думаю, не надо
напоминать ... нет, надо: обязательно ПРОВЕРЬТЕ ФАЙЛЫ
НА ОТСУТСТВИЕ
ВИРУСОВ ! или на их наличие, кому что больше нравится. И еще, в связи
со сложившейся традицией, я должен сказать, что не несу
ответственности за вред (прямой или косвенный), причиненный Вам, Вашим
близким и далеким родственникам, Вашему компьютеру или имеющимся на
нем программам описываемым ПО. Вы себе не представляете, как тяжело
мужчине говорить такие слова (что он не отвечает за свою программу),
но время сейчас такое, приходится терпеть ;-(
Итак, скачали, распаковали, раскидали 4 файла по двум каталогам.
Теперь можно познакомиться с системными требованиями.
Системные требования
IBM PC AT совместимый компьютер (рекомендуется 386 и выше) с
манипулятором типа "мышь";
видеоадаптер, поддерживающий разрешение экрана 800х600 или выше;
клавиатура (рекомендуется);
Программное обеспечение:
MS windows 3.x или 4.x
Visual Basic 3 runtime library (vbrun300.dll)
Grid Control (grid.vbx)
Да, раздул я все, однако. Надеюсь, кому-нибудь эта избыточность будет
полезна.
Если Ваш компьютер не удовлетворяет данным системным требованиям (что
маловероятно, но возможно), то напишите об этом мне
(mailto:stac@stacmv.net) и я внесу Вас в список. Если вас в списке
окажется много, то придется что-нибудь придумывать, чтобы учесть факт
несовместимости наших платформ.
Итак, если Ваш компьютер удовлетворяет всем требованиям, смело
запускайте algo.exe . Причины, по которым он может не
запуститься:
компьютер не удовлетворяет системным требованиям
компьютер удовлетворяет системным требованиям, но Вы запускаете
программу из DOS или из другой, несовместимой с Windows операционной
системы.
В windows\system нет файлов vbrun300.dll, grid.vbx
В каталоге с algo.exe нет файла 1.map
Вы запускаете не файл algo.exe, а что-то другое
Вы делаете что-то, что я не предусмотрел - помогите мне - напишите о
происшедшем (mailto:stac@stacmv.net).
Если все-таки запустился, то вы увидите четыре окна. Вы их уже видели,
если скачивали программу с
http://stacmv.i-connect.com/algo.html.
Левое окно содержит клетчатое поле 20х20. В клеточках находятся
различные символы, которые в совокупности образуют некоторую
структуру, назовем ее лабиринтом. Квадратики
обозначают стены,
компьютер обозначает компьютер, дискета - 3,5" дискету. Символ
"рожица" - это наш объект управления. Он будет
передвигаться по
лабиринту в соответствии с программой.
В правой части окна показана позиция объекта (слева направо,
горизонтальная координата и вертикальная). Точка отсчета координат -
левая верхняя клетка, которая имеет координаты (0,0). Снизу от
координат будет отображаться инвентарь, то что несет объект. Средние
два окна (расположенные одно под другим) не имеют заголовков. Верхнее
имеет 8 кнопок, с помощью которых осуществляется программирование
объекта и управление ходом выполнения программы.
Все очень просто. Кнопка ПУСК запускает программу
на выполнение
(всегда с первой строки), кнопка СТОП останавливает
выполнение
программы.
Кнопки со стрелками и кнопки
Pick и Drop - это команды,
подобные тем, что были у игрушки, описанной выше. При нажатии на одну
из кнопок-команд в программу добавляется соответствующая команда.
Нижнее окошко - консоль. Здесь можно набирать команды,
которые будут
немедленно исполнены объектом или добавлены в программу. В консоли
также осуществляется редактирование уже имеющихся в программе команд
(строк программы).
В правом окне содержится текст программы и кнопки
управления этим
текстом: копировать, очистить, удалить, редактировать,
выполнить.
Важно! Кнопки "копировать" и "очистить" относится ко всей программе,
остальные - к текущей (подсвеченной) строке программы.
Ваша задача - составить программу, согласно которой объект-"рожица"
возьмет дискету и вставит ее в дисковод компьютера. Кто пришлет самую
короткую программу, выполняющую поставленную задачу, тот молодец :-).
Ценность приза, конечно, сомнительна, ну да не в этом суть, не в
призе.
Пожалуйста, не шлите мне свою программу, если она содержит больше 20
строк.
Описание всех кнопок и встроенного языка программирования (ЯП) имеется
на странице
http://stacmv.i-connect.com/algo.html.
Но сначала
попробуйте обойтись без руководства.
Недокументированные функции использовать разрешается.
Насчет программки ALGO: критикам просьба не напрягаться, не оценю. Не
тот случай :-)
DOS
"Предлагаемый материал необходимо прочитать
и пользователю, не
интересующемуся организацией и функционированием DOS, так как в нем
вводятся базовые понятия и основные процедуры работы, которые требуется
знать каждому, кто собирается работать на ПЭВМ."
Б. С. Богумирский
2. Структура DOS
ДОС состоит из нескольких компонентов. Это:
базовая система ввода-вывода (BIOS);
системный загрузчик (SB - System Bootstrap);
модуль расширения BIOS;
внешние драйверы устройств;
базовый модуль ДОС;
командный процессор;
утилиты ДОС
Надо сказать, что подобную структуру имеет любая операционная система.
Хотя названия компонентов от системы к системе могут отличаться.
Где-то вместо базового модуля ядро, где-то оболочка, вместо командного
процессора.
BIOS хранится в ПЗУ(Постоянном Запоминающем Устройстве) и является:
частью компьютера;
компонентом ДОС;
компонентом любой ОС, запускаемой на ПК.
BIOS реализует наиболее простые и универсальные услуги ДОС по
управлению основными (стандартными) периферийными устройствами, в
частности, по организации ввода-вывода. BIOS освобождает обращающиеся
к ней компоненты ДОС и другие программы от "знания" и учета
особенностей оборудования, а также деталей управления тем или иным
периферийным устройством. Это обеспечивает независимость программного
обеспечения от периферийных устройств.
BIOS содержит:
драйверы стандартных периферийных устройств;
тестовые программы для контроля работоспособности оборудования;
программу начальной загрузки.
В стародавние времена BIOS содержал также интерпретатор языка Бейсик.
Основную задачу BIOS решают драйверы. Драйвер - это программа, которая
обслуживает те или иные периферийные устройства. Драйвер выполняет
следующие функции:
принимает запросы на обращение к периферийному устройству;
преобразует запросы в команды управления устройством с учетом всех
его особенностей.
обрабатывает события, возникающие в устройстве.
Драйвер является промежуточным звеном между программой и периферийным
устройством.
Тестовые программы запускаются на выполнение при включении компьютера.
Они проверяют наличие необходимого оборудования и его исправность и
передают управление на программу начальной загрузки. Так, например,
Вам не удастся запустить компьютер без видеоадаптера.
Дальше будет небольшое лирическое отступление, которое может быть
полезно тем, кто не имеет опыта работы с "железом" своего собственного
компьютера.
Итак, друзья, если вам приспичило поковыряться внутри системного блока
(сменить процессор или ту же видеокарту) будьте готовы к тому, что при
очередном включении экран монитора останется черным и ничего работать
не будет.
Это хорошо известное явление, но часто новички не успевают с ним
познакомиться - сразу волокут компьютер в сервис, думая, что сгорел
процессор или еще чего-нибудь такое. Вам конечно с радостью поменяют
процессор, непременно на более мощный (чтоб было с доплатой).
А дело может оказаться вовсе не в сгоревшем процессоре. Такое
случается, если видеокарта стоит в слоте не плотно, криво, короче,
где-то нет контакта. Надо просто вставить плату нормально и закрепить
ее винтом в соответствующем месте. Также "черный экран" бывает, когда
неправильно (наоборот) подключен шлейф к винчестеру. О таких вещах
лучше меня расскажет Сергей, ведущий рассылки "Скорая Компьютерная
Помощь"
(http://subscribe.ru/catalog/comp.hard.skp),
ну а мы
продолжаем...
Помните, тестовые программы Вашего BIOS всегда на посту! POST - Power On Self Test, так это, вроде, называется.
Программа начальной загрузки (мы все еще в BIOS) получает управление,
т.е. запускается после теста оборудования. Эта программа не привязана
к какой бы то ни было операционной системе. Единственное, что она
делает - загружает в память системный загрузчик (SB) из определенной
области системного диска. Именно потому что эта область четко
определена имеется возможность загружать любую ОС, созданную для ПК.
Программа начальной загрузки еще называется первичным загрузчиком.
SB - вторичный загрузчик. Он зависит от той ОС, которую должен
загружать.
Модуль расширения BIOS является надстройкой над BIOS и выполняет
следующие задачи:
организацию интерфейса с BIOS;
логическую замену драйверов, хранящихся в BIOS;
подключение новых драйверов.
Необходимость замены драйверов и подключения новых возникает при
изменении состава периферийных устройств или при использовании
имеющихся устройств нестандартным образом.
Драйверы могут находится в самом модуле расширения BIOS или в
отдельных файлах. В первом случае они называются внутренними, во
втором - внешними. Указания на подключение внешних драйвером находятся
в файле CONFIG.SYS.
Внешние драйверы существуют для устройств, которые используются не на
всех машинах. Например, драйвер CD-ROM. Понятно, он не нужен тому, у
кого нет соответствующего дисковода.
Базовый модуль ДОС - это центральный ее компонент, реализующий
основные функции по управлению всеми ресурсами компьютера и
выполняемыми программами. Управление периферийными устройствами
выполняется на более высоком уровне, чем посредством драйверов, путем
организации обращения к последним. Именно здесь обеспечивается
функционирование файловой системы. Базовый модуль содержит в себе
огромное число функций, доступных прикладным программам.
Модуль расширения BIOS, драйверы и базовый модуль ДОС находятся в
памяти резидентно, т.е. постоянно.
Командный процессор или интерпретатор команд отвечает за поддержку
пользовательского интерфейса (еще бывает программный интерфейс) ДОС.
Он выполняет следующие задачи:
воспринимает команды ДОС, вводимые пользователем с клавиатуры;
выполняет часть из них, называемых внутренними;
обрабатывает командные файлы;
загружает программы в оперативную память для выполнения;
реагирует на Ctrl-Break и выполняет некоторые другие функции,
дополняя базовый модуль ДОС.
Если на системном диске имеется файл AUTOEXEC.BAT, то
при загрузке ДОС
командный процессор его интерпретирует (выполняет содержащиеся в нем
команды). В данный файл включаются команды, которые иначе надо было бы
вводить при каждой загрузке. Это, например, запуск Нортона, настройка
переменных среды окружения, вроде PATH или BLASTER.
Командный процессор выполняет в основном роль оболочки. DOS
предоставляет возможность замены командного процессора на любую другую
оболочку.
Командный процессор состоит из следующих модулей:
резидентного модуля, постоянно хранящегося в памяти после запуска
ДОС. Этот модуль выполняет ряд функций, дополняя базовый модуль ДОС.
Также он содержит код (программу) подзагрузки транзитного модуля;
модуля инициализации, выполняемого при загрузке ДОС и затем
затираемого (в памяти) другими программами;
транзитного (нерезидентного) модуля, который в памяти может
перекрываться выполняемыми программами, а затем восстанавливаться
путем считывания с диска, при необходимости. Этот модуль содержит
интерпретатор внутренних команд ДОС и загрузчик программ в оперативную
память для выполнения. В качестве внутренних выбраны наиболее
употребимые команды ДОС, чтобы они были всегда в памяти и, тем самым,
быстрее выполнялись (например, команда DIR).
Прежде чем перейти к последнему компоненту ДОС - внешним утилитам,
хочу обсудить один вопрос, потерявший свою актуальность с появлением
Windows 95, но по прежнему актуальный для тех, кто использует чистый
ДОС. Это упоминавшаяся выше возможность замены оболочки.
Сегодня я не говорил ничего о файлах, в которых хранятся компоненты
ДОС, чтобы не вносить путаницу, итак, наверное, много непонятного. Но
кое-что скажу сейчас. Стандартный командный процессор ДОС, ее оболочка
хранится в файле COMMAND.COM. Когда говорят "заменить
оболочку"
понимают "заменить COMMAND.COM на какой-нибудь другой файл". Абсолютно
любой. Только Вам самим придется думать, как и какие команды будет
обрабатывать Ваша новая оболочка. Помню, когда я узнал о возможности
замены оболочки, я написал свою. Тогда у меня не было почти никаких
знаний о программировании, поэтому моя оболочка ничего не умела
делать, только выдавала свое название в ответ на команду VER
и
"Unknown command" в ответ на любую другую команду :-)
Благодаря этому
опыту (который рекомендую проделать всем мало-мальски опытным
начинающим программистам) я совершил огромный прорыв в понимании
модульной структуры операционной системы и вообще программного
обеспечения. Так, люди, которые подобного прорыва для себя не
совершили до сих пор пор считают Нортон Коммандер или Windows Explorer
собственно операционной системой. Это всего лишь оболочки, друзья. Их
можно и нужно (хотя, на вкус и цвет ...) сменить на другие.
... Прочь эмоции ... Зачем менять оболочку? Чтобы получить
дополнительные функции или не дополнительные, а просто очень нужные,
но которых в COMMAND.COM нет. Здесь далее будем рассматривать машины
по каким-либо причинах работающие под ДОС.
В сою оболочку можно встроить парольную защиту для доступа к системе.
Можно встроить калькулятор, можно встроить какие-то специфические
команды по управлению нестандартными периферийными устройствами,
например, роботами. Если компьютер выполняет какую-то одну задачу,
например, это кассовый аппарат, в качестве оболочки можно использовать
специальную программу "Касса", которая будет вести базу данных по
покупкам, печатать чеки и т.п. Понятно, такую кассу можно сделать на
базе компьютера с очень древними процессорами, типа 8086, используя
таким образом морально устаревшую технику. В случае с кассой, конечно,
можно написать специализированную операционную систему, но это
потребует более квалифицированных специалистов.
Кто надумает делать такие кассы, помните, что идея моя. Шучу :-) По
слухам, достигшим меня, такие кассы уже давно существуют. Если Вы не
программист и не можете написать для себя оболочку, можете выбрать из
уже написанных. Раньше их было много. Приведу один пример. В комплект
Norton Utilities for DOS входит оболочка - заместитель
COMMAND.COM.
Она находится в файле NDOS.COM.
Данная оболочка имеет много чего интересно (для тех, кто понимает).
Вот некоторые отличия от стандартной оболочки:
имеется встроенная история команд (нет необходимости использовать
для этого DOSKEY);
добавлена куча переменных среды окружения, котоые позволяют узнать,
например из bat файла, тип процессора, размер свободной памяти, дату,
текущий каталог, имеется ли мышь, тип видекарты и много еще чего;
поддерживаются псевдонимы (aliases), когда группе команд
присваивается имя, типа как bat файлы, только находятся в памяти и
выполняются быстрее;
сильно расширены возможности bat файлов, за счет добавления новых
команд. Теперь можно: рисовать окошки (разноцветные:-), ждать от
пользователя нажатия определенной или любой клавиши, организовывать
условные ветвления, использовать подпрограммы, и т.п.
Это была информация для опытных. Но, я хочу, чтобы все об этом знали,
т.к. скорее всего к этому вопросу мы больше возвращаться не будем.
Заканчиваем разбираться со структурой ДОС. Остались утилиты.
Утилиты ДОС обеспечивают выполнение внешних команд ДОС. Они называются
внешними потому, что реализуется отдельными программами, а не
командным процессором. Внешние команды дополняют пользовательский
интерфейс. В общем случае любая программа может быть названа внешней
командой. Но обычно так называет небольшие программы - утилиты,
выполняющие одну, конкретную задачу. Вместе с ДОС поставляется ряд
необходимых внешних команд (в случае с Winndows 9x, они находятся в
каталоге windows\command). Например,
это SYS, ATTRIB, SUBST. Они
хранятся в файлах SYS.COM, ATTRIB.EXE
и SUBST.EXE соответственно.
Также к внешним командам можно отнести ARJ (ARJ.EXE),
BE
(BE.EXE из
пакета Norton Utilities), _SWAV (написана мной для
каких-то моих
целей) и другие.
Позвольте на этом разговор о ДОС закончить. На сегодня.
ОКРУЖЕНИЕ
Сегодня хочу представить еще одну рассылку, которая может быть вам
полезна. Кому-то сейчас, кому-то в будущем.
Рассылка, посвящена трюкам, хитростям, и просто отдельным вопросам
Visual Basic . За последние пару лет VB приобрел
популярность и в
России. Все больше людей начинает его изучать и применять на практике.
Есть книги, посвященные этому языку, и неплохие при том, однако чтение
учебника не заменит реального опыта. Эта рассылка освещает отдельные
аспекты программирования на VB. Так что если вы имеете какое-либо
отношение к Бейсику - вам сюда:
http://subscribe.ru/catalog/comp.prog.visualbasic/
HTML редакторы
Если кому то не нравится Блокнот, то я очень рекомендую редактор
BRED2, который можно найти на ЛИСТ-СОФТЕ
(http://www.listsoft.ru/programs/pr840.htm
).
Преимуществ у редактора
море: подсветка HTML-тэгов, перекодировка win-dos-koi8 и еще много
всего. Вес программки всего 70kb.
Всего....
Возможность работы с пользователями различного уровня
подготовки(Easy, Expert, Hardcore, Normal).
Hot keys для вставки тегов.
Удобный выбор цветов (RGB).
Возможность просмотра набранного текста в различных браузерах не
выходя из редактора или даже самим редактором.
Весит он 4Mb.
Евгений
От ведущего рассылки: На время прохождения нашего курса "HTML
от А до
Б" я настоятельно советую пользоваться только
Блокнотом или ему
подобным редактором без каких-либо средств "автоматизации". Фотографии
нарушителей будут размещены на сайте в разделе "Карикатуры"
;-)
Литература
Я держу в своих руках книгу известного американского программиста и
преподавателя Алена Голуба
"C&C++. Правила программирования". Это
достаточно необычная книга, если и есть еще подобные, то я их не
встречал. Эта книга не научит Вас как использовать ту или иную функцию
Си, она предназначена для уже умеющих программировать. Но зато Вы
научитесь писать грамотные программы, которые будет легко читать,
сопровождать и модифицировать не только Вам, как автору, но и другим
программистам, например, из штата заказчика. Использование правил из
этой книги поможет Вам избежать многих ошибок еще на этапе
проектирования. Этому вопросу автор уделяет внимание, начиная с первой
главы, которая так и называется "Процесс проектирования".
Надо
сказать, что, хоть, в названии книги и присутствует Си, добрая
половина всех правил применима и к другим языкам или вообще является
независящей от конкретного языка. Вот, некоторые из таких правил, на
первый взгляд кажущихся очевидными:
"Не решайте проблем, которых не существует"
"Не путайте легкость в изучении с легкостью в использовании"
"Читайте код"
"Вовлекайте пользователей в процесс проектирования"
Автор, в отличии от меня, не ограничивается только перечислением
правил - каждое правило это параграф книги, где оно демонстрируется на
понятных, иногда забавных, но всегда конкретных примерах из реальной
жизни.
В тот день я совершенно не ожидал найти подобную книгу. Просматривая
полки магазина, я видел множество (и это еще мягко сказано) книг и
даже не знаю как натолкнулся на эту жемчужину (о, да!).
Достаточно
компактная 272-страничная книжка, выпущенная
издательством
"Восточная
Книжная Компания", внешне не производит особого впечатления. Но
внешность порой обманчива, это, как раз, такой случай! Рекомендую
срочно обзавестись экземпляром книги всем начинающим программистам,
так как имеется один грустный момент. "Правила программирования"
были
изданы в 1996 году и не факт, что будут переиздаваться. А хотелось бы,
ведь одиннадцатитысячного тиража на всех не хватит.
Нас уже почти
столько и, к сожалению, не каждый подписчик имеет экземпляр "Правил.."
Алена Голуба. Это было "грустное", но есть еще и "удивительное".
Удивительная у этой книги... цена. ВСЕГО ОДИННАДЦАТЬ РОССИЙСКИХ
РУБЛЕЙ
!!! Нет, мне не понять книготорговцев никогда. Куда менее
информативные, полезные и менее объемные книги стоят в несколько раз
дороже. Может это остатки тиража? Не знаю, не спрашивал, просто купил
книгу и ушел. Надо будет вернуться и купить еще.
Содержание книги (только главы):
Глава 1. Процесс проектирования
Глава 2. Общие проблемы разработки программ
Глава 3. Форматирование и документация
Глава 4. Имена и идентификаторы
Глава 5. Общие правила программирования
Глава 6. Препроцессор
Глава 7. Правила, относящиеся к языку Си
Глава 8. Правила программирования на Си++
Глава 8 включает 9 подглав, посвященных разным вопросам
программирования на Си++.
ВОПРОСЫ И ОТВЕТЫ
Вопрос: У меня видеокарта S3, а как известно, чтобы
Delphi работал с
такой видеокартой, надо аппаратное ускорение сделать меньше или совсем
убрать. И есть еще второй способ: надо добавить строку(какую не помню)
в win.ini. Может вы знаете какую, а то без аппаратного ускорения
неудобно :-) Спасибо. До свидания.
Ответ:
Хочу помочь людям. Так вот, чтобы Delphi работал с видеокартой от
S3, нужно в реестре в раздел
[HKEY_CURRENT_CONFIG\Display\Settings]
добавить строку "BusThrottle"="on"
Не забудьте после изменений перезагрузить компьютер!
Delphi нормально работает, хотя у меня из-за этого иногда виснет комп
при завершении работы компьютера (выключение). Поэтому когда не
работаю с Delphi, то приходится удалять этот ключ. Но попробуйте -
может у вас всe: будет ОК!
Best regards,
Dmitry
Пришло еще несколько писем с советами обновить драйверы видеокарты,
обновить версию Delphi и т.п.
Спасибо, Дмитрий!
Друзья, другие ваши вопросы (по HTML) я вынес в следующий выпуск,
который, надеюсь, не заставит себя (меня и вас) долго ждать. К
сожалению, должен сказать, если я не решу проблему с доступом к Сети,
то рассылку придется прикрыть на лето. Предупреждаю заранее, т.к. если
это случится, я не смогу дать соответствующее объявление.
ЗАКЛЮЧЕНИЕ
Голосование продолжается, итоги подведу в следующем выпуске. Кому
интересно, можете посмотреть текущее состояние. Диаграмма в виде gif
картинки находится здесь:
http://stacmv.i-connect.com/vote0000.gif.
Лидирует цвет рубрики ОКРУЖЕНИЕ
Сегодня мы обсудили несколько важных вопросов. Надеюсь у вас в голове
что-нибудь осталось:-) Я много еще чего хочу и могу вам рассказать, но
хотелось бы, чтобы это было не напрасно. Так как не ради галочки...