IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Переход из процедуры в главную прогу, по меткам
>hamka<
сообщение 25.02.2005 19:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Женский

Репутация: -  0  +


Можно из процедуры прыгнуть на метку, кот. в главной программе. Или ее надо описывать в параметрах передаваемой процедуры. А если нельзя, то нет ли каких нибудь приемчиков, чтобы перейти на метку не процедурную?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
SKVOZNJAK
сообщение 27.02.2005 3:13
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Цитата(Oleg_Z @ 25.02.05 17:19)
Но цель развития программирвоания - свести все команды ближе к человеческому языку, и от безусловных переходов решили отказаться!



На ловца и зверь бежит smile.gif Недавно ковырялся в настройках ГТА вай сити(рульная фановая игра, если кто не слышал или не играет) и залез в скрипты. Уж насколько скрипты к человеческому языку приближены, а вот оказалось что там всё через GOTO работает lol.gif Ведь что есть гото, это машинный вариант человеческой команды-приветствия "да пошёл ты на... в..." только без мата. А уж сколько этими короткими фразами в человеческом языке можно сказать. Но неприятие нецензурной (отнюдь не нормативной smile.gif) лексики этого не позволяет. Тут же цивильно - ну не обидится же комп если на регистр его пошлют smile.gif Вывод, иногда lol.gif в некоторых прогах без этого обойтись сложно, если специально не подгонять задачу под возможности решения без гото.
То о чём ты спрашиваешь, уже когда-то обсуждалось на форуме, конкретно система "сушняк турбо" - моё извращение над турбовизион. Там приведён работающий макет проги с оконным интерфейсом. Естественно пупырится всё через гото, управление объектами тоже через гото. Можешь поискать на форуме инфу или скачать исходники с моего сайта. Принцип такой. Ядро программы состоит из бесконечного цикла на гото типа:

Код

BEGIN

A:=0;

1:
............................
GOTO 3;
2:
.............................


3:

CASE A OF
0: PROCEDUR1;
1: GOTO 2;
2: PROCEDUR2;
3: PROCEDUR3;
END;

IF A=100 THEN GOTO 100;
GOTO 1;

100:
END.



Цикл на гото и есть тело проги, он запускает объекты, процедуры, да всё что угодно. Каждая процедура или объект при запуске считывает данные и номер команды из массива глобальных переменных, туда же всё и сохраняет. Выполнив действие объект записывает команду в переменную и отрубается(сохраняет завещание с которым далее работает адвокат). Это может быть команда запустить что-то ещё, или предоставить дополнительную инфу и запуститься снова - зависит от вашей фантазии. Объект в данном случае становится как бы обычной процедурой, а не основой проги. Команда считывается в операторе CASE или IF THEN, и опять по кругу. Бесконечная мясорубка перемалывающая инфу. Основной прикол в том, что любые объекты не живут слишком долго и используются по очереди, а
значит обеспечивается совместимость несовместимых сабжей.

Сообщение отредактировано: SKVOZNJAK - 27.02.2005 3:17
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
>hamka<   Переход из процедуры в главную прогу   25.02.2005 19:57
volvo   А Вы в курсе, что использование меток в паскале ...   25.02.2005 19:59
>hamka<   а почему ? =((   25.02.2005 20:02
Altair   А потому что это противоречит принципам структурно...   25.02.2005 20:04
>hamka<   а как же асм ;) а чем заменять метки? Неужели фла...   25.02.2005 20:11
Altair   А АСМ - эт оязык НИЗКОГО УРОВНЯ! и методы прог...   25.02.2005 20:19
Altair   p.s. Да и в АСМЕ без них не обойдешься - фон-нейма...   25.02.2005 20:21
>hamka<   Хочу проверку на число оформить как процедуру. А ...   25.02.2005 20:28
Altair   убрать ВСЕ МЕТКИ ИЗ ПРОГРАММЫ. А вы можете сказат...   25.02.2005 20:29
SKVOZNJAK   На ловца и зверь бежит :) Недавно ковырялся в на...   27.02.2005 3:13
Martyr   Stop flaming! В BP запрещено обращение к иден...   27.02.2005 3:47
SKVOZNJAK   Невнимательно читал, если вообще дочитал. В этой к...   27.02.2005 4:16
Martyr   Вообще этот подход называется асинхронной обработк...   27.02.2005 10:29
Altair   Вы отклоняетесь от темы... GOTO - ПЛОХОЙ СТИЛЬ ПРО...   28.02.2005 15:36
SKVOZNJAK   Может и плохой, но придумай ему адекватную замену,...   2.03.2005 22:56
Dark   Олежка, если вопрос относился к задачам то почему ...   3.03.2005 1:50
Romtek   Procedure InputN (var N: integer); v...   3.03.2005 3:01


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 15:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"