FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour problema picture
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
problema picture
Posted: Wed Jul 10, 2013 05: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:



Este es el código:

Code (fw): Select all Collapse
#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 (fw): Select all Collapse
#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.

:-)
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: problema picture
Posted: Wed Jul 10, 2013 05: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
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: problema picture
Posted: Wed Jul 10, 2013 05: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.

Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: problema picture
Posted: Wed Jul 10, 2013 05: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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: problema picture
Posted: Wed Jul 10, 2013 05:58 PM
Code (fw): Select all Collapse
#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
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: problema picture
Posted: Wed Jul 10, 2013 06: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.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: problema picture
Posted: Wed Jul 10, 2013 06:17 PM
Hola, aca funciona perfecto con FWH13.05 Mayo de 2013

Code (fw): Select all Collapse
#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
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: problema picture
Posted: Wed Jul 10, 2013 06: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:



¿Qué editor de recursos usas?.

Muchas gracias por tu atención!.
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: problema picture
Posted: Wed Jul 10, 2013 06: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
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: problema picture
Posted: Wed Jul 10, 2013 06:59 PM

Fíjate en el campo Ejemplares, 1, debería quitar los espacios que hay en la izquierda.

Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: problema picture
Posted: Wed Jul 10, 2013 07:15 PM
Si lo que quieres hacer es esto:



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
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: problema picture
Posted: Wed Jul 10, 2013 07: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.

Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: problema picture
Posted: Wed Jul 10, 2013 07: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
Posts: 85
Joined: Thu Oct 14, 2010 03:26 AM
Re: Alinear Numeros a la izquierda
Posted: Mon Aug 17, 2015 05: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 (fw): Select all Collapse
 
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
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: problema picture
Posted: Tue Aug 18, 2015 04:44 PM
jrestojeda wrote:Si lo que quieres hacer es esto:



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!