Вверх ↑
Этот топик читают: Гость
Ответов: 704
Рейтинг: 44
#1: 2012-09-17 21:19:26 ЛС | профиль | цитата
У меня вопрос к вам! Скажите реально прикрутить WPF к Hiasm? создать свой пакет?
карма: 0

0
Ответов: 5446
Рейтинг: 323
#2: 2012-09-17 21:26:54 ЛС | профиль | цитата
Kazbek17, скоординируйся с Nik-ом, попробуешь добавить поддержку WPF в пакет CNET (насколько я понял, без программирования всё равно не обойтись)
карма: 1

0
Ответов: 704
Рейтинг: 44
#3: 2012-09-17 21:32:15 ЛС | профиль | цитата
iarspider писал(а):
Где-то в Wiki были даже инструкции (правда, про FTCG)

Да я читал про FTCG.
iarspider писал(а):
Плюс есть куча пакетов, в которых можно "подглядеть" код.

А если точнее именно где? какой пакет. Они походу все на FTCG.
карма: 0

0
Ответов: 1841
Рейтинг: 370
#4: 2012-09-17 21:47:53 ЛС | профиль | цитата
Kazbek17, wiki -> HiAsm -> Пакеты -> Структура пакета HiAsm -> RTCG
карма: 1
1
Голосовали:Cosinus
Ответов: 704
Рейтинг: 44
#5: 2012-09-17 22:13:24 ЛС | профиль | цитата
CriDos писал(а):
wiki -> HiAsm -> Пакеты -> Структура пакета HiAsm -> RTCG

Ок. допустим я схаваю это синтаксис RTCG, далее а как компиляцию будет проводить hiasm, если
Visual Studio используется двухэтапный процесс компиляции приложений WPF. Первый этап — компиляция XAML-файлов в BAML. Например, если проект включает файл по имени Windowl.xaml, то компилятор создаст временный файл Windowl.baml и поместит его в подпапку objDebug (в папке проекта). В то же время для окна создается частичный класс с использованием выбранного языка. Например, если применяется С#, то компилятор создаст файл по имени Windowl.g.cs в папке objDebug. Здесь g означает generated (сгенерированный).
карма: 0

0
Ответов: 5446
Рейтинг: 323
#6: 2012-09-18 13:33:44 ЛС | профиль | цитата
Kazbek17, так нарисуй в пакете Windows схему, которая будет делать что надо (вызывать нужные компиляторы), и воткни её в качестве компилятора.
карма: 1

0
Ответов: 704
Рейтинг: 44
#7: 2012-09-19 08:33:39 ЛС | профиль | цитата
iarspider писал(а):
воткни её в качестве компилятора.

Легко говорить
У вас нет желания iarspider помочь. Хотя бы начало показа примерчика? А там я дальше сам буду разбираться.
Просто у меня понятие нет как через RTCG, FTCG пакет все это дело прикрутить. Я так понимаю нужно под RTCG, FTCG делать свою библиотеку делать для работы с WPF? Почитал FTCG tutorial и так не фига не понял, как с этим синтаксисом работать. Может кто знает хорошо RTCG, FTCG и сможет объяснить путем, дайте icq либо Skype, если конечно есть желание помочь .
карма: 0

0
Ответов: 5446
Рейтинг: 323
#8: 2012-09-19 11:34:26 ЛС | профиль | цитата
Kazbek17, желания нет. Примеров - туева хуча (Web, QT, wxMSW; CNET). Вся суть FTCG (и RTCG) - это формирование текста на целевом языке программирования. По сути, это последовательный вызов кучи println-ов, перемежающийся формированием строк для этого println-а. Никакую "библиотеку" делать не надо - надо всего лишь сформировать код (XAML + C#) построчно.
карма: 1

0
Ответов: 758
Рейтинг: 112
#9: 2012-09-19 13:08:25 ЛС | профиль | цитата
Kazbek17 писал(а):
Хотя бы начало показа компиляторчика?

Посмотри компилятор %HiAsm%/compiler/copyer.sha я на этом компиляторе делал пакета FreeBASIC
карма: 1

0
Ответов: 704
Рейтинг: 44
#10: 2013-01-04 18:00:47 ЛС | профиль | цитата
Добрый вечер всем! Решил я вчера заточить пакет WPF, посидел немного в Visual Studio, поковырял MsBuild для компиляции исходного файла для WPF, так вот, компилятор подготовил. Теперь значит решил сделать пакет WPF, все получилось, с визуализацией в Hiasm разобрался. Сижу пол дня и ковыряю FTCG, поковырявшись по форуму почитав wiki, по мне так кажется что проще выучить С++ или иной другой язык программирование, чем FTCG а про RTCG вообще молчу, темный лес, хоть все и говорят что смотри сторонние пакеты, это бестолку пока все по винтам разложишь, плюнешь и делать расхочется.

Так вот к чему веду суть. Уважаемые знатоки не могли бы вы мне объяснить каким образом работают блоки?
Например у меня существует форма EntryPoint в ней вот такой код
code_29944.txt
Далее создал компонент Button, вот код
code_29945.txt
В кнопке в коде есть функция func init(), я эту функцию вызываю через EntryPoint через команду sys.initall() для того что-бы вставить код кнопки без линковки. Теперь объясните пожалуйста, как передать другие компоненты в главную форму т.е код компонентов, какой метод еще существует? Скажите пожалуйста Если я зарегал блоки в одном компоненте, могу ли я из другова компонента вызвать этот блок и вставить код? Например в главной форме существует зареганный блок block.reg('MainWindow') а в кнопке я указываю block.select('MainWindow') при генерации кода устанавливается код кнопки в это блок. Разжуйте немного дальше я сам попробую разобраться Заранее спасибо.
карма: 0

0
файлы: 2code_29944.txt [679B] [87], code_29945.txt [167B] [130]
Ответов: 5446
Рейтинг: 323
#11: 2013-01-04 20:03:19 ЛС | профиль | цитата
Kazbek17, блоки - это просто списки строк, и ничего больше. Обычно делают так:

  • В компоненте EntryPoint (или его аналоге) создаются глобальные переменные
    gvar(BLK_USING,BLK_HEAD,BLK_BODY)
  • В них записываются имена блоков
     BLK_USING =  "using"
    BLK_HEAD = "head"
    BLK_BODY = "body"
  • Создаются блоки с этими именами:
     block.reg(BLK_HEAD)
    block.reg(BLK_USING)
    block.reg(BLK_BODY)
  • Когда надо - выбираем блок и в него пишем
        fvar(old)

    old = block.select(BLK_USING)
    println('import re')
    block.select(old)
карма: 1

1
Голосовали:Kazbek17
Ответов: 704
Рейтинг: 44
#12: 2013-01-04 20:23:31 ЛС | профиль | цитата
iarspider писал(а):
iarspider
Спасибо попробую. Будут вопросы обращусь.
карма: 0

0
Ответов: 5446
Рейтинг: 323
#13: 2013-01-04 21:07:42 ЛС | профиль | цитата
Kazbek17, только одну тонкость забыл: по окончании работы EntryPoint-а (т.е. после окончания кода в doStart), все существующие блоки будут "слиты" в выходной файл, поэтому не надо забывать удалять блоки после того, как их содержимое перенесено в основной блок (после события onStart).
карма: 1

0
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)