MidAsm

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: MidAsm

Сообщение Alex2013 » 12.03.2016 17:38:32

:arrow: Внезапно ! появилась версия 9.4.1
Даже сам не ожидал ... :D
Архив содержит бинарник и сопутствующие файлы ...
Исходники будут чуть позже с комментарием .

Очередная версия технологического макета ...
ИзображениеИзображение

Добавлено спустя 6 часов 2 минуты 43 секунды:

Продолжение истории «Я и мой загадочный виндовс »...
Раздел "Тайны Лазаруса" … :wink:
И так как я уже писал есть идеи использования полезного опыта из МА_RED в пакете WEB 2
Но как обычно выясняется что «гладко было на бумаге, да забыли про овраги... »
Первое с чем столкнулся при подъеме проекта из "глубоких архивов" проблемы с «белым квадратом Малевича » то есть с перерисовкой PaintBox в новой версии Лазаруса ну ладно я не гордый пару раз вызвать перерисовку рабочего поля не проблема …

Вот тут и начала появятся новая сборка !

Дальше потыкавшись помыкавшись отказался от «инструментального подхода» к смене цветов …
А чуть позже устроил переезд с древней DLL (еще с седьмого дельфи ) скриптового движка на встроенный в новые версии Лазаруса PascalScript …

И все бы замечательно но … Задумал я добавить новые инструмент...
первое что пришло в голову «Строго вертикальные» и «Строго горизонтальные линии»
Что может быть проще? Ага … Выкинул одну координату из скрипта прорисовки линии …
Но нормально НЕ РИСУЕТ !... вообще дурью маялся долго и довольно нудно (к тому же как выяснилось позабыл многие тонкости устройства программы ) но все же глюк победил …

И тут заметил что у меня вызов скрипта «сборки команды» случайно скопирован два раза …
Убираю …и в якобы «строго горизонтальные линии» вылезет «тень отца Гамлета» КОСАЯ линия причем именно на стадии генерации команды …
Пока так и не понял в чем дело и «лишний вызов» оставил «как есть».

Но какого черта это происходит вообще ? :idea:
Как может повторный вызов скрипта влиять на результат ?
Это прямо какой-то «призрак в опере»...


Код: Выделить всё
//Реакция на нажатие кнопнок мыши
//на рабочие поле
procedure TRF1.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);

Var
   Ind:Longint;
   SCR,S:String;

begin

IF CurPT<>Nil Then Begin
  Ind:=TPanel(CurPt).HelpContext;
  If (Button= mbLeft) or (Button= mbRight) then begin
   If Fa=1 then  begin Panel1.Enabled:=False; OPStr:=''; end
   else Ft:=True;

    if DrawList = Nil then DrawList:=TStringList.Create;
  With ArTools[Ind] do begin

// Цвета в запись ...
  CurC:=Shape1.Brush.Color;
  CurB:=Shape2.Brush.Color;


  SetParam('FA',IntToStr( FA ) );
  SetParam('X',IntToStr( X ) );
  SetParam('Y',IntToStr( Y ) );
  SetParam('OPSTR',OPStr );
  SetParam('CLR',IntToStr(CurC) );
  SetParam('BCLR',IntToStr(CurB) );
   SCR:=LoadStr(InputSCR);

// Непонятно ! Но почему-то нужно двухкратное выполенеие скриптов ...
   rf1.PSScript1.Script.Clear;rf1.PSScript1.Script.Text:=SCR;
   rf1.PSScript1.Compile ; rf1.PSScript1.Execute  ;

   rf1.PSScript1.Script.Clear;rf1.PSScript1.Script.Text:=SCR;
   //Компилятция  скрипта
   If not  rf1.PSScript1.Compile then begin
     ShowMessage('Синтаксическая ошибка (ввод операции)');
    exit;
   end else
   If not  rf1.PSScript1.Execute then  begin  msg('Ошибка выполнения (ввод операции)');
     exit;
   end
   else begin
        OPSTR:=GetParam('OPSTR');
       end
     end;

fa:=0;
end ;


  If Button= mbRight then
