|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.08.2009, 10:58 | #1 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
Проблема со скриптовыми опкодами?
Сделал функцию загрузку скрипта,функция загружает в память скрипт
сам скрипт состоит из двоичных опкодов,а сама функция загрузки скриптов возвращает указатель на но чало скрипта и размер всех опкодов, проблема в том что не придет в голову как передавать параметры опкодов в программу вот пример: 0001: beep //Пиликалка 0002: MessageBox 'Скрипт' //Вывод текста в окно 0003: formPos 50 50 //Позиция формы короче думал приходили только в голову бессмысленные функции помогите пожалуйста |
12.08.2009, 12:28 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
из приведенного выше куска я так и не понял как ты хранишь скрипты в файле
посему скажу так...извлекай параметры из файла далее преобразуй в нужный вид(опять же все зависит от хранения), если надо...и передавай как параметр Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.08.2009 в 12:32. Причина: забавная очепятка |
12.08.2009, 12:51 | #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) |
12.08.2009, 13:31 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
у каждого опкода свои параметры(их размер и тип)
например 0001 00000F00 000000FF* Цитата:
у функции beep два параметра типа Cardinal(4байта) вот и считывай их...например(пишу на основе TFileStream(по условию он к моменту выполнения строк уже создан как положенно), но это мелочь) Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.08.2009 в 13:34. |
|
13.08.2009, 14:22 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
всмысле?
поподробнее Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.08.2009, 11:04 | #8 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
А как мы по твоему должны тебе ответить? Мы что экстрасенсы? Либо выкладывай все исходники либо сам делай.
|
14.08.2009, 14:02 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
разберись сначало с простными действиями а потом усложняй.
а то ты хочешь все и сразу. для меток придется сканировать весь файл сначало(или часть но не тем не менее) и заполнять чтото типа массива...имя метки-место в файле. а вообще тебе еще операторные скобки нужнны будут. и тд. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.08.2009, 09:05 | #10 | |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
Я вот подумал,
допустим есть опкод 0004: jump @labelxxx Цитата:
то и есть прыжок содержит адрес. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |