Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Delphi - FAQ _ Как вывисти в Turbo Pascal 7 код программы?

Автор: sidd 16:10:2006, 16:17

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

Автор: Barmutik 16:10:2006, 16:34

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

Мда smile.gif

Автор: sidd 16:10:2006, 16:47

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

Автор: Barmutik 17:10:2006, 05:35

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

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

Вот так и живём .. уже пункт меню найти не можем в программе cool.gif biggrin.gif tongue.gif

Автор: pinhead 24:10:2006, 11:08

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

Автор: Maniacosaur 25:10:2006, 05:53

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

Автор: pushkin 9:11:2006, 12:54


Цитата:
(sidd @ 16:10:2006, 17:17 ) *
 
Подскажите, пжл, как вывести код программы.


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

Вот вам линк на такую программу на java script: ]]>http://forum.codeby.net/go.php?http://pixel-apes.com/selftest/]]>

Автор: pinhead 17:11:2006, 09:03

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 это и есть эта программа. biggrin.gif
И Pinhead.pas должен находиться в том же каталоге где находится EXE - шник. biggrin.gif

Автор: pushkin 17:11:2006, 09:34

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

Автор: Kmet 17:11:2006, 11:22

Лично я не вижу решения этой задачи для компилируем языков высокого уровня. И имхо его не существует. (всякие извращения вроде запихнуть исходники в ресурсы или еще куда-нибудь решением не считаю)

Автор: Morpheus 17:11:2006, 11:25


Цитата:
(Kmet @ 17:11:2006, 13:22 )
 
И имхо его не существует
]]>http://forum.codeby.net/go.php?http://index.php?act=findpost&pid=48113]]>



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

Автор: pushkin 17:11:2006, 12:16

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

Автор: pushkin 17:11:2006, 12:29

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

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 smile.gif))

Вот линк, откуда я все это взял: ]]>http://forum.codeby.net/go.php?http://www.nyx.net/~gthompso/quine.htm]]>

Автор: Barmutik 17:11:2006, 12:46

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

Спасибо! wink.gif

Автор: Kmet 22:11:2006, 07:52

Для: pushkin
не очень какое то решение, исходник явно запихнут. хотя конечно условию задачи соотвествует.

Автор: pushkin 22:11:2006, 08:22

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

Автор: pinhead 5:01:2007, 15:09

Для: pushkin
А вы сами пробовали запускать приведённый вами код? blink.gif
Мне думается что в строке
const a='const a=';b='begin write(a,#39,a,#39#59#98#61#39,b,#39#59#10, b ) end.';
после #10 необходимо вставить #13, так как курсор после перехода на новую строку в начале строки не находится.
Вот по моему более правильный код rolleyes.gif :

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) ставим галочку напротив "Консольное приложение".
Вот и всё!!! biggrin.gif

Автор: Barmutik 5:01:2007, 16:03

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

Автор: pushkin 5:01:2007, 16:24

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

Автор: pinhead 8:01:2007, 12:17

Ну извините, значит проблема во мне blink.gif

Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)