À
LiveJournal
Links

Как и у любого программиста, со временем у меня накопилось немало наработок, которыми не жалко поделится.

Mbus

Попытка создания простой программной шины воплотилась в маленькой библиотечке под названием Mbus (тобишь My Bus). Она содержит два основных класса: input (для ввода данных) и output (для вывода). Всё необходимое для её работы содержится в файле mbus.h (floopy disk 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).

floopy disk
ZIP архив (26 kB).

Анализатор Алгоритмов

Экран с запущенной программой

Чтобы понять что это за программа достаточно цитаты из её описания "Это программа предназначенная помочь изучающим алгоритмы. Для достижения этой непростой цели алгоритмы можно рассматривать в разных представлениях: в виде учебного алгоритмического языка, на одном из настоящих языков программирования, в виде блок-схемы." Более подробно про программу рассказано в этой статье. К сожалению на данны момент проэкт крепко накрепко заморожен. В обозримом будущем его возрождение не предвидится.


Micro Editor V1.0

1996 год. Глубокий ДОС. Каждый, ну просто решительно каждый программист должен написать в своей жизни хотя бы один текстовый редактор. А в тяжёлых случаях несколько радакторов. Первая (на самом деле приблизительно третья :) версия моего редактора имела такой вид.

Экран с запущенной программой

По возможностям работы с текстом он получился скромным. Зато какова экономичность! Вынесенный в название программы минимализм был основным руководящим принципом при написании кода.

Удобство работы? Нет!

Количество наворотов? Нет!

Быстродействие? Да!

Потребление памяти? Oh yah! Das ist fantastish!

Кому интересно, можно ознакомится. floopy disk 2 Архив RAR. 11 kB (я горжусь рамзмером этого редактора :)


Micro Editor V2.0

1997-98 годы. В этой версии я сосредоточился на красоте интерфеса (насколько это возможно в текстовом режиме :). Кроме того не давала покоя многооконность других текстовых редакторов. А ещё все возможности библиотеки Turbo Vision. А ещё управление с помощью мыши. А ещё подкачка с диска. А ещё встроенный калькулятор и буфер обмена. А ещё, а ещё...

Как всегда, переписал всё заново.

Экран с запущенной программой

Кому интересно, можно ознакомится. floopy disk 2 Архив RAR. 24 kB


Micro Editor V3.31

1998-2000 год. Недостатки предыдущих версий не давали покоя. Не хватало некоторых наворотов. Появились новые потребности.

Решил, по своему обыкновению, переписать всё заново. Теперь изначально в редактор заложена поддержка файла подкачки (в ДОСе :), до десятка окон, неограниченные длины строк, размеры абзацев и текста в целом. Печать на матричном принтере, сохранение в HTML, зачатки работы с кодировками и языками. Ну просто масса мелких феничек "для себя".

Экран с запущенной программой

В этой версии редактора написано немало: Информационное общество, Большая часть текстов в столе, другие, пока неопубликованные, опусы.

Кому интересно, можно ознакомится. floopy disk 2 Архив RAR. 36 kB (размер, конечно, побольше чем у старых версий, но всё равно далеко не мастдай :)



Поиск
Отзывов
>>0<<
Добавить