Consulta Sobre un Valid() "SOLUCIONADO"

Post Reply
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Consulta Sobre un Valid() "SOLUCIONADO"

Post by remtec »

Hola Amigos.

Estoy mareado con un valid y no logro dar la solución.

El problema es que mando una variable con una dato "X" a la Function ValidR, agrego espacios o cualquier cosa que le agregue a la variable, pero el oGet no se actualiza.

Muchos Saludos

Antonio

Dejo el codigo que estoy probando:

Code: Select all


// Aqui entra un Datos con numeros

Function Rut3(c4)
  local c1 := "Previous "
  local c3 := "        "
  local oDlg, oFont, oGet
  Private c2

  c2 = c4

   SetGetColorFocus()

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-24
   DEFINE DIALOG oDlg SIZE 300,300 PIXEL TRUEPIXEL FONT oFont
        oDlg:lTransparent := .F.

   @  40,40 GET c1 SIZE 200,36 PIXEL OF oDlg

   @  90,40 GET oGet VAR c2 SIZE 200,36 PICTURE "@R ##.###.#####" PIXEL OF oDlg ;
      WHEN  ( oGet:oGet:Picture := "@KR ##########", .T. );
        VALID If( ValidaR(c2), ( oGet:oGet:Picture := "@R ##.###.#####", oGet:Refresh(), .t. ), .f. )     // Aqui necesito que se muestre actualizado el valor de c2 que se digito y luego en la funcion se modico.
        
   @ 140,40 GET oGet3 VAR c3 SIZE 200,36 PIXEL OF oDlg

   @ 220,40 BTNBMP PROMPT "OK" SIZE 220,40 PIXEL OF oDlg FLAT ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

   
return nil


Function ValidaR(c2)
    arut=alltrim(c2)
    ee=10-len(c2)
    arut=repl("9",ee)+c2

    c2=arut       // Aqui le modifico la variable del oGet 

    Return .t.


 
Last edited by remtec on Wed Jun 17, 2020 3:27 pm, edited 1 time in total.
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Consulta Sobre un Valid()

Post by Enrico Maria Giordano »

remtec wrote:

Code: Select all

c2=arut       // Aqui le modifico la variable del oGet
Intenta asì:

Code: Select all

oGet:VarPut( c2 )
EMG
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta Sobre un Valid()

Post by remtec »

Hola EMG

Muchas gracias por responder.

Al aplicar lo que me indicas, arroja un error.

Error description: Error BASE/1005 Message not found: TGET:_PICTURE
Args:
[ 1] = O TGET

Muchos Saludos
Antonio
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Consulta Sobre un Valid()

Post by Enrico Maria Giordano »

Mira el ejemplo modificado:

Code: Select all

// Aqui entra un Datos con numeros

Function Rut3(c4)
  local c1 := "Previous "
  local c3 := "        "
  local oDlg, oFont, oGet
  Private c2

  c2 = c4

   SetGetColorFocus()

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-24
   DEFINE DIALOG oDlg SIZE 300,300 PIXEL TRUEPIXEL FONT oFont
        oDlg:lTransparent := .F.

   @  40,40 GET c1 SIZE 200,36 PIXEL OF oDlg

   @  90,40 GET oGet VAR c2 SIZE 200,36 PICTURE "@R ##.###.#####" PIXEL OF oDlg ;
      WHEN  ( oGet:oGet:Picture := "@KR ##########", .T. );
        VALID If( ValidaR(oGet,c2), ( oGet:oGet:Picture := "@R ##.###.#####", oGet:Refresh(), .t. ), .f. )     // Aqui necesito que se muestre actualizado el valor de c2 que se digito y luego en la funcion se modico.
        
   @ 140,40 GET oGet3 VAR c3 SIZE 200,36 PIXEL OF oDlg

   @ 220,40 BTNBMP PROMPT "OK" SIZE 220,40 PIXEL OF oDlg FLAT ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

   
return nil


Function ValidaR(oGet,c2)
    arut=alltrim(c2)
    ee=10-len(c2)
    arut=repl("9",ee)+c2

    c2=arut       // Aqui le modifico la variable del oGet 

    oGet:VarPut(c2)

    Return .t.
EMG
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Consulta Sobre un Valid()

Post by remtec »

Hola EMG

Muchas gracias por tu ayuda, disculpa las molestias.

Funciono PERFECTO.

Muchos Saludos

Antonio
Post Reply