Помощь - Поиск - Пользователи - Календарь
Полная версия: Как сделать метку на целую программу ?
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Крутой
Я в Turbo Vision перекрываю HandleEvent - и там командой делаю ссылку на программу? Не получается! Говорит, надо поставить ";" после метки?

Помогите, ребята, решить мне эту проблему ?
SKVOZNJAK
При нажатии на <Alt+X> срабатывает команда СМ*, к сожалению не помню какая, а исходники далеко sad.gif Нужно записать задание в переменную, а затем с помощью этой команды в HandleEvent выключить Turbo Vision. Как ты уже наверно догадался smile.gif .Init , .Run и .Done запускающие оболочку, помещены в бесконечный цикл Goto и в зависимости от значения переменной (см. выше) запускаются процедуры, TurboVision или завершается программа.

Потом может подробней напишу, а ты пока посмотри в исходниках, что же это за команда такая - отрубающая TurboVision. Не поленись - легче один раз пропатчить исходники, чем изучать эту систему целиком ;D Проверено.
Крутой
???
дружище,подскажи,если не трудно,что это за команда,отключающая turbo vision? и временно ли она отключает?
SKVOZNJAK
Блин, поисковик в венике уродский, хреново им пользоваться.  >:(  Чуток погоди, нужный сабж есть на домашнем аппарате, но сейчас к нему затруднён доступ  :( Уже недели две не получается добраться до магазина за нужной железякой, а эмулировать её принтером тоже очень хреново и долго.
Как только доберусь, скину образец проги и 2 изменённых модуля турбовизион. Кстати, очень классно оно работает и совмещается со всякой лабудой в разных режимах. Ты сам не заметишь, как *.ехе файл вырастет ну очень до больших размеров. Так что придётся колбасить в защищённом режиме, можешь пока потренироваться в его использовании. smile.gif
Крутой
:D
Буду ждать с нетерпением!!!!!!!!!!!!!! ;D
Кстати, с метками разобрался -- оказывается на <censored> они там не нужны !!
SKVOZNJAK
Там они действительно не нужны. Но не спеши отказываться от них совсем. Многие алгоритмы без гото очень трудно и коряво реализуются. А так... Repeat и Until практически не нужны - достаточно For + Goto. А уж присобачить метку в написанный профессиональными прогерами объект.... На гото потому и ополчились, что оно позволяет делать на старых технологиях то, что полагается делать на новых, ещё только разрабатываемых smile.gif А какой разработчик с этим может вот так спокойно смириться?
SKVOZNJAK
Ау, Крутой ! Готова обещанная прога. Свежак - только-что из под топора :D Чтение книги о вкусной и здоровой пище голодным прогерам закончилось. Кто выжил, заходите на http://stiratel7.narod.ru/1/susnjak.zip
Крутой
;D SKVOZNJAK,
Наконец-то, дождался !!!!!!!!! Огромное спасибо, что не забыл про меня !!! Только вот пока одна проблемка, не мог бы ты вкратце объяснить, про что проги, т.к. времени нет разбираться ??????????????
SKVOZNJAK
Скачай прогу ещё раз, я там исправил один кривой код, и прочитай реадме. А вообще, это прибамбас к турбовизион добавляющий ему новые свойства. В стандартой версии применяется принцип ВСЁ ИЛИ НИЧЕГО. То есть для того чтобы начинать на ней програмить, надо изучить её всю  sad.gif Но с этим прибамбасом эту лажу очень просто обойти. Изучаешь турбовизион в минимальном объёме и вперёд! Файл lom.pas (и модули к нему: барабаны, чемодан, окна, всё вроде) это работающий макет твоих будущих программ. Просто добавляешь в него новые навороты и убираешь явно тебе лишние. Всё! Что-то похожее говорилось в описании модуля APP. В связи с чем возникает философский вопрос: можно-ли считать лом объектом, при том, как он издевается над ооп?
KRUTOY
:o :o
Как ты до этого всего допёр??
У тебя есть какая-нибудь литература хорошая???
Может выложишь, если не трудно? :o
SKVOZNJAK
Из инфы на момент написания первой версии такого кода имелось лишь спектрумовское наследие, книжка по паскалю К. Бона 80 какого-то года и диск фирмы Петрософт "Дельфи & Паскаль". На диске есть несколько мегов инфы, наверно перевод стандартной Борландовской. Делаешь так:
   Для начала тебе нужен реальный дос, могу порекомендовать PC DOS 7 русифицированный. Ещё желательна нортон утилита 8, по крайней мере библиотека nlib200.rtl, поисковик  filefind.exe  и хелп filefind.hlp тоже желателен. Просеиваемые файлы размещаешь в каких-то определённых каталогах, а потом в любой момент можешь выйти из паскаля через Dos shell, запустить нортон командер, поисковик и просеять кучу инфы и исходников(большую часть которой ты даже и не просматривал) на предмет нужного сабжа. Этот поисковик, в отличие от де...моедовского ХРюшинского может искать в указанных каталогах,  в файлах, а не только по всему диску. Просмотреть сабж можно в нём же, только файлы должны быть в досовской кодировке. Далее, тебе нужен текстовой редактор. Для коротких файлов подойдёт нортоновский, а для более длинных (придётся вначале установить драйвер емс памяти, если редактировать будешь в реальном досе, а не через винду, в ней запустишь через ярлычёк в полноэкранном режиме) edit.exe ну и хелп к нему желателен, но не обязателен. Скопировать это можно из каталогов c:/windows/command или  c:/windows/system32. В редакторе нарежешь-склеишь из инфы текстовики по темам и сохранишь с расширением pas, разместишь их в каталоге, являющимся родительским по отношению к тому, в котором колбасишь проги. А потом прямо в редакторе открываешь нужную тебе инфу как если бы она была исходником. Что с ней делать догадаешься? Вот темы для составления инфы.рас : стандартные модули, другие модули, справочник по процедурам и функциям, директивы компилятора, справочник по runtime error
KRUTOY
;) Да это все хорошо !!
Слушай, я в HandleEvent вызываю обычную паскалевскую прогу, которая использует Graph и Crt -- она глючит -- посоветуй, пожалуйста, как этого избежать?????? :-[
SKVOZNJAK
Баалин...... Как тебе это ещё обьяснить. Ты просмотрел недоделанный модуль чебурелло? Во первых видеорежимы разные - графический и символьный. А во вторых, турбовизион, как и многие другие девайсы на ооп очень хреново совмещается с чужими сабжами. Для того и нужен сушняк турбо, чтобы использовать систему по наглому, как вздумается. Ну а в третьих, ты про обратную связь что-нибудь слышал? Это физ. явление в электронике такое есть. Нужно организовывать его и в прогах, физика реальности подействует и на них. Как-бы разработчики не пыхтели, полностью избавиться от этого им не удастся :D Прога должна оставить "завещание", записать её в ячейку и отключиться. А код запускавший эту прогу прочитает завещание и решит что делать дальше, может быть и запустит твою прогу. А как ты хотел? Напрямую?
Тогда вперёд, за орденами. Изучай тонны инфы по каждой системе ооп и делай всё, что они скажут. А потом ломай голову как совместить системы, которые изначально сделаны трудносовместимыми. Если такой путь для тебя, тогда к чему весь разговор про метки - этого-то тоже делать не рекомендуется smile.gif
 Посмотри в примере, там такое уже давно сделано.
SKVOZNJAK
Турбовизион использует свои методы работы с экраном и часто его обновляет, а ты со своими кодами туда лезешь. Делай трюк со включениями-отключениями и всё будет кульком. А если при этом ещё и видеорежимы не изменяются, то можно делать это с большой частотой.
KRUTOY
;D
да, походу <censored> я с этим паскалем!!!
ты в своих модулях странным языком пишешь -- так что мне ни <censored> не понять -- хотя я и не пытался -- знаю, что гиблый номер!! тем более чужые проги <censored> поймешь!!! :smile.gif
trminator
крутой, ТЫ ПРАВИЛА ФОРУМА ЧИТАЛ? Тебе люди помочь пытаются, а ты как отвечаешь?! Не нравится Паскаль - иди пиши на Бейсике, а не ори тут, что не можешь разобраться.
KRUTOY
;DТЕРМИК, ЛЮДЯМ Я БЛАГОДАРЕН ЗА ПОМОЩЬ--ОСОБЕННО SKVOZNJAK'У И ТЕБЕ !!!--а что матом насчёт паскаля--так это от нетерпимости по-скорее разобраться и из-за темпирамента!!!!!!!!!!!!!!!!! ;)
SKVOZNJAK
Гы. Хочешь присобачить прогу, использующую граф? Слухай сюды. Бырёшь модуль okno3.pas и стираешь процедуру, которая там есть. Вместо неё вписываешь свою с таким же названием. Графический видеорежим включать не надо - уже включен. И попроще клепай - круг там нарисуй, или гудок дай. После чего запускаешь lom.pas. В турбовизион включай в верхней строке ГЫ, потом ЗЫЫЫЫЫ! Получилось?
  И не пытайся объять необъятное, если ты за день будешь усваивать 2 новых трюка, то сколько это будет за год?
KRUTOY
SKVOZNJAK

СЛУШАЙ,ЧТО ТАКОЕ "ГЫ" И "ЗЫЫ"?? И НА ФИГА lom.pas включать??
НЕ ПОДСКАЖЕШЬ, КАК МНЕ ВЫПОЛНИТЬ ТРЮК С ВРЕМЕННЫМ ВЫХОДОМ ИЗ TURBOVISION--Т.Е. КАК ЗАПУСТИТЬ ИЗ TV ЛЮБУЮ ПРОГУ???ВСЯ НАДЕЖДА НА ТЕБЯ,КОРЕФАН !mol1.gif !mol1.gif
SKVOZNJAK
ГЫ и ЗЫЫ это надписи в менюшке в верхней части экрана. По приколу такие, можешь поменять в модуле барабан1.пас. Когда долго посидишь за компом, у самого наверно появится желание пообщаться с ним на не совсем человеческом языке. Вот тут-то и придутся кстати странные имена переменных, функций... Или, как вариант, дать процедурам вполне осмысленные имена - по кличкам, или с напрямую не связанным с прогерством принципам и выстроить структуру проги исходя из новых условий ;D Вот откуда гы, зы, фы и прочие smile.gif Может ты сейчас не со мной, а с компьютерным разумом базаришь ;)
Лом.пас можно включать, потому что это самый быстрый и лёгкий способ достичь желаемого. Я написал уже готовую прогу в которой достаточто костей и минимум "мяса", которое можно добавлять с минимумом усилий. Но ты сначала хочешь сделать всё сам, а уж потом посмотреть как это сделали другие? Тогда лови инфу:
Команда отключающая трубу - endmodal(cmquit) вставляется в handllevent

предположим что ты запускал "трубу" прцедурой
Код
procedure zapusk;
begin
 asdf.init;
 asdf.run;
 asdf.done;
end;


Во время работы оболочки ты изменил содержимое глобальной переменной Balb с 0 на 1, что ты определил для себя как команду "ЗАПУСТИТЬ ТАКУЮ-ТО ПРОЦЕДУРУ". Тогда после вышеописанной процедуры пишешь:
If Balb=1 then Proga1;

Proga1 - это процедура, твоя прога, которую нужно запустить.
Попробуй выполнить вначале все вышеизложенные рекомендации, а уж потом говори ПОЧЕМУ и ЗАЧЕМ.
KRUTOY
SKVOZNJAK
я тебе личное сообщение послал 8)
SKVOZNJAK
А я ответил  :D
KRUTOY
:smile.gif
КАКОЙ В ЭТОМ "СУШНЯКЕ ТУРБО" ГЛАВНЫЙ МОДУЛЬ-ТО??
APP2?
SKVOZNJAK
Да нет, LOM. Против лома нет приёма!
KRUTOY
ВСЁ ЗАБАЦАЛ--СО СВОИМИ ИСХОДНИКАМИ,НО НЕ БЕЗ ТВОЕЙ ПОМОЩИ------СПАСИБО ОГРОМНОЕ,ДРУЖИЩЕ!!!!!! ;D
SKVOZNJAK
И что там оно было?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.