![]() |
Адреса переменных
Есть прога на паскале (исп-ся WinCRT, запускается под XP), в процессе диалога с юзером она запрашивает пару-тройку параметров, к-рые вводятся в опр. переменные. На основе введенного выдается результат расчета (также какая-то переменная). Прога завершает работу. Задача состоит в том, чтобы в цикле запускать на выполнение эту прогу с различными входными параметрами и соотв-но записывать в какой-то фалик результаты расчета. Насколько я понимаю, надо узнать адреса интересуемых переменных для возможности чтения и записи?
|
конкретизируем ситуацию:
Допустим имеется простейшая прога, к-рая запрашивает у юзера число "а", записывая его в переменную a:integer. После ввода она высчитывает квадрат данного числа, т.е. b=a*a и пишет на экран значение b. Возможно ли написание другой проги, к-рая бы автоматически запускала 1ю, скажем 100 раз на предмет, если бы юзер захотел т.о. узнать квадраты целых чисел от 1 до 100? |
Так ты запрашиваешь юзера после вывода еще раз ввести переменную
while a<>100 do begin readln(a); {============} {Body of Program} {...} end; Соррите если че то не понял |
нет, там не все так просто, ситуация выше просто утрирована. Задача состоит именно в том, чтобы не делать изменения в исходниках 1й.
Я думаю, а может просто сделать батничек, который будет запускать сто раз прогу в таком стиле: Код:
myprog <infile >outfileДобавлено через 38 минут: но как сделать конкретно? |
ИМХО батник - это единственный выход. СОМ технология не катит... DLL не попользуешь...
|
блииин, не врублюсь, в чем дело, в исходниках этой проги на паскудном для вывода инфы юзается writeln, который пишет не на станд. вывод, а просто на экран (заметьте, это не одно и то же). Поэтому метод как я написал выше не прокатывает. Как исправить? я что-то ниче не нашел в хелпе по этому поводу..
Добавлено через 1 час и 37 минут: есть простейший код: Код:
Uses Crt;но вот чудо, почему не срабатывает редиректинг в файл: %prog.exe > outfile ???????????????????? Причем это происходит как под винХР команд-лайном cmd, так и под эмулирующем Dos 5.x Volkov Comander (т.е. под чистым досом, последнего у меня не было, чтобы убедиться, что это именно так) |
приведи пример того кода, где у тебя стандартный оутпут меняют на другой
|
vladoss
Отруби Crt. |
не помогает
|
vladoss
Замени текст assign(f, 'Con'); rewrite(f); writeln(f, 'Hello world!'); close(f); на writeln('Hello world!'); и все. Будет использоваться стандартный вывод на экран, который можно перенаправить в файл. |
snowman2002
если бы так было, то думаешь я бы стал разводить тут демагогию? |
| Часовой пояс GMT +4, время: 05:24. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.