FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour PICTURE dos preguntas de lo mismo en una.
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
PICTURE dos preguntas de lo mismo en una.
Posted: Mon Mar 21, 2011 03:22 PM

hola.

1) necesito hacer un picture en un get con este formato:
cinco valores numericos - siete valores numericos - un valor numerico
y que de la posibilidad de que al presionar la tecla - salte al siguiente grupo (completando con ceros adelante del grupo). Por ejmplo si se va presionando 8- en el primer grupo que complete con ceros 00008-

2) lo mismo necesito para un xBrowse. el xBrowse implementa el PICTURE?

gracias.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: PICTURE dos preguntas de lo mismo en una.
Posted: Mon Mar 21, 2011 03:57 PM
Hola, mira si ayuda,

Code (fw): Select all Collapse
// -----------------------------------------------------------------------
// Funci¢n ...: PictPts
// Descripci¢n: Cadena Picture para un GET.
// Par metros : Ninguno.
// Devolve ..: Una cadena.
// -----------------------------------------------------------------------
FUNCTION PictPts()
RETURN( "@E 9,999,999,999" )
// -----------------------------------------------------------------------

// -----------------------------------------------------------------------
// Funci¢n ...: PictEuros
// Descripci¢n: Cadena Picture para un GET.
// Par metros : Ninguno.
// Devolve ..: Una cadena.
// -----------------------------------------------------------------------
FUNCTION PictEuros()
RETURN( "@E 9,999,999,999.99" )
// -----------------------------------------------------------------------

// -----------------------------------------------------------------------
// Funci¢n ...: Num2StrDec
// DescripciĀ¢n: Convierte un campo numā€šrico a cadena, para mostrar en un
//              LISTBOX.
// Par metros : nCampo -> Valor Numā€šrico.
// Devolve ..: Cadena formateada.
// -----------------------------------------------------------------------
FUNCTION Num2StrDec( nCampo )
RETURN Transform( nCampo, "@E 999,999,999.99" )
// -----------------------------------------------------------------------

// -----------------------------------------------------------------------
// Funci¢n ...: Num2Str
// DescripciĀ¢n: Convierte un campo numā€šrico a cadena, para mostrarlo en un
//              LISTBOX.
// Par metros : nCampo -> Valor Numā€šrico.
// Devolve ..: Cadena formateada.
// -----------------------------------------------------------------------
FUNCTION Num2Str( nCampo, nSize, nDec )

   LOCAL cPicture := "@E 999,999,999,999"

   DO CASE
      CASE nSize = 12 .AND. nDec = 0
           cPicture := "@E 999,999,999,999"
      CASE nSize = 12 .AND. nDec = 2
           cPicture := "@E 999,999,999.99"
      CASE nSize = 12 .AND. nDec = 3
           cPicture := "@E 99,999,999.999"
      CASE nSize = 08 .AND. nDec = 0
           cPicture := "@E 99,999,999"
      CASE nSize = 08 .AND. nDec = 2
           cPicture := "@E 99,999.99"
      CASE nSize = 08 .AND. nDec = 3
           cPicture := "@E 9,999.999"
      CASE nSize = 07 .AND. nDec = 0
           cPicture := "@E 9,999,999"
      CASE nSize = 07 .AND. nDec = 2
           cPicture := "@E 9,999.99"
      CASE nSize = 07 .AND. nDec = 3
           cPicture := "@E 999.999"
      CASE nSize = 05 .AND. nDec = 0
           cPicture := "@E 99,999"
      CASE nSize = 05 .AND. nDec = 2
           cPicture := "@E 99.99"
      CASE nSize = 05 .AND. nDec = 3
           cPicture := "@E 9.999"
      CASE nSize = 02 .AND. nDec = 0
           cPicture := "99"
   ENDCASE

RETURN Transform( nCampo, cPicture )
// -----------------------------------------------------------------------

// -----------------------------------------------------------------------
// Funci¢n ...: Num2Doc
// DescripciĀ¢n: Convierte un campo numā€šrico a cadena, para mostrarlo en un
//              LISTBOX. Solo para los n£meros de documento.
// Par metros : nCampo -> Valor Numā€šrico.
// Devolve ..: Cadena formateada.
// -----------------------------------------------------------------------
FUNCTION Num2Doc( nCampo )
RETURN Transform( nCampo, "@E 9999999" )
// -----------------------------------------------------------------------

// -----------------------------------------------------------------------
// Funci¢n ...: IsPar
// Descripci¢n: Comprueba si un n§ es par, lo utilizo para cambiar alternar
//              los colores de los browse.
// Par metros : nCampo -> Valor Numā€šrico.
// Devolve ..: .T. o .F.
// -----------------------------------------------------------------------
FUNCTION IsPar( nNumero )

   LOCAL lDevuelve := .F.

   IF ValType( nNumero ) = "N"
      IF nNumero % 2 = 0
         lDevuelve := .T.
      ENDIF
   ENDIF

RETURN lDevuelve

// -----------------------------------------------------------------------
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: PICTURE dos preguntas de lo mismo en una.
Posted: Mon Mar 21, 2011 08:30 PM
Hola, para xBrowse prueba con esto:

oCol = oBrw:AddCol()
*oCol:bStrData = { || TRANSFORM((cAlias)->ExistMts,"@Z 99,999,999,999.99") }
oCol:bEditValue = { || (cAlias)->ExistMts }
oCol:cEditPicture := NumPict(14,2,,.t.)
oCol:nDataStrAlign := 1
oCol:cHeader = "Exist/Mts"
oCol:nWidth = 80

La funcion NumPict() viene en xbrowse.
Saludos.
Francisco J. AlegrĆ­a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: PICTURE dos preguntas de lo mismo en una.
Posted: Tue Mar 22, 2011 10:02 AM

gracias a ambos.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
Re: PICTURE dos preguntas de lo mismo en una.
Posted: Tue Mar 22, 2011 12:40 PM

Amigo mira te esto:

viewtopic.php?f=6t=20899

Saludos

&

Continue the discussion