Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Как определить перемен.окружения?   Найти похожие ветки 

 
pit94   (2007-04-09 22:31) [0]

в bat файле:
project.exe
echo %LLL%

В программе использую SetEnvironmentVariable. Насколько я понял переменная живет в до завершении программы. Как сделать , чтобы призавершении прог-ы bat файл получил переменную, ведь средствами bat файла это возможно (SET LLL=KUPLET).
Спасибо заранее.....


 
{RASkov}   (2007-04-10 00:54) [1]

> [0] pit94   (09.04.07 22:31)
> Как сделать , чтобы при завершении прог-ы bat файл получил
> переменную,

Тебе наверное ExitCode нужен, а не переменная окружения....


 
Чапаев ©   (2007-04-10 09:13) [2]

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) [3]

ExitCode - это результат работы... а мне необходимо именно значение присвоенной от переменной заданной в программе(EXE). Программа запускается из под BAT файла. А дальше в bat файле я буду использовать значение этой переменной. Ведь я могу испоьзовать в bat ФАЙЛЕ конструкцию.
содержимое  rrr.bat
@echo off
cALL MY.BAT
echo %LLL%

содержимое me.bat
@Echo off
SET LLL=DOM

по окончании rrr.bat я на экране увижу  "DOM"


 
pit94   (2007-04-10 22:05) [4]

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-11 02:33) [5]

> а мне необходимо именно значение присвоенной от переменной
> заданной в программе(EXE).

Ничего не понял...

Для примера к [1]:
Батник:
---------
Project.exe
echo %ERRORLEVEL%
pause
---------

и в программе:

procedure TForm.FormClose(...);
begin
 Randomize;
 ExitCode:=Random(100);
end;


Или тебе строки нужно в батнике возвращать?

> Лучше бы посоветовали как обойти данную ситуацию.....

Ты поконкретнее скажи чего надо-то..


 
Чапаев ©   (2007-04-11 08:29) [6]

> Ведь я могу испоьзовать в bat ФАЙЛЕ конструкцию.
Ну так это ж всё в одном процессе выполняется. А call убери -- и будет тебе облом.

> Лучше бы посоветовали как обойти данную ситуацию.....
Хех. Создать системную переменную, например. Только за такое уши по самый корень отрывать надо в большинстве случаев.


 
pit94   (2007-04-11 20:33) [7]


> оз

Да строки в батнике нужно возвращать


 
pit94   (2007-04-11 20:35) [8]

Системную переменную мне нельзя использовать....


 
Чапаев ©   (2007-04-11 21:34) [9]

ну тогда пиши в файл в проге, а в батнике вызывай set /p LLL < myfile
Работать будет только на ХР и выше, насколько я знаю.


 
{RASkov}   (2007-04-11 22:41) [10]

> Да строки в батнике нужно возвращать

Да еще и в национальном алфавите? т.е., например, русские.
Вообщем геморой хочешь.....


 
pit94   (2007-04-12 08:25) [11]

К сожаленью все это должно работать под NT или под 98....
Жаль .... Пробовал эту проблему по другому решить.. вызывал консольное окно , далее запрашивал дату у User(a) даллее запускал bat файл с запуском в нем дос программу. Существуют две проблемы:
1) Создании компактного exe файла , т.к. дос программа очень требовательна к памяти .
2) Создании 16 разрядн.приложение (exe файл)
Вызов bat file делал через Createprocess.

Вот причина попытки перейти к переменным окружениям.
Если у кого есть подобные решения или мысли, прошу поделиться.....


 
Leonid Troyanovsky ©   (2007-04-12 09:50) [12]


> pit94   (12.04.07 08:25) [11]

> Если у кого есть подобные решения или мысли, прошу поделиться.

А попонятней можешь изъясняться?
Что есть и что нужно, без домыслов, плиз.

--
Regards, LVT.


 
pit94   (2007-04-12 18:37) [13]

Небходимо в консольном режиме запросить у пользователя дату. От введенной даты вычесть один день. Далее запустить  bat файл. который запускает dos программу с параметром "Дата".


 
Leonid Troyanovsky ©   (2007-04-14 22:56) [14]


> 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.


 
Leonid Troyanovsky ©   (2007-04-14 23:01) [15]

> Leonid Troyanovsky ©   (14.04.07 22:56) [14]
> .vbs:

Мда. Запускать следует cscript mystart.vbs
из комстроки (cmd.exe).

--
Regards, LVT.


 
pit94   (2007-04-16 08:07) [16]

Спасибо попробую



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
1-1185876024
Solo
2007-07-31 14:00
2007.10.14
А где модуль ShareMem в Delphi 2006?


15-1189550634
iZEN
2007-09-12 02:43
2007.10.14
Россия испытала самую мощную в мире вакуумную бомбу


15-1189676487
zdm77
2007-09-13 13:41
2007.10.14
Хранение настроек.


2-1189625872
aids
2007-09-12 23:37
2007.10.14
матрица


2-1189862117
Cardinalius
2007-09-15 17:15
2007.10.14
Ошибка при создании файла