![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]()
Сделал функцию загрузку скрипта,функция загружает в память скрипт
сам скрипт состоит из двоичных опкодов,а сама функция загрузки скриптов возвращает указатель на но чало скрипта и размер всех опкодов, проблема в том что не придет в голову как передавать параметры опкодов в программу вот пример: 0001: beep //Пиликалка 0002: MessageBox 'Скрипт' //Вывод текста в окно 0003: formPos 50 50 //Позиция формы короче думал приходили только в голову бессмысленные функции помогите пожалуйста |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
из приведенного выше куска я так и не понял как ты хранишь скрипты в файле
посему скажу так...извлекай параметры из файла далее преобразуй в нужный вид(опять же все зависит от хранения), если надо...и передавай как параметр Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.08.2009 в 12:32. Причина: забавная очепятка |
![]() |
![]() |
![]() |
#3 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]()
Структура головы скрипта:
Код:
0100 0200 (...сдесь строка 24 - char) 0300 3200 0000 3200 0000 0100 - beep 0200 - messageBox 0300 - FormPos 3200 0000 - Параметр 50 сам опкод 2 - байта (word) |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у каждого опкода свои параметры(их размер и тип)
например 0001 00000F00 000000FF* Цитата:
у функции beep два параметра типа Cardinal(4байта) вот и считывай их...например(пишу на основе TFileStream(по условию он к моменту выполнения строк уже создан как положенно), но это мелочь) Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.08.2009 в 13:34. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
всмысле?
поподробнее Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]()
А как мы по твоему должны тебе ответить? Мы что экстрасенсы? Либо выкладывай все исходники либо сам делай.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
разберись сначало с простными действиями а потом усложняй.
а то ты хочешь все и сразу. для меток придется сканировать весь файл сначало(или часть но не тем не менее) и заполнять чтото типа массива...имя метки-место в файле. а вообще тебе еще операторные скобки нужнны будут. и тд. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#10 | |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]()
Я вот подумал,
допустим есть опкод 0004: jump @labelxxx Цитата:
то и есть прыжок содержит адрес. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |