Как и у любого программиста, со временем у меня накопилось немало
наработок, которыми не жалко поделится.
Mbus
Попытка создания простой программной шины воплотилась в маленькой
библиотечке под названием Mbus (тобишь My Bus). Она содержит два основных класса:
input (для ввода данных) и output (для вывода).
Всё необходимое для её работы содержится в файле mbus.h
(
ZIP архив (3 kB).).
Для начала вывода данных достаточно создать экземпляр класса output,
задав в качестве аргумента имя файла-шины (это может быть любое незанятое имя).
После этого можно начинать посылать строки созданному объекту как в обычный поток вывода:
output outBus("mybus.dat");
outBus << "Hello!";
|
Для начала чтения из шины создаётся экземпляр класса input.
В качестве аргумента задаётся имя существующего файла-шины. После этого программа
может избрать одну из возможных стратегий чтения данных: ничего не делать,
ожидая новую порцию данных, или продолжать работу, время от времени проверяя
поступление новых данных. В первом случая всё просто:
input inBus("mybus.dat");
char data[128];
inBus >> data; |
Во втором случае нужно проверять наличие данных с помощью метода
lookForCommand():
input inBus("mybus.dat");
char data[128];
while(//условие
)
{
if(inBus.lookForCommand())
{
inBus>>data;
// обработка данных
}
// работа основного цикла программы
}
|
Diagram
|
|
Это простейшая программа для визуализации числовой информации в реальном
времени (почти :). Получает из коммандной строки имя файла-шины
(см. Mbus) и количество каналов данных. После этого она
начинает периодически опрашивать шину и по мере поступления новых данных
строить графики для каждого канала.
По оси X откладываются значения первого
канала, по оси Y значения остальных каналов. Например, если было задано 3 канала
A, B и C, то будут построены два графика B(A) и C(A).

ZIP архив (26 kB).
|
Анализатор Алгоритмов
|
|
Чтобы понять что это за программа достаточно цитаты из её описания
"Это программа предназначенная помочь изучающим алгоритмы. Для достижения этой непростой
цели алгоритмы можно рассматривать в разных представлениях: в виде учебного
алгоритмического языка, на одном из настоящих языков программирования, в виде
блок-схемы." Более подробно про программу рассказано в этой
статье.
К сожалению на данны момент проэкт крепко накрепко заморожен.
В обозримом будущем его возрождение не предвидится.
|
Micro Editor V1.0
1996 год. Глубокий ДОС.
Каждый, ну просто решительно каждый программист должен написать в своей жизни
хотя бы один текстовый редактор. А в тяжёлых случаях несколько радакторов.
Первая (на самом деле приблизительно третья :) версия моего редактора имела такой вид.
По возможностям работы с текстом он получился скромным. Зато какова экономичность!
Вынесенный в название программы минимализм был основным
руководящим принципом при написании кода.
Удобство работы? Нет!
Количество наворотов? Нет!
Быстродействие? Да!
Потребление памяти? Oh yah! Das ist fantastish!
Кому интересно, можно ознакомится.
Архив RAR. 11 kB
(я горжусь рамзмером этого редактора :)
Micro Editor V2.0
1997-98 годы. В этой версии я сосредоточился на красоте интерфеса
(насколько это возможно в текстовом режиме :). Кроме того не давала покоя
многооконность других текстовых редакторов. А ещё все возможности библиотеки
Turbo Vision. А ещё управление с помощью мыши. А ещё подкачка с диска.
А ещё встроенный калькулятор и буфер обмена.
А ещё, а ещё...
Как всегда, переписал всё заново.
Кому интересно, можно ознакомится.
Архив RAR. 24 kB
Micro Editor V3.31
1998-2000 год. Недостатки предыдущих версий не давали покоя.
Не хватало некоторых наворотов. Появились новые потребности.
Решил, по своему обыкновению, переписать всё заново. Теперь изначально
в редактор заложена поддержка файла подкачки (в ДОСе :), до десятка окон,
неограниченные длины строк, размеры абзацев и текста в целом. Печать на
матричном принтере, сохранение в HTML, зачатки работы с
кодировками и языками. Ну просто масса мелких феничек "для себя".
В этой версии редактора написано немало:
Информационное общество,
Большая часть текстов в столе,
другие, пока неопубликованные, опусы.
Кому интересно, можно ознакомится.
Архив RAR. 36 kB
(размер, конечно, побольше чем у старых версий, но всё равно далеко не мастдай :)