![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить перемен.окружения? [D7, Win2k]
pit94 © (2007-04-09 22:31:00)в bat файле:
project.exe
echo %LLL%
В программе использую SetEnvironmentVariable. Насколько я понял переменная живет в до завершении программы. Как сделать , чтобы призавершении прог-ы bat файл получил переменную, ведь средствами bat файла это возможно (SET LLL=KUPLET).
Спасибо заранее.....
pit94 (2007-04-16 08:07:00) [1]Спасибо попробую
Leonid Troyanovsky (2007-04-14 23:01:00) [2]> Leonid Troyanovsky © (14.04.07 22:56) [14]
> .vbs:
Мда. Запускать следует cscript mystart.vbs
из комстроки (cmd.exe).
--
Regards, LVT.
Leonid Troyanovsky (2007-04-14 22:56:00) [3]
> pit94 (12.04.07 18:37) [13]
> Небходимо в консольном режиме запросить у пользователя дату.
> От введенной даты вычесть один день. Далее запустить bat
> файл. который запускает dos программу с параметром "Дата".
.vbs:
Const dg = """" 'Кавычка
Dim shell, date0
WScript.StdOut.WriteLine("Введите дату")
date0 = WScript.StdIn.ReadLine
if not IsDate(date0) then WScript.Quit
date0 = DateAdd("d", -1, date0)
Set shell = CreateObject("WScript.shell")
shell.run "mydosprogramm. exe " dg & date0 & dg
--
Regards, LVT.
pit94 (2007-04-12 18:37:00) [4]Небходимо в консольном режиме запросить у пользователя дату. От введенной даты вычесть один день. Далее запустить bat файл. который запускает dos программу с параметром "Дата".
Leonid Troyanovsky (2007-04-12 09:50:00) [5]
> pit94 (12.04.07 08:25) [11]
> Если у кого есть подобные решения или мысли, прошу поделиться.
А попонятней можешь изъясняться?
Что есть и что нужно, без домыслов, плиз.
--
Regards, LVT.
pit94 (2007-04-12 08:25:00) [6]К сожаленью все это должно работать под NT или под 98....
Жаль .... Пробовал эту проблему по другому решить.. вызывал консольное окно , далее запрашивал дату у User(a) даллее запускал bat файл с запуском в нем дос программу. Существуют две проблемы:
1) Создании компактного exe файла , т.к. дос программа очень требовательна к памяти .
2) Создании 16 разрядн.приложение (exe файл)
Вызов bat file делал через Createprocess.
Вот причина попытки перейти к переменным окружениям.
Если у кого есть подобные решения или мысли, прошу поделиться.....
{RASkov} (2007-04-11 22:41:00) [7]> Да строки в батнике нужно возвращать
Да еще и в национальном алфавите? т.е., например, русские.
Вообщем геморой хочешь.....
Чапаев (2007-04-11 21:34:00) [8]ну тогда пиши в файл в проге, а в батнике вызывай set /p LLL < myfile
Работать будет только на ХР и выше, насколько я знаю.
pit94 (2007-04-11 20:35:00) [9]Системную переменную мне нельзя использовать....
pit94 (2007-04-11 20:33:00) [10]
> оз
Да строки в батнике нужно возвращать
Чапаев (2007-04-11 08:29:00) [11]> Ведь я могу испоьзовать в bat ФАЙЛЕ конструкцию.
Ну так это ж всё в одном процессе выполняется. А call убери -- и будет тебе облом.
> Лучше бы посоветовали как обойти данную ситуацию.....
Хех. Создать системную переменную, например. Только за такое уши по самый корень отрывать надо в большинстве случаев.
{RASkov} (2007-04-11 02:33:00) [12]> а мне необходимо именно значение присвоенной от переменной
> заданной в программе(EXE).
Ничего не понял...
Для примера к [1]:
Батник:
---------
Project.exe
echo %ERRORLEVEL%
pause
---------
и в программе:
procedure TForm.FormClose(...);
begin
Randomize;
ExitCode:=Random(100);
end;
Или тебе строки нужно в батнике возвращать?
> Лучше бы посоветовали как обойти данную ситуацию.....
Ты поконкретнее скажи чего надо-то..
pit94 (2007-04-10 22:05:00) [13]This function has no effect on the system environment variables or the environment variables of other processes. For more information, see Environment Variables.
Лучше бы посоветовали как обойти данную ситуацию.....
pit94 (2007-04-10 22:03:00) [14]ExitCode - это результат работы... а мне необходимо именно значение присвоенной от переменной заданной в программе(EXE). Программа запускается из под BAT файла. А дальше в bat файле я буду использовать значение этой переменной. Ведь я могу испоьзовать в bat ФАЙЛЕ конструкцию.
содержимое rrr.bat
@echo off
cALL MY.BAT
echo %LLL%
содержимое me.bat
@Echo off
SET LLL=DOM
по окончании rrr.bat я на экране увижу "DOM"
Чапаев (2007-04-10 09:13:00) [15]This function has no effect on the system environment variables or the environment variables of other processes. For more information, see Environment Variables.
{RASkov} (2007-04-10 00:54:00) [16]> [0] pit94 (09.04.07 22:31)
> Как сделать , чтобы при завершении прог-ы bat файл получил
> переменную,
Тебе наверное ExitCode нужен, а не переменная окружения....