[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, ![]() |
|
|
| ||
Может, ещё не все старушку ДОС забыли? Нужна помощь... В общем, есть такая задача: 1. Имеется ДОСовская программа; в неё с клавиатуры вносятся данные с бумажного носителя. 2. Внутренний формат хранения внесённых данных известен, в лучшем случае, автору программы. 3. Данных на бумажном носителе много, но они легко могут быть вытащены в Excel или любой другой удобный формат. 4. Вколачивать вручную неудобно и долго (сроки жмут, как ботинки на 2 размера меньше) 5. Надо посылать ДОСовской программе коды нажимаемых клавиш, чтобы она считала, что это нажимают на клавиатуре. Переварить свои данные в соответствующую последовательность клавиш я могу и сам, но вот как их программе переслать? Полагаю, надо поиграть с ДОСовой консолью, только стандартное перенаправление ввода не работает (это то, которое с помощью <<). Может, кто-то уже сталкивался с подобной задачей? Да, чуть не забыл - программа фоксовая, если это вдруг важно... Заранее благодарен всем откликнувшимся по теме! |
| ||
1. Рефокс и внести изменения в софтину, чтобы из ДБФ или ТХТ с разделителями загонялось в базу автоматом 2. Просто отдельной софтиной, которая зная структуру пишется за полчаса загонять в ДБФ данные из, повторюсь, ДБФ или ТХТ с разделителями.. кои формируются в том же Мокселе... или эта фоксовая прога не в ДБФ хранит данные?.,:) |
| ||
Сонному: 1. рефокса нет 2. структура самого ДБФ-файла загадкой не является, вот только там ДБФ-табличек целая гора, схема данных далеко не прозрачна... Времени разбираться нет. |
| ||
Отвечаю сам себе: можно в виндах написать программульку, хоть в том же VBA, которая будет использовать функцию SendKeys активному окну - вроде всё должно получиться, можно даже функциональные клавиши передавать. Вечером попробую. |
| ||
И ещё раз сам себе отвечу - SendKeys не сработал... В хелпе прописано, что эта штука проходит для приложений, разработанных для Microsoft Windows, старенький FoxPro2.6 для этого не катит... Есть альтернатива - keybd_event, он сидит в виндовой библиотеке user32, у него четыре параметра, один из которых - скэн-код нажимаемой клавиши... Осталось найти таблицу скэн-кодов, и дело будет за малым. |
| ||
не в ту сторону паришься. ищи тех хелп по досу-биосу, ф-ям. красивая такая справочника, в текстовой моде. Ее кури. |
| ||
Радостно сообщаю, что с проблемой справился! В эпоху виндовсов и т.п. влезать в досовские прерывания, буферы клавиатуры и т.п. как-то не хочется, да и некогда; кроме того, исходные данные в Экселе имеются - велосипед изобретать не хочется. Нашёл WinAPI функцию keybd_event, она в самый раз проходит. И таблицу скэн-кодов нашёл (яндексу спасибо отдельное). Так что обсуждение можно закрыть. Спасибо всем откликнувшимся! |
| ||
Может, ещё не все старушку ДОС забыли? Нужна помощь... В эпоху виндовсов и т.п. влезать в досовские прерывания, буферы клавиатуры и т.п. как-то не хочется, да и некогда; кроме того, исходные данные в Экселе имеются - велосипед изобретать не хочется. как то ты сам себе противоречишь |
| ||
как то ты сам себе противоречишь На первый взгляд - действительно, противоречу. Но так уж получилось, что в ходе поиска решения я отказался от чисто досовского программирования, хотя изначально чуть ли не с отчаяния хотел было даже в прерывания влезать, да вовремя одумался. Вот такой я загадочный... :)) |
| ||
Зря. Красивая веща- прерывания. Не то что эти жестко зашитые ф-и, к которым к тому же х...н ДОСтучишься. |
| ||
Ну... красиво - не красиво - не тогда решать, когда сроки горят. А вот посылкой в ДОС-окно кодов клавиш всё благополучно разрешилось, геморрой снят |