Mail.RuПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискВсе проекты

Подскажите программу для создания блок-схем по коду Pascal

Знаток (322), закрыт 7 лет назад
Лучший ответ
Данная программа была разработана Захаркиным Дмитрием otkdmitriy@mail.ru
Сайт программы : http://www.dmitriyo.narod.ru/
Там вы всегда сможете узнать о новых версиях программы и скачать обновление
программы.

Предназначена для построения Блок-схем по готовому коду.
В вкратце как пользоваться:
Можно из модуля *.pas залить все функции процедуры которые там есть
(фай-> открыть *.pas)
Выбрать в ручную интересующие или выбрать все (кнопка с галочкой) и жать на
"Схема" два раза если выбрана опция "предпросмотр" (кода) или один раз если
выбрано "построить сразу". Или кнопку "пропустить" если те не раздумалось
строить блок-схему по данному коду. Можно вернуть пропущенный код нажав
кнопку со стрелочкой "назад". Зафиксировать процедуру нажав в контекстном
меню "зафиксировать (*.pas)И работать с ней. Продолжить работу с PAS нажать
"Продолжить (*.pas)" в контекстном меню.
Второй способ свернуть ее в трей. И во время написания кода скопировать его в
буфер обмена. И щелкнуть правой кнопкой мыши на иконке в трее или выбрать из
контекстного меню "диаграмма".
Также можно загрузить код из ранее сохраненного файла *.txt.
В данной версии появились возможности строить диаграммы в цвете и изменять
размеры блоков
См. "Настройки" в меню "Файл".
Еще ДОБАВЛЕННА возможность получения подсказок на линиях соединения.
Т.е. если соединение слишком длинное и вам не видно начального его условия
то достаточно КЛИКНУТЬ левой кнопкой мыши на линии соединения и тут же
появится
окошко с подсказкой вида и условия соединения.
А также теперь можно строить длинные диаграммы связанного кода
Если длинна Блок-схемы превысит МАХ установленную в настойках то
сначала построится 1 часть Блок-схемы После ее просмотра или печати
щелкните правой кнопкой мышки на Блок-схеме и Нажмите меню "Далее"
Построится вторая часть Блок-схемы.
MAX длину выберите исходя из объема вашей оперативной памяти. В
настройках по умолчанию установлена длинна для 64 мб оперативки и Win 98.
ОСОБЕННОСТИ:
При построении блока CASE если условие было записано одной строкой типа
case a of
1: if a>b then a:=a+b;
Если вы хотите построить корректную Блок схему этого участка пишите так
case a of
1: begin
if a>b then a:=a+b;
end;
Иначе условие IF не отри суется
Печать:
Если у Вас установлено более одного принтера можете включить опцию
"Диалог выбора принтера" в настройках. Иначе печать будет идти на принтер
установленный по умолчанию.
НАСТРОЙКИ
В вкратце о настройках: "Сбросить графику в трее"- При сворачивании в трей
Очищает изображение Блок-схемы что высвобождает задействованные ресурсы
Оперативки.
Также в контекстном меню иконки есть такая же ф-ция "Очистить".
"При запуске в трей" - При запуски прога сразу сворачивается в трей.
"Цветная"- строит цветные блок-схемы.
"Диалог выбора принтера" - вызывает диалог выбора принтера если у вас
подключено более одного.
Размеры блоков- Устанавливает удобные для вас размеры логических блоков
все слова не умещающиеся в них будут переносится на новую строчку.
Кнопка "Вост стандарт" при нажатии восстанавливает значения по умолчанию
при повторном нажатии вост ручные настройки.
МАХ длинна- максимальная длинна Блок-схемы которую может вместить ваша
оперативка
При превышении длинны блок-схема будет строится по частям по выделенным не
связанным процессам
"<> соединения" - это расстояние между линиями соединения объектов
рекомендуемая величина 20.
"Добавлять комментарии"- добавляет комментарии в Блок-схему из кода.
Также вы множите Добавить/стереть комментарии в блок-схеме выбрав
соответствующий пункт в контекстном меню.
Чтобы стереть нажмите "Стереть" подведите курсор мыши в под комментарии
Нажмите левую кнопку и удерживая ее передвигайте курсор , надпись над
курсором будет стираться.
"Смотреть комментарии" перед внесением комментариев из кода в Блок-схему
множите посмотреть их удалить не нужные или добавить новые.
"Добавлять легенду" - добавляет в низу Блок-схемы блоки о
Остальные ответы
в смысле чтобы она это делала автоматически? т. е. на вход .pas на выход блок-схема? думаю такого нет...
можно обойтись обычным вордом, т. ж. есть специализированные проги по созданию блок-схем, но вот перевода кода в блок-схему, то тут уж извини, "подвинься"... (за отдельную плату возьмусь за разработку - мне много не надо, мало - сам не возьму, в пределах $100000 могём договориться ;-) )
А вообще, Visio рулит. Полезен даже для школоты, ибо есть макросы, генерирующие структуру по исходному коду.
unit Prihod;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, DBGrids,
Buttons,Tovars,Postavshiki,Chek,Rashod,Udm;

type

{ TForm1 }

TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
DBGrid1: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.ShowModal;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form3.ShowModal;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Form4.ShowModal;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
Form5.ShowModal;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
DataModule1.Report('Prihod.htm', DataModule1.SQLQuery1);
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
DataModule1.Report('Tovars.htm', DataModule1.SQLQuery2);
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
DataModule1.Report('Postavshiki.htm', DataModule1.SQLQuery3);
end;

procedure TForm1.BitBtn8Click(Sender: TObject);
begin
DataModule1.Report('Chek.htm', DataModule1.SQLQuery4);
end;

procedure TForm1.BitBtn9Click(Sender: TObject);
begin
DataModule1.Report('Rashod.htm', DataModule1.SQLQuery5);
end;

end.
Похожие вопросы
Также спрашивают