Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.045 c
15-1190128267
VirEx
2007-09-18 19:11
2007.10.14
Российская demoкратия (с)


1-1185968425
Alexey 12
2007-08-01 15:40
2007.10.14
Как узнать, что файл не используется другой программой?


2-1189756777
AllDer
2007-09-14 11:59
2007.10.14
таймаут сокета


15-1189569624
Slider007
2007-09-12 08:00
2007.10.14
С днем рождения ! 12 сентября 2007 среда


2-1190362660
Анна
2007-09-21 12:17
2007.10.14
иконка в Tray





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский