Как вывисти в Turbo Pascal 7 код программы?

Тема в разделе "Delphi - FAQ", создана пользователем sidd, 16 окт 2006.

Статус темы:
Закрыта.
  1. sidd

    sidd Гость

    Подскажите, пжл, как вывести код программы.
     
  2. Barmutik

    Barmutik Гость

    Берёте код программы, смотрите на второй пункт меню в верхнем правом ряду у нижнего левого угла вызываемую при нажатии на 11-ую опцию в вторичном меню...

    Мда :)
     
  3. sidd

    sidd Гость

    нипонял) обьясни пожалуста подробней. Ато я шото нипонял какой пункт меню и в каком ряду :)
     
  4. Barmutik

    Barmutik Гость

    Ну шот тут вот эта не панятна савсим...

    Опъясняю ищё раз: смотрите на второй пункт меню(зилёный такой) в верхнем правом ряду (ну там их три ряда и в врхним смотреть надо)у нижнего левого угла (ну тут панимаеш где?) вызываемую при нажатии на 11-ую опцию (именна 11-ую а ни 10-ую) во вторичном меню(ну есть пирвичное а тибе нада вторичное)...

    Вот так и живём .. уже пункт меню найти не можем в программе :) :D :p
     
  5. pinhead

    pinhead Гость

    Надо всё объяснять подробнее...
    Какой код, куда его вывести... :(
     
  6. Maniacosaur

    Maniacosaur Гость

    Пацталом! sidd, нойди пункт миню "Вывисти кот праграмы" и ножми ево:D
     
  7. pushkin

    pushkin Гость

    На самом деле есть такая олимпиадная задача по информатике - "написать программу, которая вывела бы свой код пользуясь только операциями вывода (т. е. write, writeln) :). Я сам один раз видел, как такая программа выглядит. Короче, это очень серьезная проверка для мозгов и проверка конкретного языка на можность ;)))

    Вот вам линк на такую программу на java script: http://pixel-apes.com/selftest/
     
  8. pinhead

    pinhead Гость

    Код (Text):
    Program TorhOFF;
    uses
    Crt;
    var
    F:Text;
    s:string;
    begin
    ClrScr;
    GetDir(0, s);
    Assign(f, s + 'Pinhead.pas');
    Reset(f);
    while not EOF(f) do
    begin
    readln(f, s);
    writeln(s);
    end;
    Close(f);
    readln
    end.
    Конечно понятно что Pinhead.pas это и есть эта программа. :unsure:
    И Pinhead.pas должен находиться в том же каталоге где находится EXE - шник. :blink:
     
  9. pushkin

    pushkin Гость

    Уважаемый г-н pinheat, читайте пожалуйста все предыдущие посты по возможности прежде чем приводить примеры программ. Ваша программа совершенно не то, что имелось в виду. Прикол в том, что нужно использовать операции вывода - НИКАКИХ ФАЙЛОВ!
     
  10. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    Лично я не вижу решения этой задачи для компилируем языков высокого уровня. И имхо его не существует. (всякие извращения вроде запихнуть исходники в ресурсы или еще куда-нибудь решением не считаю)
     
  11. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Kmet+17:11:2006, 13:22 -->
    <span class="vbquote">(Kmet @ 17:11:2006, 13:22 )</span><!--QuoteEBegin-->И имхо его не существует
    [snapback]48113" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    да, помню 2 года назад на королевстве делфи всплыл подобный вопрос , решение не было найдено, хотя автор утверждал что толи в VB или VC (непомню, давно было) таккая функция есть
     
  12. pushkin

    pushkin Гость

    Я такой код лично видел - его написал мой бывший одногруппник. Поищу, если найду, то тут приведу
     
  13. pushkin

    pushkin Гость

    Вот решение. Оно, конечно, выглядит не очень красиво, но это решение!

    Код (Text):
    const a='const a=';b='begin write(a,#39,a,#39#59#98#61#39,b,#39#59#10,b) end.';
    begin write(a,#39,a,#39#59#98#61#39,b,#39#59#10,b) end.
    Если его компилить в Delphi, то в начале программы нужно дописать "{$APPTYPE CONSOLE}", но суть не в этом - компилите в Borland Pascal 7.0 :unsure:))

    Вот линк, откуда я все это взял: Сайт с такими програми на всех языках
     
  14. Barmutik

    Barmutik Гость

    Класс.. меня реально зацепило! Никогда так не задумывался над такой задачей .. но приведённый пример меня зацепил .. не фиг же кому-то делать :unsure:

    Спасибо! :blink:
     
  15. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    Для: pushkin
    не очень какое то решение, исходник явно запихнут. хотя конечно условию задачи соотвествует.
     
  16. pushkin

    pushkin Гость

    Для Kmet: Так в этом и есть весь фокус - нужно как-то запихнуть в программу исходник её же :)
     
  17. pinhead

    pinhead Гость

    Для: pushkin
    А вы сами пробовали запускать приведённый вами код? :lol:
    Мне думается что в строке
    const a='const a=';b='begin write(a,#39,a,#39#59#98#61#39,b,#39#59#10, b ) end.';
    после #10 необходимо вставить #13, так как курсор после перехода на новую строку в начале строки не находится.
    Вот по моему более правильный код :) :
    Код (Text):
    const a='const a';
    b='begin write(a,#61#39,a,#39#59#10#13#98#61#39,b,#39#59#10#13,b)end.';
    begin write(a,#61#39,a,#39#59#10#13#98#61#39,b,#39#59#10#13,b)end.
    А на счёт Delphi не стоит беспокоится, необходимо выполнить следующие манипуляции - заходим в пункт меню Проект->Опции и во вклад "Компановщик" в GroupBox(Опции EXE и DLL) ставим галочку напротив "Консольное приложение".
    Вот и всё!!! :lol:
     
  18. Barmutik

    Barmutik Гость

    Я тот код сам запускал .. всё полностью работало...
     
  19. pushkin

    pushkin Гость

    Дело в том, что и я его запускал :)))
     
  20. pinhead

    pinhead Гость

    Ну извините, значит проблема во мне :(
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей