problema picture

problema picture

Postby elvira » Wed Jul 10, 2013 5:26 pm

Amigos,

Necesito por favor su ayuda para alinear los campos numéricos también a la izquierda (101, 102 y 103), para que se vean como el primero, el Nombre, pero no lo consigo:

Image

Este es el código:

Code: Select all  Expand view
#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oDlg, lSave := .f.

   local c100 := "TEST ELVIRA            "
   local c101 := 0
   local c102 := 0
   local c103 := 0



   DEFINE DIALOG oDlg RESOURCE "ELVIRA" TITLE "Prueba Elvira"

   REDEFINE GET c100        ID  100 OF oDlg
   REDEFINE GET c101        ID  101 OF oDlg   PICTURE "@E 9,999,999"
   REDEFINE GET c102        ID  102 OF oDlg   PICTURE "@E 9,999,999"
   REDEFINE GET c103        ID  103 OF oDlg   PICTURE "@E 9999"




   REDEFINE BUTTON ID 701 OF oDlg  ACTION( lSave := .T., oDlg:End() )
   REDEFINE BUTTON ID 702 OF oDlg  ACTION( lSave := .F., oDlg:End() )

   ACTIVATE DIALOG oDlg CENTERED





return nil

//----------------------------------------------------------------------------//





Y el .rc:

Code: Select all  Expand view

#include "c:\fwh\include\WinApi.ch"

#ifdef __FLAT__
  1 24 "c:\fwh\samples\WinXP\WindowsXP.Manifest"
#endif



ELVIRA DIALOG 23, 16, 258, 163
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Búsquedas"
FONT 10, "MS Sans Serif"
{
 EDITTEXT 100, 51, 14, 86, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
 EDITTEXT 101, 51, 62, 24, 11
 EDITTEXT 102, 127, 62, 20, 11
 EDITTEXT 103, 180, 62, 23, 11, ES_RIGHT | WS_BORDER | WS_TABSTOP
 LTEXT "&Nombre:", -1, 10, 16, 28, 8
 RTEXT "&Págs.:", -1, 155, 63, 23, 12
 RTEXT "&Vols:", -1, 30, 63, 17, 8
 RTEXT "&Ejemplares:", -1, 85, 63, 38, 8
 PUSHBUTTON "&Aceptar", 701, 73, 128, 36, 14
 PUSHBUTTON "&Cancelar", 702, 140, 128, 36, 14
}


 



Muy agradecida, me estoy volviendo loca.

;)
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: problema picture

Postby jrestojeda » Wed Jul 10, 2013 5:40 pm

Hola...
Si usas un generador de recursos, en el mismo deberías tener una opción que indica la alineación del contenido del control.
Por otro lado puedes probar agregar "ES_LEFT" a los controles que quieres poner a la izquierda.
Espero te sirva.
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: problema picture

Postby elvira » Wed Jul 10, 2013 5:43 pm

Hola,

Muchas gracias, ya lo había probado antes y nada:

EDITTEXT 101, 51, 62, 24, 11, ES_LEFT | WS_BORDER | WS_TABSTOP
EDITTEXT 102, 127, 62, 20, 11


No se qué puede ser.

A ver si alguna alma caritativa me ayuda por favor.
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: problema picture

Postby jrestojeda » Wed Jul 10, 2013 5:48 pm

Entonces creo que deberías probar con poner en el GET el ALLTRIM(STR( c101 )) y luego a la hora de usar la variable aplicarle el VAL( c101 )
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: problema picture

Postby karinha » Wed Jul 10, 2013 5:58 pm

Code: Select all  Expand view

#include "c:\fwh\include\WinApi.ch"

#ifdef __FLAT__
  1 24 "c:\fwh\samples\WinXP\WindowsXP.Manifest"
#endif



ELVIRA DIALOG 134, 65, 258, 163
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Búsquedas"
FONT 10, "MS Sans Serif"
{
 EDITTEXT 100, 51, 14, 86, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
 CONTROL "0", 101, "EDIT", ES_MULTILINE | WS_BORDER | WS_TABSTOP, 43, 63, 35, 11
 CONTROL "0", 102, "EDIT", ES_MULTILINE | WS_BORDER | WS_TABSTOP, 137, 63, 35, 11
 EDITTEXT 103, 215, 63, 25, 11, ES_RIGHT | ES_MULTILINE | WS_BORDER | WS_TABSTOP
 PUSHBUTTON "&Aceptar", 701, 73, 128, 36, 14
 PUSHBUTTON "&Cancelar", 702, 140, 128, 36, 14
 LTEXT "&Nombre:", -1, 10, 16, 28, 8
 RTEXT "&Vols:", -1, 22, 63, 17, 8
 RTEXT "&Ejemplares:", -1, 95, 63, 38, 8
 RTEXT "&Págs.:", -1, 190, 63, 23, 12
}
 



João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7215
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: problema picture

Postby elvira » Wed Jul 10, 2013 6:08 pm

Hola,

Muchas gracias, sigue igual.

El campo es numérico, y el problema viene con el picture.

Quizás es un bug de fivewin.
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: problema picture

Postby karinha » Wed Jul 10, 2013 6:17 pm

Hola, aca funciona perfecto con FWH13.05 Mayo de 2013

Code: Select all  Expand view

