Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2013, 13:54   #1
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию Cardreader & VBA (картридер)

Доброго дня, уважаемые форумчани!
Поставили задачку, для формирования актов. Решил сделать через форму, все вроде бы ничего, но есть один нюанс который, собственно, хочу спросить у вас.
При запуске формы, есть активный текстбокс1, после прокатывания карты через картридер (обычный эмулятор клавиатуры) вводится информация считанная с карты, НО... так устроен эмулятор что он ставит Enter не после считывания, а до... Получается что я считываю первую карту - она остается в текстбоксе1, считываю вторую - срабатывает нужный TextBox1_AfterUpdate. А мне нужно чтобы он срабатывал после чтения первой карты!

З.Ы. Прикреплять файл наверное не целесообразно, так как там обычная форма с 4-я текстбоксами, после TextBox1_AfterUpdate считанная информация преобразовывается в читабельный текст который распределяется по остальным текстбоксам.
Вложения
Тип файла: rar Пример.rar (15.8 Кб, 10 просмотров)

Последний раз редактировалось Fordros; 17.09.2013 в 15:09.
Fordros вне форума Ответить с цитированием
Старый 17.09.2013, 14:14   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я знаю картридер, которвый ставит два энтера в процессе - т.е. считывает первый трек, энтер, считывает второй трек, энтер.
Это чтение магнитной полосы - может Ваш читает чип?
И что вообще нужно с прочитанного получить?

Покажите пример файла с этим элементом, опишите задачу подробнее - может быть тогда будет проще помочь.
Делать файл лениво.

P.S. Всёж неполенился и сделал что-то корявое без кодов - забивается инфа сразу в два текстбокса, в каждый по треку.
Что Вам вообще нужно получить - так и не ясно.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 17.09.2013 в 14:21.
Hugo121 вне форума Ответить с цитированием
Старый 17.09.2013, 15:15   #3
Fordros
Пользователь
 
Регистрация: 26.06.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Я знаю картридер, которвый ставит два энтера в процессе - т.е. считывает первый трек, энтер, считывает второй трек, энтер.
Это чтение магнитной полосы - может Ваш читает чип?
И что вообще нужно с прочитанного получить?

Покажите пример файла с этим элементом, опишите задачу подробнее - может быть тогда будет проще помочь.
Делать файл лениво.

P.S. Всёж неполенился и сделал что-то корявое без кодов - забивается инфа сразу в два текстбокса, в каждый по треку.
Что Вам вообще нужно получить - так и не ясно.
Обычный (читает только магнитную полосу) и ставит энтер тоьлко вначале (пример: B5400000200055555^vasiliy/pupkin ^1508101191790000000000733000000)/

Мне нужно чтобы после "прокатки" карты срабатывал макрос (без нажатия какой-либо кнопки), причем фокус с текстбокса1 не уходил (катать будут много карт подряд)

Файл вложил в первый пост

Решил проблему с фокусом:

Код:
    Private ReturnPressed As Boolean
     
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       Cancel = ReturnPressed
    End Sub
     
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       If (KeyCode = vbKeyReturn) Then
           ReturnPressed = True
           ListBox1.AddItem TextBox1.Text
       Else
           ReturnPressed = False
       End If
    End Sub

Последний раз редактировалось Fordros; 17.09.2013 в 15:43.
Fordros вне форума Ответить с цитированием
Старый 17.09.2013, 16:08   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

С моим ридером и картой работает это всё вместе иначе, как я выше описал. Ну да ладно... Форму уволок, может пригодится куда-нибудь

P.S. Я катаю много подряд просто в текстовый файл, без всяких скриптов. Если случается несчитывание или брак - не страшно.
Когда файл готов - скармливаю его скрипту vbs, который вытягивает что нужно из текста и вываливает в нужном виде в новый файл xls.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 17.09.2013 в 16:14.
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отловить подключение SD через картридер chessnokk Win Api 5 22.02.2013 23:26
Access & Corel (VBA) AlOl Microsoft Office Access 0 01.08.2011 10:49
картридер Chudo4258 Помощь студентам 1 12.02.2010 21:21
VBA & Outlook Sparxy Microsoft Office Access 1 09.02.2009 17:37
VBA & Excel задача corsarlt Microsoft Office Excel 2 15.04.2008 14:51