IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Программа "ask"
jetman
сообщение 21.10.2005 14:23
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Стоит задача написать bat файл для работы с командой attrib, так вот для этого мне похоже понадобится программа "ask" (выводит некое сообщение и предлагает ввести одну из заранее описанных команд, к примеру ASK "Hello, for help enter h", h), если кто ее встречал киньте пожалуйста ссылочку.
Заранее прошу прощения если написано не в той ветке...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
volvo
сообщение 21.10.2005 15:18
Сообщение #2


Гость






jetman, телепатов нет... Нужна помощь - переформулируй задание. То, что ты написал
Цитата
предлагает ввести одну из заранее описанных команд
- никакой смысловой нагрузки не несет. Кем описанных? Где описанных? В каком формате?

Приведи 4-5 примеров вызова ASK и тот результат, который должен возвращаться (и, кстати, КАК он должен возвращаться, если уже ты упомянул про BAT-файлы.)
Или полностью сформулируй основную задачу, возможно есть другой способ ее решения...
 К началу страницы 
+ Ответить 
jetman
сообщение 21.10.2005 18:00
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Значит так, формат команды:
ASK "сообщение", список-символов
Пример1: ASK "Запусить программу ALFA[Y/N]?", YN
При ответе N значение переменной ERRORLEVEL=2, при Y - 1.
Пример2: Командный файл выбора из трех игр(DIGGER, CAT, TETRIS).
Код

echo off
echo Выберите игру
echo D - DIGGER
echo T - TETRIS
echo C - CAT
ask "Введите D, T или C:", DTC
if errorlevel 3 goto cat
if errorlevel 2 goto tetris
digger
goto exit
:tetris
tetris
goto exit
:cat
cat
:exit

Как видно из примера при помощи программы ASK можно достаточно легко реализовать полноценное меню в командном файле. Ну вот вообщем-то и все.

Сообщение отредактировано: jetman - 21.10.2005 18:01
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
jetman
сообщение 21.10.2005 18:06
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Если конкретно по моей задаче, то: Разработать командный файл, предназначенный для изучения команды ATTRIB. В меню предусмотреть вывод справки по данной команде, а также не менее четырех примеров с пояснениями. В примерах сначала выводить саму команду, а потом результаты ее работы.
Код

echo off
cls
echo Attrib v.1.0
md \Attrib
attrib /?
echo Create text file please and press ctrl+z :
copy con \Attrib\file1.txt
attrib \Attrib\file1.txt -S
attrib \Attrib\file1.txt -H
attrib \Attrib\file1.txt -R
attrib \Attrib\file1.txt -A
echo Add ReadOnly (attrib +R)
attrib \Attrib\file1.txt +R
attrib \Attrib\file1.txt
pause
echo Add Archive (attrib +A)
attrib \Attrib\file1.txt +A
attrib \Attrib\file1.txt
pause
echo Add System (attrib +S)
attrib \Attrib\file1.txt +S
attrib \Attrib\file1.txt
attrib \Attrib\file1.txt -S
attrib \Attrib\file1.txt -R
del \Attrib\file1.txt
rd \Attrib
pause


Сообщение отредактировано: jetman - 21.10.2005 18:07
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.10.2005 18:33
Сообщение #5


Гость






jetman, так пойдет? Если не заданы 2 параметра, то программа просто завершает выполнение и возвращает 0 в ERRORLEVEL ...
uses crt;

var
s: string;
Options: Set Of Char;
i: integer;
ch: Char;

begin

If ParamCount < 2 Then Halt(0);
Write(ParamStr(1));

Options := [];
s := ParamStr(2);
For i := 1 To Length(s) Do Begin
s[i] := UpCase(s[i]);
Options := Options + [ s[i] ];
End;

Repeat
Ch := ReadKey;
Until UpCase(Ch) In Options;
Halt( Pos(UpCase(Ch), s) );
end.

 К началу страницы 
+ Ответить 
trminator
сообщение 21.10.2005 21:26
Сообщение #6


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Если необязательно писать свою программу, то была такая штука в DOS/Win9x (кажется) -- choice.exe. В ХР ее не вижу, но на сайте Microsoft есть информация по ней, можно попытаться поискать отдельно (в Resource Kit'ах, может, осела каких, или из того же Win2003 выдрать, о котором в статье толкуется)


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 21.10.2005 22:08
Сообщение #7


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


choice.com есть в Win98:


Прикрепленные файлы
Прикрепленный файл  CHOICE.zip ( 2.97 килобайт ) Кол-во скачиваний: 142


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.10.2005 22:23
Сообщение #8


Гость






Ребята, про "Resource Kit for Windows NT" слышали? Так вот там оно точно есть (Windows NT, 2000, XP) :yes: ... Хотя, в принципе, зачем, если написанная программа делает то, что нужно?
 К началу страницы 
+ Ответить 
xds
сообщение 22.10.2005 5:09
Сообщение #9


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Программа "ASK" являлась частью пакета "Norton Integrator", который в последствие переродился в "Notron Utilites", а "ASK" была интегрирована в программу "Batch Enhancer". Формат вызова - аналогичный, т.е. BE ASK "сообщение", список-символов.

BE из NU 8.0: Прикрепленный файл  be.zip ( 18.67 килобайт ) Кол-во скачиваний: 380


P. S. Помнится, в детстве очень весело забавлялся с этой штукой :D


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
jetman
сообщение 22.10.2005 6:24
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


ОГРОМНОЕ вам всем спасибо. Все работает!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:13
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"