Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26149
Рейтинг: 2127
#76: 2007-06-20 17:41:25 ЛС | профиль | цитата
Dilma писал(а):
зависит от того, что и как делалось

Я понял почему, но не понял, всеже, где прописать exe. Там, где я прописал, она его переименовывает из pas в exe, но не компилит. Прописал я exe вместо pas в hiasm.db-projects-make
карма: 22

0
Ответов: 3655
Рейтинг: 69
#77: 2007-06-20 19:29:15 ЛС | профиль | цитата
Из всего выше сказанного понятно только одно Dilma, создал свой собственный язык.
Непонятно зачем
Данную функциональность разве нельзя было сделать на одном из стандартных.
Итерпритаторы(вроде так называется) известны давно.
Я помню ещё в Досе на Фортране был.
Но насколько я помню он тоже выдавал коды ошибок, типа ещё до компиляции можно было найти ошибку.
У нас же насколько я понимаю этого небудет.
И у меня была перепечатанная книга листов на 300 по Фортрану.
А тут новый язык пять страниц текста и разбирайся как хочешь.
Форум это хорошо но книга с подробным описанием нового языка не помешала бы.

Я думал новая версия будет сделана на С++ и к нам прибежит куча программистов из С.
Желающих перейти на HiAsm . А тут на тебе.


Galkov, Извини но непонятно вообще ни одной строчки.
Хотелось бы увидеть подробное описание хоть одного компонента.
Что делает каждая строчка .
карма: 0

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#78: 2007-06-20 19:32:49 ЛС | профиль | цитата
Вячеслав писал(а):
Извини но непонятно вообще ни одной строчки

А в том и ценность, что сам понять должен, а не понятно спросить -- зачем?
карма: 22

0
Ответов: 5446
Рейтинг: 323
#79: 2007-06-20 19:43:52 ЛС | профиль | цитата
Вячеслав, По-моему Dilma дал достаточно информации по внутреннему языку кодогенератора. Ты скажи, где тебе и что непонятно (ответы типа - везде и всё не принимаются). Будем разбираться.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#80: 2007-06-20 20:28:19 ЛС | профиль | цитата
Вячеслав писал(а):
Непонятно зачем
Данную функциональность разве нельзя было сделать на одном из стандартных.

1) И что теперь, застрелиться
2) Нельзя

Встречный вопрос: А нельзя ли было предположить, что Dilma и сам мог бы догадаться до такого решения - использовать имеющееся.
Если предположить это на секуду, то возникают СОВСЕМ ДРУГИЕ вопросы, а не такие как у тебя.

А пока получается, что из непонимания делаются какие-то выводы. Те в свою очередь портят нервы и себе у людям.

Вячеслав, никто тебя не заставляет ничего делать, и ничего понимать. Зачем ты нам-то нервы портишь
Ну не хочется тебе понимать новое, ну и на здоровье.
Наша-то какая вина, не пойму.
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#81: 2007-06-20 20:55:13 ЛС | профиль | цитата
Dilma, никак не пойму переменную _str_cat_, почему именно так, а не по другому? Сначала мне казалось, что это зарезервированный тип, но я нигде не нашел его описания, значит это что-то другое, тогда что?
карма: 22

0
Ответов: 3655
Рейтинг: 69
#82: 2007-06-20 21:08:00 ЛС | профиль | цитата
nesco писал(а):
А в том и ценность, что сам понять должен, а не понятно спросить -- зачем?

Так прйдётся спрашивать про каждую строчку .
Непроще ли сразу написать комментарии.
Хотя бы для одного компонента.
Подожду когда выйдет первая версия на С++ там хоть поэксперементировать можно будет.

iarspider писал(а):
Ты скажи, где тебе и что непонятно

Попробуем.

