Форум » [x]Harbour » GET не вводит числа меньше 10 ... » Ответить

GET не вводит числа меньше 10 ...

Andrey: С прошедшими праздниками всех ! Столкнулся с БОЛЬШОЙ ПРОБЛЕМОЙ... Не могу ввести числа меньше 10, GET их просто не воспринимает... Компилирую xHarbour Compiler build 1.0.0 (SimpLex) Сделал тест: #include "inkey.ch" #include "common.ch" FUNCTION MAIN LOCAL aTarif:={}, nI, cNewDate, aDateTarif SETCOLOR("15/2") CLEAR SCREEN AAdd( aTarif, { "Тариф-1 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-2 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-3 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-4 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-5 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-6 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-7 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-8 :", 0.00, "9999.99 (руб.)" } ) AAdd( aTarif, { "Тариф-9 :", 0.00, "9999.99 (руб.)" } ) cNewDate := "01.01."+SUBSTR(STR(YEAR(DATE()),4),3) aDateTarif := PeriodDate( CTOD( cNewDate ), Date(), "Введите период нового тарифа:", @aTarif ) FOR nI:=1 to len(aDateTarif) ? aDateTarif[nI] NEXT RETURN NIL ********************************************************* FUNCTION PeriodDate(dTekDate1,dTekDate2,cStroka,aMassiv) LOCAL cScr2, cColor, x:=COL(), y:=ROW(), cTempScr, aRet:={} LOCAL aYX := {6, 8, 12, 67} , nYL:=0, xZn, cPict, GetList :={}, nI LOCAL cColor1:="0/7", cColor2:="15/7", cColor3:="14/7,15/0", cGet DEFAULT aMassiv TO {} aYX := {6, 8, 14, 67} ; nYL:=1 cColor1:="0/3" cColor2:="14/3" cColor3:="15/3,15/0" IF LEN(aMassiv) > 6 aYX := {3, 8, 3+9, 67} ENDIF cScr2 := SAVESCREEN(,,,,) cColor := SETCOLOR(cColor1) //MyWin( aYX[1], aYX[2]+2, aYX[3]-1+LEN(aMassiv), aYX[4],.T.," ",cColor,cColor2,cColor2) //LineHelp2Get() @ aYX[1]+1+nYL, aYX[2]+4 SAY PADC(cStroka,aYX[4]-aYX[2]-4) COLOR(cColor2) @ aYX[1]+3+nYL, aYX[2]+4 SAY " с " GET dTekDate1 PICTURE "99.99.99" COLOR(cColor3) @ aYX[1]+3+nYL, aYX[2]+30 SAY " по " GET dTekDate2 PICTURE "99.99.99" COLOR(cColor3) IF LEN(aMassiv) > 0 FOR nI:=1 TO LEN(aMassiv) @ aYX[1]+4+nI+nYL, aYX[2]+10 SAY aMassiv[nI,1] GET aMassiv[nI,2] PICTURE aMassiv[nI,3] COLOR(cColor3) NEXT ENDIF SET CURSOR ON READ SET CURSOR OFF RESTSCREEN(,,,,cScr2) IF LASTKEY() == K_ESC .OR. dTekDate1 > dTekDate2 Tone(900,.3) ;Tone(300,.5) ; Tone(900,.1) ELSE AADD(aRet,dTekDate1) AADD(aRet,dTekDate2) IF LEN(aMassiv) > 0 FOR nI:=1 TO LEN(aMassiv) AADD(aRet, aMassiv[nI,2]) NEXT ENDIF ENDIF SETCOLOR(cColor) @ y,x say "" RETURN aRet Хотелось бы пока остаться на прежней версии компилятора !

Ответов - 4

Pasha: Значит, примерно год назад была какая-то проблема с picture, которая уже пофиксена Если не хочется переходить на свежую версию xHb, надо собрать xHb 1.0.0 с модулем source\rtl\tget.prg (возможно и с другими модулями) от свежего xHb

Andrey: А можно ли кинуть мне на мыло 30195@mail.ru свежую (собранную) и РАБОЧУЮ версию xHb. Буду очень признателен... Или скиньте свежий tget.prg, я его добавлю в свой проект. В Клипере OBJ в программу добавляются сначала из проекта, потом из библиотек. В хХарборе наверно также ?

Pasha: Отправил tget и, на всякий случай, tgetlist. Правда, не от самой последней версии, но твой случай работает правильно Да, это модули (obj) можно просто прилинковать перед rtl.lib


Andrey: Спасибо Паша ! Заработало....



полная версия страницы