if FT then
   begin
     Fa:=1;
     Ft:=false;
     Panel1.Enabled:=True;
    CurCanvas:=Self.PaintBox1.Canvas;
   DRW_SETPenColor(CurC);
   DRW_SETBrushColor(CurB);

     DrawFig(-1,opstr);
     DrawList.Add(Opstr);
     if ul<>NIL then ul.Clear;
     Opstr:='';
  Listbox1.Clear;
  Listbox1.Items.Text:=DrawList.Text;
   end
  end
end;


:arrow: 9.4.1.7z Обещанный исходник целиком
Зы
Пока писал почти догадался в чем может быть дело ...
... SetParam('OPSTR',OPStr ); а в скрипте возврат идет точно также ...
...но откуда косая линия появляется и почему только при сборке команды «строго горизонтальной линии» ?
Последний раз редактировалось Alex2013 16.03.2016 08:24:48, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: MidAsm

Сообщение Alex2013 » 14.03.2016 01:10:56

Версия 9.4.2 ...а вот просто так ! взял и сделал ...
...в поисках ответа на загадочное поведение наверное .
Вообщем что хорошего ! :idea:
Добавил в будущем важную функцию "Сдвиг" (теперь стрелками можно двигать последний вставленный элемент, причем сделал через парсиниг уже веденной команды )...
+ добился лучшего понимания всей забытой уже "тонкой механики" .

Но странность осталась ... (пусть и исправленная "методом научного тыка" но ясный пень это "не есть хорошо" :roll: )
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: MidAsm

Сообщение Alex2013 » 16.03.2016 07:40:15

Вот уж увлекся ...
(Хотя если честно просто ситуация сложилась, что часа 3-4 оказались свободными, а чтобы начинать полностью новый проект, мне обычно нужно иметь в запасе хотя-бы полные сутки )
ИзображениеИзображение

Но думаю, что эта версия в этом "сезоне сериала МидАсм-Ма_РЕД " предпоследняя ..
( надо будет доделать вывод текста и почти готовую библиотеку "клип-арта")

Без этого проект даже на консервацию ставить стыдно...

:arrow: Версия 9.4.2.3

Что интересного: поправил "сдвиг" и добавил интересный инструмент ... "Демо 3Д Куб" ...
Неплохо для демонстрации возможностей создания скриптов для новых инструментов ...

Но эта ветка разработки задумана в основном как "наработка ценного опыта" так, что в ней изначально очень много халтуры ...
Хотя идеи содержит довольно довольно полезные . ( И я думаю не только для меня.. )
Последний раз редактировалось Alex2013 21.03.2016 04:06:17, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: MidAsm

Сообщение Alex2013 » 19.03.2016 14:46:22

ИзображениеИзображение
Ну все теперь еще добавить нормальный "клип арт" и можно мариновать то бишь "консервировать" ... :wink:
Как видно из скриншота добавил возможность создавать инструменты использующие текст или команды
Пока просто надписи с возможностью менять шрифты !
+ много чего поправил и "зафиксировал " ..

:arrow: 9.4.2.5
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Re: MidAsm

Сообщение Alex2013 » 21.03.2016 03:35:29

И так версия :arrow: 9.2.4.7
Не так чтобы глобально изменилась однако ...

ИзображениеИзображение


9.4.2_6 КлипАрт(Библиотека элиментов ) + Дублирование последней фигуры ..
9.4.2_7 Добавил иструмент CMD_Text (Вставка команды) + Ифарструктра для его фукционировния
+ заработал список команд ( Клик левой кнопки мыши сбрасывает в строку команду в строку
Ctrl+клик правой кнокой мыши меняет значение в списке на содержимое текстойвой строки ...
+ Фокус на строке блокирует нажатия стрелок в редакторе ( Таб для снятия фокуса )

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

Вообщем проект с чистой совестью уходит на полуконсервацию ... :idea:
По мелочи буду точить но есть куда более срочные дела ......

Простор для создания инструментов уже сейчас завораживает .(в качестве примеров достаточно скриптов что я написал )
Но многое не оптимизировано ... Интерфейс как был "демо" так и остался + Сугубый Канвас Карл ! (с проистекающими из этого факта последствиями ) но вложенный в проект ТРУД уже чувствуется !
Alex2013
долгожитель
 
Сообщения: 2922
Зарегистрирован: 03.04.2013 11:59:44

Пред.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

Рейтинг@Mail.ru