func doCreate(_data)
fvar(old, cur, id, old_loc)
id = 'btn_' + code(_id_)
old = block.select(BLK_PRIV_VAR)
println(id, ':PControl;')
block.select(old)
func doCreate(_data) Функция с именем doCreate
А что такое (_data)
Кто вызывает эту функцию
fvar(old, cur, id, old_loc) список локальных переменных
А какой у них тип.
id = 'btn_' + code(_id_) ID кнопки
'btn_' это кнопка
А почему написано именно так а не например button
code(_id_) ID какого то кода
Вопрос какого
old = block.select(BLK_PRIV_VAR) переменной неизвестного типа присваивается какой то блок.
Если переменная не имеет типа ,я могу присваивать ей что хочу
block.select(BLK_PRIV_VAR) устанавливает блок в качестве текущего.
Какой блок
куда устанавливает
Что значит в качестве текущего
BLK_PRIV_VAR а это вообще откуда взято
карма: 0

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#83: 2007-06-20 21:31:56 ЛС | профиль | цитата
Вячеслав, я тут тоже плаваю. Но зато, ты выходной код видел? Оно там так ужмякало этот скрипт, что -- мама не горюй. StrCat превратился в одну строчку, это же надо. Все это огромные перспективы. Я тут грешным делом подумал, а не написать ли в будущем что-то типа KOL'a на этом скрипте. Приложения получатся еще меньше в разы, а по скорости -- вообще молчу.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#84: 2007-06-20 21:47:11 ЛС | профиль | цитата
Вячеслав писал(а):
Попробуем.

Пробовать лучше СНАЧАЛА.
Третий раз копирую:
Galkov писал(а):
2) CodeGen первым делом "запускает в дело" метод doStart элемента, в имени которого есть магическое слово EntryPoint.
....
3) Это означает, что CodeGen начинает исполнять то, чего записано после func doStart в файле hiEntryPoint.hws.
Внимание: исполнять в Design-Time. Это самое главное. То, чего ты до этого момента писал в кодах элементов, исполнялось в Run-Time

4) Ну и давай по порядку.

... пока не дойдешь до hiButton.hws
И часть вопросов про BLK_PRIV_VAR и иже с ним - отпадет сама собой.

Вячеслав писал(а):
А что такое (_data)

Аргумент функции. Формальный параметр, по научному
Вячеслав писал(а):
Кто вызывает эту функцию

ф-я скрипта event, коль скоро эта точка бкдет подключена. Еще раз: начинай сначала, увидишь сам кто вызывает
Вячеслав писал(а):
А какой у них тип.

вариантный. Чего присвоишь, то и будет
Вячеслав писал(а):
А почему написано именно так а не например button

Будешь писать сам - пиши что хочешь. В текстовых константах
Вячеслав писал(а):
code(_id_) ID какого то кода
Вопрос какого

_id_ - встроенная в скрипт переменная, целое число - идент элемента. В справке написано, между прочим.
Вячеслав писал(а):
old = block.select(BLK_PRIV_VAR) переменной неизвестного типа присваивается какой то блок

переменной вариантного типа присваивается результат метода select объекта block
Этот результат - строка, имя блока, выбранного до вызова метода select
Вячеслав писал(а):
Если переменная не имеет типа ,я могу присваивать ей что хочу

Да
Вячеслав писал(а):
Какой блок

Блок с именем из глобальной переменной BLK_PRIV_VAR
Вячеслав писал(а):
Что значит в качестве текущего

это значит, что методы объекта block, которые явно не указывают имя блока, будут работать именно с текущим блоком.
Вячеслав писал(а):
BLK_PRIV_VAR а это вообще откуда взято

Еще раз: начинай сначала, увидишь сам откуда взято
карма: 9

0
Ответов: 3655
Рейтинг: 69
#85: 2007-06-20 21:52:17 ЛС | профиль | цитата
Galkov писал(а):
И что теперь, застрелиться

Нет .
Но мы потеряли кучу пользователей которые могли бы сделать что то полезное.
И опять останутся одни энтузиасты. ИМХО.
Galkov писал(а):
Ну не хочется тебе понимать новое, ну и на здоровье.

