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

Новости сайта "Системное Программирование"


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Новости
Добавить в избранное | Стартовая страница
Новости сайта Системное программирование

Новости сайта "Системное Программирование"


Новое на сайте

"Ассемблер? Это просто! Учимся программировать (88 Кбайт) - первые 10 выпусков"

Наши выпуски будут строиться следующим образом:

ответы на часто задаваемые мне вопросы;

дополнения ваших заметок, примеров, алгоритмов и пр.

объяснение новой темы;

примеры программ на Ассемблере;

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

Вы уже сможете самостоятельно написать простую программу после прочтения первого выпуска. Я надеюсь, что изучать язык будет интересней, если мы сразу перейдем к практической части, изучая параллельно теорию. Попутно отмечу, что мои выпуски рассчитаны, как правило, на людей, которые ни разу не писали программы ни на Ассемблере, ни на каком-либо ином языке программирования. Конечно, если вы уже знакомы с Basic, Pascal, C или каким-либо иным языком, то это только на пользу вам. Все новые термины будут подробно объясняться.

Что конкретно будем изучать.

Я считаю целесообразным начинать обучение с программирования на Ассемблере под DOS. После этого перейдем к Windows.

Рассмотрим подробно двоичную и шестнадцатеричную систему счисления (это не совсем интересно, но надо в обязательном порядке), команды процессоров 8086, 80286, 80386, 80486 и Pentium (по многочисленным просьбам также сопроцессора), сегментацию памяти, XMS/EMS память, видеобуфер, VGA/SVGA-режимы, клавиатуру, работу с дисками, каталогами и файлами (как с короткими именами, так и с длинными), FAT, порты ввода-вывода, CMOS-микросхему, BIOS, принтер, модем, научимся оптимизировать программы и многое-многое другое Не обойдем стороной и технический английский язык, т.к. операторы Ассемблера это сокращения английских слов.

"Что такое "технология COM" и как с ней бороться? (49 Кбайт) - Первые 10 выпусков"

Итак, «технология COM». Аббревиатура COM расшифровывается просто, это - Component Object Model - компонентная объектная модель. Иногда говорят и «модель COM». Сутью данной технологии является то, что программы строятся из компонент, которые состоят из объектов. Само по себе это обстоятельство не является последней новостью в области программостроения - модульная архитектура и объектно-ориентированный подход к построению программ давно являются признанными стандартами de facto. Новостью является то, что является этими компонентами и объектами - ими является непосредственно исполняемый двоичный код. Да-да, не «включаемые исходные тексты» компилируемые совместно с проектом, не «библиотеки стандартных программ», присоединяемые линкером, а непосредственно исполняемые файлы, которые никак не надо «связывать» со своим проектом - их достаточно зарегистрировать в операционной системе и они будут доступны любой программе исполняющейся на данной машине. Т.е. их использование в своей программе производится «без использования операций сборки модуля».

Это ли новость? Такая технология называется «динамическая загрузка», она давно известна и её преимущества очевидны. А модули, которые позволяют загружать себя таким образом, называются DLL. И в системе, именуемой Microsoft Windows такая технология известна от самого её рождения... А DLL и есть тот самый «двоичный исполняемый модуль», который может быть присоединен к программе лишь на стадии её выполнения.

"Эффективное использование С++. Создание классов-оберток для стандартных типов данных" - Visual C++

Большое распространение технологии COM и повальное увлечение всех начинающих программистов языками программирования высокого уровня (я имею ввиду Visual Basic & Delphi), приводит к тому, что в массовом сознании закрепляется твердое убеждение, что те средства, которые используются в данных технологиях и языках, является единственно верными и правильными. А что происходит, когда программист "взрослеет"? Он, в погоне за новыми возможностями, устремляется к другим языкам, например к C++. Но тут оказывается, что в этом языке нет привычных ему средств или их реализация не лежит на поверхности. Как всегда в программировании нет времени на детальное изучение возможностей языка (печально, если оно так и не появляется) - программу надо сдать завтра в 8 утра и не часом позже. Вот так и начинается повторное изобретение велосипеда.

"Как задать минимальный и максимальный размер окна?" - Visual C++

Когда пользователь изменяет размеры окна, Windows сама запрашивает у программы минимальный и максимальный размеры, посылая окну сообщение WM_GETMINMAXINFO. При этом впараметре lParam размещается указатель на структуру MINMAXINFO, в которую и следует записать нужные значения. Затем нужно вернуть 0. Рассмотрим пример обработки сообщения WM_GETMINMAXINFO, при котором размер окна не может быть сделан меньше (100x100) и больше (300x300).

"Динамическое создание компонентов" - Delphi

Иногда заранее не известно количество компонентов. Поэтому в Delphi есть возможность создать их из программы. Для этого достаточно вызвать конструктор Create, установить нужные свойства и события. А для появления компонента на экран нужно установить свойство Parent.

При нажатии на левую кнопку мыши эта программа создает Button, а при нажатии на правую - Panel. Причем компоненты создаются там, где находится мышь. Если Вы нажали на Panel1, то компонент появится на Panel1.


Новый уникальный в своем роде Спецпроект. Все давно известно, что главная головная боль программиста - это не как писать, а что писать, тоисть просто нет темы. Этот проект призван решить эту проблему. Суть его следующая. Почти у каждого программиста есть куча тем до написания которых просто не доходят руки или не хватает знаний, времени или просто не хочется. В то же время почти все программисты мучаются, что бы такого написать интересно.
Все сводится к простому письму по этому адресу, в котором Вы указываете все, что только приходит Вам в голову хорошее, плохое, не интересное, трудное. Все!!! Из этого списка выбираются наиболее лучшие идеи и публикуются на первой странице сайта. Где они доступны всем. Авторство на сайте гарантируется ну а уже самих программ остается положиться на честность программистов, где хотелось бы и не потерять ссылку на наш сайт

А вто и первые результаты:

1. Программа, которая рисует японские кроссворды. Но, желательно, сделать не простым перебором, а придумать какой-нибудь хороший алгоритм, чтобы цветные рисунки, приблизительно 1000x1000, рисовались не слишком долго.
Дмитрий.
2. Программа, которая бы конвертировала программу, написанную на Паскале в Си. Я понимаю, что создать работающую программу на Си не удастся, но хотя бы избавиться от рутинной работы.
Павел.


Лучшее на сайте

Лучшая статья: Delphi и ресурсы компьютера.
Лучший учебник: Книга Б. Страуструпа


Новые ссылки

Примеры программирования на Visual C++ Книги, примеры, форумы, ссылки.


Нам будет приятно если Вы установите код нашей кнопки

<A HREF="http://www.iatp.kharkov.ua/sites/program/index.htm">
<IMG SRC="http://www.iatp.kharkov.ua/sites/program/images/baner.gif"
ALT=" Сайт Системного Программиста" BORDER=0 HEIGHT=31 WIDTH=88></A>


По всем вопросам и с любыми предложениями Вы можете обращаться по адресу


http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное