Jump to content
Fivewin Brasil

Search the Community

Showing results for tags 'TGet'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Forums

  • FiveWin
    • WorkShop
    • Advantage Server
    • FiveScript
    • FiveWin Avaliação
    • TopConnect
    • Classes
    • Programação
    • FiveWin - Conversão de 16 bits para 32 bits
    • Seminário
    • Artigos / Tutoriais
    • Off - Topic
  • Suporte Estendido
    • Duvidas Gerais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 2 results

  1. ola a todos alguem sabe me dizer como solucionar esse error.log na classe tGet ? Application =========== Path and name: C:\SIG\Sistemas\CompuRMT.exe (32 bits) Size: 5,513,728 bytes Time from start: 0 hours 13 mins 19 secs Error occurred at: 07/05/19, 17:15:38 Error description: Error BASE/1082 Erro nos parƒmetros: - Args: [ 1] = U NIL [ 2] = N 1 Stack Calls =========== Called from: \Sistemas\SIG_WIN\Projeto\CompuXHB\tget.prg => GET:DELETE(2163) Called from: C:\Sistemas\Contrib\TVGET.PRG => TVGET:KEYDOWN(749) Called from: => TWINDOW:HANDLEEVENT(0) Called from: source\classes\control.prg => TVGET:HANDLEEVENT(1483) Called from: source\classes\window.prg => _FWH(3391) Called from: => DIALOGBOXINDIRECT(0) Called from: source\classes\dialog.prg => TDIALOG:ACTIVATE(273) a linha 2163 da tGet eh a em negrito/vermelho: METHOD _Delete( lDisplay ) CLASS Get LOCAL nMaxLen := ::nMaxLen, n, xBuff DEFAULT lDisplay TO .t. ::Clear := .f. ::lEdit := .t. if ::lPicComplex // Calculating diferent nMaxLen for ::lPicComplex for n := ::Pos to nMaxLen if !::IsEditable( n ) exit endif next nMaxLen := n - 1 endif if ::type == "N" .and. SubStr( ::buffer, ::Pos, 1 ) IN "(-" ::minus := .f. endif /* 2006/OCT/06 - E.F. Added new @K+ functionality to empty * get buffer if first key pressed is DEL key. */ if ( "K+" IN ::cPicFunc .and. ::Pos == ::FirstEditable() ) .or.; ::lNumToLeft .and. !IsDigit( SubStr(::buffer, ::Pos, 1 ) ) ::DeleteAll() else /* 2007/FEB/24 - E.F. - Adjust ::Pos value under @L picture */ if ::lNumToLeft if ::lDecPos if ::Pos < ::DecPos ::Pos++ endif if ::Pos-1 < ::DecPos ::lDecPos := .f. endif elseif ::lNeverDeleted .or. ( IsDigit( Right(::buffer,1)) .and. ::Pos+1 == ::nMaxLen ) ::Pos++ endif endif xBuff := ::buffer ::buffer := PadR( SubStr( ::buffer, 1, ::Pos - 1) + ; SubStr( ::buffer, ::Pos + 1, nMaxLen - ::Pos ) + " " +; SubStr( ::buffer, nMaxLen + 1 ), ::nMaxLen ) if ::lPassword .and. ( ! (xBuff == ::buffer) .or. ::nPasswordLen >= ::Pos ) ::nPasswordLen := Max(0,::nPasswordLen-1) endif endif if ::type == "D" .OR. ::type == "T" ::BadDate := IsBadDate( ::buffer, ::cPicFunc ) else ::BadDate := .f. endif ::Changed := .T. if ::lNeverDeleted ::lNeverDeleted := .F. endif if lDisplay ::Display() endif return Self desde ja fico agradecido: MUITO OBRIGADO !!!
  2. Redefine Get oGt[4]; Var cStr[5] ; Update; ID 108; Picture "999,999.99" ; of oDlg Procedure TrocaMascara() cMascara := "999,999.999" oGt[4]:cPicture := cMascara oGt[4]:oGet:Picture := cMascara oGt[4]:Refresh() Return Com essa procedure a máscara é modificada, mas apenas se eu pressionar "." ( ponto ) antes do primeiro decimal ser adicionado Exemplo das teclas pressionadas 123.456 = OK => 123.456 12345.678 = OK => 12,345.678 123456.789 = OK => 123,456.789 123456789 = Falha => 123,456.780 1234567.89 = Falha => 123,456.790 12345678.9 = Falha => 123,456.790 Na classe TGet achei no método KeyChar esse trecho, que aparentemente é o responsável por esse funcionamento mas não consegui implementar if ::oGet:Type == "N" .and. ( Chr( nKey ) == "." .or. Chr( nKey ) == "," ) if ::oGet:Clear() #ifndef __XHARBOUR__ ::oGet:DelEnd() #endif endif ::oGet:ToDecPos()
×
×
  • Create New...