#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oDlg, lSave := .f.

   local c100 := "TEST ELVIRA            "
   local c101 := 0.00
   local c102 := 0.00
   local c103 := 0.00
   LOCAL aGet := ARRAY(5)

   DEFINE DIALOG oDlg RESOURCE "ELVIRA" TITLE "Prueba Elvira"

   REDEFINE GET aGet[1] VAR c100 ID  100 OF oDlg

   REDEFINE GET aGet[2] VAR c101 ID  101 OF oDlg PICTURE "@KE 9,999,999"

   REDEFINE GET aGet[3] VAR c102 ID  102 OF oDlg PICTURE "@KE 9,999,999"

   REDEFINE GET aGet[4] VAR c103 ID  103 OF oDlg PICTURE "@KE 9999"

   REDEFINE BUTTON ID 701 OF oDlg  ACTION( lSave := .T., oDlg:End() )
   REDEFINE BUTTON ID 702 OF oDlg  ACTION( lSave := .F., oDlg:End() )

   ACTIVATE DIALOG oDlg CENTERED

return nil

//----------------------------------------------------------------------------//
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7215
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: problema picture

Postby elvira » Wed Jul 10, 2013 6:21 pm

Hola,

Muchas gracias por la ayuda. Yo lo sigo viendo alineado a la derecha, cuando lo quiero a la izquierda al igual que el campo nombre:

Image

¿Qué editor de recursos usas?.

Muchas gracias por tu atención!.
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: problema picture

Postby jrestojeda » Wed Jul 10, 2013 6:33 pm

Claro...
El inconveniente naturalmente está en el picture, pero no lo veo como un problema, sino que que le está piniendo el picture que tu pones.
Si le dices al control que ponga un picture de 3 enteros pero el número solo tiene uno vas a visualizar dos espacios y luego tu numero.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: problema picture

Postby elvira » Wed Jul 10, 2013 6:59 pm

Fíjate en el campo Ejemplares, 1, debería quitar los espacios que hay en la izquierda.
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: problema picture

Postby jrestojeda » Wed Jul 10, 2013 7:15 pm

Si lo que quieres hacer es esto:

Image

Deberías definir la variable asociada al GET como caracter con un picture que sólo permita ingresar números. Luego al momento de usar la variable aplicarle el VAL()
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: problema picture

Postby elvira » Wed Jul 10, 2013 7:17 pm

Hola,

Quiero que fuese 123,456 y el campo sólo debe permitir números.

Y la alineación al igual que tú, pegado el número a la izquierda sin espacios.

Muchas gracias.
elvira
 
Posts: 515
Joined: Fri Jun 29, 2012 12:49 pm

Re: problema picture

Postby jrestojeda » Wed Jul 10, 2013 7:24 pm

En ese caso poné en el picture "###,###"
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Alinear Numeros a la izquierda

Postby Maggiro » Mon Aug 17, 2015 5:59 pm

Elvira:
Tu problema está en el Picture que usas:
- Si tu variable numerica tiene el numero 123
- y tu PICTURE tiene '9,999,999'
- el PICTURE toma la parte más a la derecha de la plantilla para mostrar tu variable.
- (seis espacios mas tu variable numerica)
- La alternativa, eliminar el PICTURE innecesario para el ancho numerico.

Prueba lo siguiente:

Code: Select all  Expand view

FUNCTION Main()
  LOCAL MiDialog,oGet,MiNumero
  MiNumero=123
  DEFINE DIALOG MiDialog TITLE 'Probando Numeros ajustados a la izquierda'
       @ 1,1 GET oGet VAR MiNumero OF MiDialog PICTURE nPict(MiNumero)
       @ 2,1 BUTTON 'Aceptar' OF MiDialog ACTION MiDialog:End()
  ACTIVATE DIALOG MiDialog
RETU nil

FUNCTION nPict(VaNum)
   LOCAL LenNum,PicNum
   LenNum=LEN(ALLTRIM(STR(VaNum)))
   PicNum=''
   IF LenNum=1
      PicNum='9'
   ELSEIF LenNum=2
      PicNum='99'
   ELSEIF LenNum=3
      PicNum='999'
   ELSEIF LenNum=4
      PicNum='9999'
   ELSEIF LenNum=5
      PicNum='99999'
   ELSEIF LenNum=6
      PicNum='999999'
   ELSEIF LenNum=7
      PicNum='9999999'
   ELSEIF LenNum=8
      PicNum='99999999'
   ELSEIF LenNum=9
      PicNum='999999999'
   ELSEIF LenNum=10
      PicNum='9999999999'
   ENDI
RETU PicNum

 

La variable PicNum puedes usarla con la plantilla que desees ... Espero te sirva


Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
FWH 6.12 me está gustando
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Re: problema picture

Postby joseluisysturiz » Tue Aug 18, 2015 4:44 pm

jrestojeda wrote:Si lo que quieres hacer es esto:

Image

Deberías definir la variable asociada al GET como caracter con un picture que sólo permita ingresar números. Luego al momento de usar la variable aplicarle el VAL()

Me pasa algo igual, cuando manejo valores numericos que identifican dinero, los alineo a la derecha, pero hay momentos que necesito valores que tengan miles y decimales como por lo menos peso...pero que debe estar alineado a la izqierda pero con su picture que muestre los enteros y decimales...pictu "999,999.99"... como al colega igual me lo pone a la derecha si el valor no llena toda la mascara, pero esto es dinamico...como se haria en ese caso.?
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 65 guests