imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 07.04.2004, 19:12     # 1
vladoss
Junior Member
 
Аватар для vladoss
 
Регистрация: 23.06.2003
Сообщения: 196

vladoss Путь к славе только начался
Адреса переменных

Есть прога на паскале (исп-ся WinCRT, запускается под XP), в процессе диалога с юзером она запрашивает пару-тройку параметров, к-рые вводятся в опр. переменные. На основе введенного выдается результат расчета (также какая-то переменная). Прога завершает работу. Задача состоит в том, чтобы в цикле запускать на выполнение эту прогу с различными входными параметрами и соотв-но записывать в какой-то фалик результаты расчета. Насколько я понимаю, надо узнать адреса интересуемых переменных для возможности чтения и записи?
vladoss вне форума  
Старый 08.04.2004, 01:29     # 2
vladoss
Junior Member
 
Аватар для vladoss
 
Регистрация: 23.06.2003
Сообщения: 196

vladoss Путь к славе только начался
конкретизируем ситуацию:

Допустим имеется простейшая прога, к-рая запрашивает у юзера число "а", записывая его в переменную a:integer. После ввода она высчитывает
квадрат данного числа, т.е. b=a*a и пишет на экран значение b.

Возможно ли написание другой проги, к-рая бы автоматически запускала 1ю, скажем 100 раз на предмет, если бы юзер захотел т.о. узнать квадраты целых чисел от 1 до 100?
vladoss вне форума  
Старый 08.04.2004, 02:25     # 3
LN berf
Member
 
Аватар для LN berf
 
Регистрация: 05.08.2003
Сообщения: 290

LN berf Луч света в тёмном царствеLN berf Луч света в тёмном царствеLN berf Луч света в тёмном царствеLN berf Луч света в тёмном царствеLN berf Луч света в тёмном царстве
Так ты запрашиваешь юзера после вывода еще раз ввести переменную
while a<>100 do
begin
readln(a);
{============}
{Body of Program}
{...}
end;

Соррите если че то не понял
__________________
Кончив одно дело, начинай другое.
LN berf вне форума  
Старый 08.04.2004, 16:43     # 4
vladoss
Junior Member
 
Аватар для vladoss
 
Регистрация: 23.06.2003
Сообщения: 196

vladoss Путь к славе только начался
нет, там не все так просто, ситуация выше просто утрирована. Задача состоит именно в том, чтобы не делать изменения в исходниках 1й.
Я думаю, а может просто сделать батничек, который будет запускать сто раз прогу в таком стиле:

Код:
myprog <infile >outfile
Тогда прога будет читать не с клавиатуры, а с готового файла инфайл, а писать будет в аутфайл, который можно проанализировать?

Добавлено через 38 минут:
но как сделать конкретно?
vladoss вне форума  
Старый 08.04.2004, 18:18     # 5
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
ИМХО батник - это единственный выход. СОМ технология не катит... DLL не попользуешь...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 13.04.2004, 01:36     # 6
vladoss
Junior Member
 
Аватар для vladoss
 
Регистрация: 23.06.2003
Сообщения: 196

vladoss Путь к славе только начался
блииин, не врублюсь, в чем дело, в исходниках этой проги на паскудном для вывода инфы юзается writeln, который пишет не на станд. вывод, а просто на экран (заметьте, это не одно и то же). Поэтому метод как я написал выше не прокатывает. Как исправить? я что-то ниче не нашел в хелпе по этому поводу..

Добавлено через 1 час и 37 минут:
есть простейший код:
Код:
Uses Crt;
var f:text;
begin
assign(f, 'Con');
rewrite(f);
writeln(f, 'Hello world!');
close(f);
end;
Компилируем Borland Pascal 7.0.
но вот чудо, почему не срабатывает редиректинг в файл:
%prog.exe > outfile
????????????????????
Причем это происходит как под винХР команд-лайном cmd, так и под эмулирующем Dos 5.x Volkov Comander (т.е. под чистым досом, последнего у меня не было, чтобы убедиться, что это именно так)

Последний раз редактировалось vladoss; 13.04.2004 в 12:33.
vladoss вне форума  
Старый 14.04.2004, 20:58     # 7
Ersh
Guest
 
Сообщения: n/a

приведи пример того кода, где у тебя стандартный оутпут меняют на другой
 
Старый 14.04.2004, 21:19     # 8
albo
Advanced Member
 
Аватар для albo
 
Регистрация: 20.08.2003
Адрес: Москва
Пол: Male
Сообщения: 402

albo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царстве
vladoss
Отруби Crt.
albo вне форума  
Старый 16.04.2004, 02:14     # 9
vladoss
Junior Member
 
Аватар для vladoss
 
Регистрация: 23.06.2003
Сообщения: 196

vladoss Путь к славе только начался
не помогает
vladoss вне форума  
Старый 16.04.2004, 16:06     # 10
snowman2002
Junior Member
 
Регистрация: 13.09.2002
Адрес: russia
Сообщения: 92

snowman2002 Путь к славе только начался
vladoss
Замени текст
assign(f, 'Con');
rewrite(f);
writeln(f, 'Hello world!');
close(f);

на
writeln('Hello world!');
и все.

Будет использоваться стандартный вывод на экран, который можно перенаправить в файл.
snowman2002 вне форума  
Старый 16.04.2004, 16:09     # 11
vladoss
Junior Member
 
Аватар для vladoss
 
Регистрация: 23.06.2003
Сообщения: 196

vladoss Путь к славе только начался
snowman2002
если бы так было, то думаешь я бы стал разводить тут демагогию?
vladoss вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:43.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.