принять несколько символов с клавиатурі | |
---|---|
vodaic Автор Сообщений: 188 Откуда: Киев, Украина Дата регистрации: 24.02.2009 |
Совсем "заблудился". Как, работая в интерпретаторе (окно Command), принять с клавиатуры ексколько символов? Без создания формы.
Спасибо! |
Re: принять несколько символов с клавиатурі | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Однако... Такой трактовки я еще не видел... Интрепретация - всего лишь один из способов трансляции и к упомянутому окну отношения не имеет. И ВСЯ работа фокса - интерпретация. И весь фокс и есть интерпретатор. Цитата:Принять куда? ------------------ Лень - это неосознанная мудрость. Исправлено 1 раз(а). Последнее : ssa, 31.07.17 11:28 |
Re: принять несколько символов с клавиатурі | |
---|---|
vodaic Автор Сообщений: 188 Откуда: Киев, Украина Дата регистрации: 24.02.2009 |
Разумеется, в некоторую переменную.....
|
Re: принять несколько символов с клавиатурі | |
---|---|
Taran Сообщений: 13625 Откуда: Красноярск Дата регистрации: 16.01.2008 |
|
Re: принять несколько символов с клавиатурі | |
---|---|
spinz Сообщений: 5263 Дата регистрации: 21.01.2016 |
Думал, что принять = накатить
|
Re: принять несколько символов с клавиатурі | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ну так "символы с клавиатуры" именно в это самое окно Command и попадают, и там отображаются в буковки/циферки, либо выполняют свои действия
Если нужно получить "код одной клавиши" то можно использовать INKEY(0), если просто строку - то я вообще не вижу проблем написать переменная = "..." и в кавычках эту самую строку и прописать ------------------ WBR, Igor |
Re: принять несколько символов с клавиатурі | |
---|---|
vodaic Автор Сообщений: 188 Откуда: Киев, Украина Дата регистрации: 24.02.2009 |
Спасибо! Именно это мне и надо. |
Re: принять несколько символов с клавиатурі | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
хех, засунуть строку в буфер обмена, это "принять несколько символов с клавиатурі" - да, дела...
------------------ WBR, Igor |
Re: принять несколько символов с клавиатурі | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Может я и ошибаюсь, но мне кажется, надо было таки совсем не это. Поскольку: делается совершенно без предложенной выше, немного непонятной кстати зачем, конструкции. А всего лишь элементарным присвоением в командном окошке значений любой переменной:
Ну, в случае необходимости, можно иногда еще перед таким присвоением расширять область видимости переменной элементарным вводом в командной строке объявления глобальной видимости для данной переменной:
Но при чем тут занесение в буфер памяти? Да еще и производимое через команду InputBox? Если это не шутка конечно. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) Исправлено 1 раз(а). Последнее : Crispy, 02.08.17 08:20 |
Re: принять несколько символов с клавиатурі | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Переменные создаваемые в командном окне (путём присвоения им значения) по умолчанию и так будет Public. Единственное исключение - это если в командное окно мы зашли при работающей/активной программе приостановленной отладчиком (если программу не приостановить, то и в командном окне ничего "исполняться" не будет - даже если его активировать) - тогда по сути все вводимые команды исполняются в контексте того метода/процедуры в которой и находится текущая "точка останова", ну и соответственно переменные создаются как Private - т.е. вот тут как раз команда Public имеет смысл (например "запомнить" локальную переменную для последующей отладки работы с ней уже вне контекста текущего метода/процедуры). Если это метод, то даже можно использовать псевдопеременные this/thisform...
А уж что нужно было авторы темы - это загадка ------------------ WBR, Igor |
Re: принять несколько символов с клавиатурі | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Ну я собственно и имел в виду именно такой случай изредка возникающей необходимости использования дополнительной видимости.
А так - да, все похоже осталось загадкой. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: принять несколько символов с клавиатурі | |
---|---|
Taran Сообщений: 13625 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Ну кому как. Я то угадал. ;) |
Re: принять несколько символов с клавиатурі | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Есть вариант присвоить в командном окне значение переменной, при котором по умолчанию она создастся как PRIVATE. Для этого в Command пишем 2 строки, не выполняя каждую из них в отдельности:
На экране видим, что переменная была создана как PRIVATE. |
Re: принять несколько символов с клавиатурі | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Думаю, ты угадал только с Inputbox, а буфер обмена ТС заполнять не требовалось. Достаточно было для приема использовать любую переменную. |
Re: принять несколько символов с клавиатурі | |
---|---|
Taran Сообщений: 13625 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Ну это мы еще в 90х с ани кей попарились. Спасибо. |
Re: принять несколько символов с клавиатурі | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Когда в командном окне выделяется даже всего одна строка с командой и нажимается enter, либо вызывается пункт контекстного меню Execute Selection, фокс сбрасывает эти самые выделенные символы во временный prg файл (в %temp% папке), компилирует его и запускает на исполнение. Естественно, это будет совсем не выполнение одной команды в командном окне, поэтому и переменная будет не public ну и вообще много всяких других отличий будет видно (те же PROGRAM, ASTACKINFO, что IMHO очевидно).
Кстати, это причина возникновения кучи фоксовых .err а иногда ещё и prg и fxp файлов (если фокс совсем "помрёт" во время выполнения такого "анонимного блока кода" - ну или на время пока активен отладчик - т.к. тот же SET STEP ON совершенно легален в этих ситуациях) во временной папке винды. Ну и для полноты картины - вызывать "Execute Selection" можно из любого фоксового окна редактора кода - из редактора prg, или редактора кода методов в визуальном дизайнере форм/классов... ------------------ WBR, Igor |
Re: принять несколько символов с клавиатурі | |
---|---|
vodaic Автор Сообщений: 188 Откуда: Киев, Украина Дата регистрации: 24.02.2009 |
Вот уж не думал, что простой вопрос вызовет такой резонанс.
Думал, что получил достаточно удобный ответ на вопрос и тема "умолкнет" Поэтому увидел ее продолжение только сейчас. Потребность простая. Некоторые действия должны выполниться 30 раз. При этом за каждым проходом выполнения надо задать свое значение некоторой переменной. Пишется "на коленке" программка в 50-60 строк и в окне МАЗ запускается программка через "Programm"---"Do". А для каждого прохода с клавиатуры принимается несколько символов, оригинальных для каждого прохода. И менно Inputbox() и оказался тем инструментарием, которой мне и был нужен. Абсолютно всем, принявшим участие в ликвидации моей "дремучести" БОЛЬШОЕ СПАСИБ! |
Re: принять несколько символов с клавиатурі | |
---|---|
vodaic Автор Сообщений: 188 Откуда: Киев, Украина Дата регистрации: 24.02.2009 |
В догонку: МАЗ - это VFP
|
Re: принять несколько символов с клавиатурі | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Странный подход. Проще сделать курсор, забить в него нужное количество записей и потом сделать цикл по нему. 30 раз подряд вылазящий inputbox это, мягко говоря, неудобно.
------------------ WBR, Igor |
Re: принять несколько символов с клавиатурі | |
---|---|
vodaic Автор Сообщений: 188 Откуда: Киев, Украина Дата регистрации: 24.02.2009 |
С этим согласен полностью. Только лень мне была строить циклы. Хотел попроще. За одно и функцию вспомнил... |
© 2000-2024 Fox Club  |