FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Get Multilinea
Posts: 31
Joined: Sat Nov 29, 2008 06:47 PM
Get Multilinea
Posted: Tue Sep 13, 2011 03:37 AM

De antemano un agradecimiento a Antonio Linares por seguir apoyándonos

Quiero saber como hago para que mi objeto (que representa mi get) que es multilinea, a estar escribiendo en el automáticamente al llegar al final de la derecha se pase hacia abajo para seguir escribiendo.
Tal ves es cualquier cosa pero no se como se hace.

Agradezco el apoyo de este foro.

Y si me pueden ayudar a decidir cual seria el mejor programa para hacer mis reportes se los voy a agradecer mucho.

Atentamente
José Baca Beltrán

FWH_11.09

BCC582



Pepillo

México DF
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Get Multilinea
Posted: Tue Sep 13, 2011 12:42 PM

No sé si entiendo la pregunta pero me parece que es el comportamiento por defecto de un get multilinea. Si llegas al margen derecho hace un salto de linea y se acomoda a la izquierda para seguir escribiendo.

Saludos

Posts: 31
Joined: Sat Nov 29, 2008 06:47 PM
Re: Get Multilinea
Posted: Tue Sep 13, 2011 01:40 PM

Pues al objeTo le dí ese comportamiento pero se sigue derecho, si pudieran darme un ejemplo estaré muy agradecido

FWH_11.09

BCC582



Pepillo

México DF
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Get Multilinea
Posted: Tue Sep 13, 2011 02:10 PM
Hola

Agrega la clausula MEMO al get

ejemplo
Code (fw): Select all Collapse
@1,1 get oGet VAR cVar MEMO SIZE 250,100 OF oWnd
Posts: 31
Joined: Sat Nov 29, 2008 06:47 PM
Re: Get Multilinea
Posted: Tue Sep 13, 2011 04:04 PM
Daniel Gracias ya lo intente sin exito, este es el codigo que puse
Code (fw): Select all Collapse
   REDEFINE GET oObs VAR vObs MEMO SIZE 150,100 ID 112 OF aVars[1,2]:aDialogs[1];

Que estoy haciendo mal
FWH_11.09

BCC582



Pepillo

México DF
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Get Multilinea
Posted: Tue Sep 13, 2011 04:16 PM
Hola;

Si quieres hacerlo facil;

El problema sera que en tu recuerso no lo tienes definido como MULTILINE, entonces, para hacerlo facil, abre el fichero de recuerso testmemo.res, y copias el objeto definido como NAME 110 a tu recuerso, lo renombras al ID que tu estas usando, compilas y te funcionara.

Por cierto;

Si estas usando recuersos, no hace falta que le indiques el tamaño, las propiedades ya estan definidas en tu recuerso, en vez de:
Code (fw): Select all Collapse
REDEFINE GET oObs VAR vObs MEMO SIZE 150,100 ID 112 OF aVars[1,2]:aDialogs[1];


Haz:
Code (fw): Select all Collapse
REDEFINE GET oObs VAR vObs MEMO OF aVars[1,2]:aDialogs[1];


un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Get Multilinea
Posted: Tue Sep 13, 2011 04:20 PM
Borre de mas....esto es.

Code (fw): Select all Collapse
REDEFINE GET oObs VAR vObs MEMO ID 112 OF aVars[1,2]:aDialogs[1];


un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 31
Joined: Sat Nov 29, 2008 06:47 PM
Re: Get Multilinea
Posted: Mon Sep 19, 2011 06:06 PM

Muchas Gracias con esto funciona bien, solo que ahora al escribir no me respeta el limite de caracteres que le indique que es de 100, alguna idea de porque pasa esto

FWH_11.09

BCC582



Pepillo

México DF
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Re: Get Multilinea
Posted: Mon Sep 19, 2011 08:59 PM

Define el block del memo según la siguiente sentencia:

SET MEMOBLOCK TO 100

Esta línea debes ponerlo al inicio de la creación de tus bases de datos, en cuya estructura existe un campo Memo. No recuerdo exactamente cuanto es la extensión del block desde el inicio del Clipper (desde donde heredó esta característica el harbour)

Armando

FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 31
Joined: Sat Nov 29, 2008 06:47 PM
Re: Get Multilinea
Posted: Mon Sep 19, 2011 10:14 PM

bueno en realidad no tengo un campo memo solo que es muy largo y por eso uso la multilinea, el set no funciona para este caso gracias

FWH_11.09

BCC582



Pepillo

México DF
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Get Multilinea
Posted: Tue Sep 20, 2011 02:47 AM
Hola execompu:

En un objeto GET con multiline lo puedes controlar por ejemplo asi:
Code (fw): Select all Collapse
    REDEFINE GET oGet VAR cGet MEMO ID 100 OF oDlg FONT oFont

            oGet:bChange := { || if( len( cGet ) >= 10, msginfo( "ha superado el limite de caracteres"), ) }




Un saludo
JLL
fwh-jll@hotmail.es
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 31
Joined: Sat Nov 29, 2008 06:47 PM
Re: Get Multilinea
Posted: Tue Sep 20, 2011 05:26 AM
Gracias JLL, con esto resuelvo gran parte de mi problema, solo quiero aclarar que para que estas lineas funcionen al inicializar la variable debe contener cero caracteres y al hacerle cambios la variable debe ser limpiada de espacios en blanco y así poder llegar al limite establecido.
Ejemplo:

Code (fw): Select all Collapse
// Nuevo registro
vGet := ""
// Cambios al registro 
vGet := ALLTRIM( (datos)->campo )


ya que si no se hace esto siempre estaría marcando el mensaje de que se llego al limite.
FWH_11.09

BCC582



Pepillo

México DF
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Get Multilinea
Posted: Tue Sep 20, 2011 10:31 AM

Hola

usa el metodo de la clase LimitText

oGet:LimitText( 100 )

Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Get Multilinea
Posted: Tue Sep 20, 2011 04:51 PM
Hola Daniel :

No le comente eso porque lo provee y en mi version no funciona.

En la version FWH812 esto no funciona:
Code (fw): Select all Collapse
oGet:LimitText( 100 )

En cambio con :bchange funciona correctamente.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com

Continue the discussion