Автор | Сообщение |
|
| |
Пост N: 2749
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.03.13 10:44. Заголовок: Getsecret из CT
В Clipper setcursor(1) tess:=getsecret(space(15),17,25,," Пароль ──> ") // курсор есть setcursor(0) В Harbour курсор почему то не включается
|
|
|
Ответов - 14
[только новые]
|
|
|
| постоянный участник
|
Пост N: 2739
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.03.13 10:53. Заголовок: Dima пишет: В Harbo..
Dima пишет: цитата: | В Harbour курсор почему то не включается |
| Какой Харбор ?
|
|
|
|
| |
Пост N: 2750
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.03.13 11:32. Заголовок: Andrey пишет: Какой..
Andrey пишет: Harbour 3.2 dev (последний с SVN)
|
|
|
|
| постоянный участник
|
Пост N: 2740
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.03.13 11:51. Заголовок: В хХарборе 1.2.1 ест..
В хХарборе 1.2.1 есть курсор. Под Харбором у меня опять не собирается зараза... C:\UTIL\GET>z:\HB32\BIN\hbmk2.exe GET_PASS.PRG Harbour 3.2.0dev (Rev. 18721) Copyright (c) 1999-2013, http://harbour-project.org/ Compiling 'GET_PASS.PRG'... Lines 509, Functions/Procedures 1 Generating C source output to 'C:\Users\Andrey\AppData\Local\T .c'... Done. C:\Users\Andrey\AppData\Local\Temp\hbmk_nc5uo8.dir\GET_PASS.c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Unable to open file 'HBEXTERN.LIB' hbmk2: Error: Running linker. 2
|
|
|
|
| |
Пост N: 85
Зарегистрирован: 19.05.05
|
|
Отправлено: 14.03.13 12:01. Заголовок: У меня в HARBOUR 3.0..
У меня в HARBOUR 3.0.0 (Rev. 16951) эта библиотекв есть. Может не все пересобрал?
|
|
|
|
| постоянный участник
|
Пост N: 2741
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.03.13 13:26. Заголовок: nick_mi пишет: Може..
nick_mi пишет: Я готовым пользуюсь 3.2 z:\HB32\BIN\hbmk2.exe GET_PASS.PRG - почему через hbmk2.exe сам не находит ???
|
|
|
|
| постоянный участник
|
Пост N: 844
Зарегистрирован: 27.01.07
|
|
Отправлено: 14.03.13 16:33. Заголовок: Напиши z:\HB32..
Напиши z:\HB32\BIN\hbmk2.exe -lHBEXTERN.LIB GET_PASS.PRG
|
|
|
|
| постоянный участник
|
Пост N: 2743
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.03.13 02:48. Заголовок: PSP пишет: Напиши z..
PSP пишет: цитата: | Напиши z:\HB32\BIN\hbmk2.exe -lHBEXTERN.LIB GET_PASS.PRG |
| Спасибо за подсказку. Но все равно не работает. Оказывается у меня нет библиотек для 3.2 для BCC и из-за этого не находит БИБЛИОТЕКУ ....
|
|
|
|
| |
Пост N: 3344
Зарегистрирован: 17.05.05
|
|
Отправлено: 02.08.13 15:52. Заголовок: Косяк еще один в это..
Косяк еще один в этой функции proc main local pass cls pass:=getsecret(space(15),17,25,," Password ── > ") ? pass return Собираем и вводим 222222 , затем трем это дело с помощью BackSpace и вводим 111 , жмем ввод На выходе имеем 111222 а должно быть 111 PS Если съехать в начало строки и удалять символы с помощью DEL , то картина та же
|
|
|
|
| |
Пост N: 3371
Зарегистрирован: 17.05.05
|
|
Отправлено: 13.08.13 16:13. Заголовок: Все еще актуально. М..
Все еще актуально. Может кто то предложит свою правку сырца ?
|
|
|
|
| |
Пост N: 114
Зарегистрирован: 08.07.06
|
|
Отправлено: 13.08.13 22:36. Заголовок: Dima пишет: Все еще..
Dima пишет: цитата: | Все еще актуально. Может кто то предложит свою правку сырца ? |
| Посмотри, может этот совершенно рабочий вариант пригодится: * ------------------------------------------------------ * STATIC FUNC GetPassString(aa,bb,cMessage,cString,nMaxLen,; cMaskChar,cColor,lNeedRedraw) LOCAL first:=TRUE,a,b,result,bx,save_isr,bk_Ins,sx DEFAULT cMaskChar TO "*" DEFAULT cColor TO "15/0" DEFAULT lNeedRedraw TO FALSE cMaskChar:=LEFT(cMaskChar,1) result :=cString @ aa,bb SAY cMessage+" " a:=ROW(); b:=COL() IF !is_read SET CURS ON bk_Ins:=SETKEY(K_INS,{||SetInsert()}) ENDI REPEAT IF ISBIT(KBDSTAT(),7) Message("Пароль может быть введен неправильно из-за нажатой клавиши CapsLock.","7/0") ELSE Message(,"7/0") ENDI @ a,b SAY SPACE(nMaxLen) COLOR cColor IF EMPTY(cMaskChar) @ a,b SAY result COLOR cColor ELSE @ a,b SAY REPL(cMaskChar,LEN(result)) COLOR cColor ENDI IF first; SETPOS(a,b); ENDI IF lNeedRedraw; EXIT; ENDI #ifdef __HARBOUR__ ch:=INKEY(0) #else ch:=INKEYTRAP(0) #endif IF ch=K_ESC; EXIT ELSEIF ch=K_BS IF LEN(result) > 0 result:=LEFT(result,LEN(result)-1) ENDI ELSEIF IsNotControl(CHR(ch)) .OR. (ch=255) sx:=result // сохраняем во врем.перем. IF first result:=CHR(ch); first:=FALSE ELSEIF LEN(result) < nMaxLen result+=CHR(ch) ENDI IF cbCP2(result) == FALSE // проверяем символы пароля на допустимость result:=sx // восстанавливаем в случае ошибки ENDI ENDI UNTIL (ch==K_ENTER) .OR. (ch==K_CTRL_ENTER) IF !is_read SETKEY(K_INS,bk_Ins) SET CURS OFF ENDI RETURN result is_read - глобальная переменная, указывающая, что где-то идет процесс @ GET / READ и курсор выключать не нужно. cbCP2 - функция, которая возвращает TRUE/FALSE в зависимости от того, введен допустимый символ или нет (у меня так отсекаются русские буквы, чтобы народ не парился "почему пароль не подходит")
|
|
|
|
| |
Пост N: 3372
Зарегистрирован: 17.05.05
|
|
Отправлено: 13.08.13 22:45. Заголовок: Sergy Спасибо завтр..
Sergy Спасибо завтра буду вникать !
|
|
|
|
|
| Администратор
|
Пост N: 2939
Зарегистрирован: 23.05.05
|
|
Отправлено: 14.08.13 10:49. Заголовок: Все еще актуально. М..
цитата: | Все еще актуально. Может кто то предложит свою правку сырца ? |
| contrib\hbct\getsecrt.prg, после строки 138 добавить строки: ELSEIF nKey == K_BS IF oGet:pos > 1 _cGetSecret := Padr( Left( _cGetSecret, oGet:pos - 2 ) + Substr( _cGetSecret, oGet:pos ), nLen ) ENDIF и до кучи: ELSEIF nKey == K_DEL _cGetSecret := Padr( Left( _cGetSecret, oGet:pos - 1 ) + Substr( _cGetSecret, oGet:pos + 1 ), nLen ) Извини, не проверял (с) PS С этим IE10 приходится ручками добавлять [ quote ] для цитирования, java включен. С mozilla естественно все ок.
|
|
|
|
| |
Пост N: 3373
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.08.13 11:03. Заголовок: Pasha Работает. Спа..
Pasha Работает. Спасибо !
|
|
|
|
| |
Пост N: 3374
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.08.13 11:07. Заголовок: Pasha пишет: PS С э..
Pasha пишет: цитата: | PS С этим IE10 приходится ручками добавлять [ quote ] для цитирования, java включен. С mozilla естественно все ок. |
| Проверил цитирование в IE 8 - работает правильно
|
|
|
|