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

  • Автор темы sidd
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

sidd

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

Barmutik

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

Мда :)
 
S

sidd

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

Barmutik

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

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

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

pinhead

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

Maniacosaur

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

pushkin

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

Вот вам линк на такую программу на java script:
 
P

pinhead

Код:
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:
 
P

pushkin

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

Kmet

Well-known member
25.05.2006
904
8
BIT
0
Лично я не вижу решения этой задачи для компилируем языков высокого уровня. И имхо его не существует. (всякие извращения вроде запихнуть исходники в ресурсы или еще куда-нибудь решением не считаю)
 
M

morpheus

<!--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 (непомню, давно было) таккая функция есть
 
P

pushkin

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

pushkin

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

Код:
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:))

Вот линк, откуда я все это взял:
 
B

Barmutik

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

Спасибо! :blink:
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
Для: pushkin
не очень какое то решение, исходник явно запихнут. хотя конечно условию задачи соотвествует.
 
P

pushkin

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

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, так как курсор после перехода на новую строку в начале строки не находится.
Вот по моему более правильный код :) :
Код:
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:
 
B

Barmutik

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

pinhead

Ну извините, значит проблема во мне :(
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!