Так в том то и дело что хочется.
Но где написано что это всё правильно и именно так и должно быть ,и через год не окажется что надо было делать по другому и начать всё заново.
Пакет PocketPC - висит.
Пакет FASM - висит.
Пакет Delphi - теперь тоже висит.
Отвечать ненадо это только констатация фактов.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#86: 2007-06-20 21:54:25 ЛС | профиль | цитата
nesco писал(а):
Оно там так ужмякало этот скрипт, что -- мама не горюй

никто оно никого не жмякало.
Все наоборот: в код попало только то, что попало в "блокнотик" ф-ями типа print
Скрипт предназначен для исполнения, а не для "попадания с ужмякиванием"

[size=-2]------ Добавлено в 21:54
Вячеслав писал(а):
Так в том то и дело что хочется

Не верю. Я хорошо знаю содержимое форума.
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#87: 2007-06-20 23:23:48 ЛС | профиль | цитата
Galkov, я имел ввиду написанное и полученное по объему текста (куча скриптового кода превратилось в одну строчку целевого языка).
Galkov писал(а):
что попало в "блокнотик" ф-ями типа print
Я заметил, что не только функциями типа print. Вот только строковой писанины много для функции println, и постоянную слежку за переменными и линками вести надо. А что нельзя псевдокласс переменных сделать у которых уже встроена слежка за присвоениями. От этого скрипт еще бы уменьшился. То же можно и про линки сказать. Все это можно автоматизировать, а не вешать на разработчиков.

[size=-2]------ Добавлено в 23:17
И почему именно вот такое построение
        block.select(BLK_PRIV_MTD)
        block.copyto(program)
block.delete(block.select(program))[/code]и почему не вот такое
        block.select(BLK_PRIV_MTD)
        block.copyto(program)
block.delete(BLK_PRIV_MTD)
И вот я должен в голове помнить и просчитывать -- какой блок у меня сейчас активный и должен удалиться после копирования секции кода. Хорошо если он один, а если их несколько? Нельзя было придумать что-либо по-проще.
[size=-2]------ Добавлено в 23:23 [/size]
[quote=Вячеслав]Пакет Delphi - теперь тоже висит[/quote]
А кто сказал, что он висит. Он ждет перехода на новую технологию. Мне уже тоже ныть надоело. Блини, костьми лягу, но изучу этот чертов скрипт и структуру построения, не сложнее они, чем в Delphi.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#88: 2007-06-20 23:43:02 ЛС | профиль | цитата
nesco писал(а):
Но зато, ты выходной код видел?

Не а . Пришли посмотреть.
Galkov писал(а):
Вячеслав писал(а)А что такое (_data)
Аргумент функции. Формальный параметр, по научному

Да это понятно.Неправильно задал вопрос.
А если аргументов много(типа я хочу создать свою функцию) тогда как будет.
Galkov писал(а):
Вячеслав писал(а)code(_id_) ID какого то кода
Вопрос какого
_id_ - встроенная в скрипт переменная, целое число - идент элемента. В справке написано, между прочим.

С ID понятно
Непонятно откуда возьмётся code(типа uses нету и неизвестно где это прописано.)

Кто создаёт файл hiEntryPoint.hws.
карма: 0

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#89: 2007-06-21 00:11:48 ЛС | профиль | цитата
Вячеслав писал(а):
Непонятно откуда возьмётся code(типа uses нету и неизвестно где это прописано.)

Положим uses прописано в hiEntryPoint.hws
  block.select(BLK_UNITS)
  println('uses windows,kol;')
Ты можешь создать свой hiEntryPoint.hws и вставлятьь в качестве инициализатора кода.
code(_id_) дает номер блока
Например вот такое выражение return('frm_' + code(_id_)) может дать frm_2 или frm_3
Если я ошибся, то руководство поправит.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#90: 2007-06-21 00:27:19 ЛС | профиль | цитата
nesco писал(а):
А кто сказал, что он висит

Я говорил про Delphi, а не про Delphi 2.
карма: 0

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