FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Say Multilinea
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Say Multilinea
Posted: Thu Apr 22, 2010 04:27 PM

Muy buenas, estoy intentando poner un say con multilinea y parece que todo vá bien pero cuando cambio el texto del say por ejemplo: Test+CRLF+Test, no hace 2 líneas sino 1 línea agregando 2 caracteres es decir queda Test+XX+Test,(Donde X son 2 cruces metidas en un recuadro),

¿Como puedo solucionar esto? yo uso FWH 809

Un Saludo.

Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Say Multilinea
Posted: Fri Apr 23, 2010 03:50 AM
hola:

el código que publico, hace que aparezca un dialogo en la parte inferior izquierda, y el texto lo saco es de 500 caracteres, partido en 5 partes de 100 caracteres c/u de una tabla DBF, y el dialogo después de 9 segundos desaparece.

Code (fw): Select all Collapse
#define CRLF Chr(13)+Chr(10)

FUNCTION MsgTray(  oWnd, cIndice )
LOCAL DlgTray, cText
   SELECT ALERTAS
   SEEK cIndice
   IF !EOF()    
       cText := ALLTRIM(ALERTAS->TEXTO1+CRLF+ALERTAS->TEXTO2+CRLF+ALERTAS->TEXTO3 ;
                       +CRLF+ALERTAS->TEXTO4+CRLF+ALERTAS->TEXTO5)
   ELSE         
       cText := "CODE: "+cIndice+"Indice no encontrado !!"
   ENDIF
  
   DEFINE DIALOG DlgTray RESOURCE 14 OF oWnd
      REDEFINE SAY PROMPT cText ID  11 OF DlgTray 
      REDEFINE BUTTON                ID  10 OF DlgTray  ACTION DlgTray:End()
      DlgTray:lHelpIcon := .F.
   ACTIVATE DIALOG DlgTray NOWAIT ;
            ON INIT ( DlgTray:MOVE((oWnd:nHeight() - 180 ), ;
                         (oWnd:nWidth() - 365 )), ;
                          TrayTimer( DlgTray ), ; 
                         IIF(!SndPlaySound(".\SYSTEM\SONIDO.WAV",1),MsgBeep(),)  )
RETURN Nil

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

STATIC FUNCTION TrayTimer( DlgTray )
LOCAL oTmr
   DEFINE   TIMER oTmr OF DlgTray INTERVAL 9000 ACTION DlgTray:End()
   ACTIVATE TIMER oTmr
RETURN nil


el dialogo lo hice con el resource workshop y la particularidad que debe tener el say, es marcar el "control type" que sea "left text no wrap"

a mi me funciona muy bien.

espero que te sirva

saludos desde Chile.
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re: Say Multilinea
Posted: Fri Apr 23, 2010 07:50 AM

Gracias por la respuesta, pero a mi no me funciona, yo utilizo la FWH809 y lo hago asi, he probado poner el estilo como me has dicho,

¿ que podemos hacer?

Un Saludo.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Say Multilinea
Posted: Fri Apr 23, 2010 02:07 PM
Code (fw): Select all Collapse
   LOCAL cTexto := ( "Probando SAY Multiline" +CRLF+ ;
                     "Tamano del SAY Multili" +CRLF+ ;
                     "no Puede ser menor que" +CRLF+ ;
                     "El Inicial, Probando!!" +CRLF+ ;
                     "Saludos a Todos...    " )

//

     REDEFINE SENSITIVE SAY ID 408   OF oDlgFil ;
              PROMPT cTexto                     ;
              COLOR CLR_BLACK                   ;
              UPDATE RAISED CENTER              ;
              FONT oFnt TRANSPARENT

//

DLG_IMP_FILTRO_CUSTO_MEDIO DIALOG 204, 94, 208, 131
STYLE DS_ABSALIGN | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME
CAPTION "Probando SAY Multiline"
{
 PUSHBUTTON "&Imprimir", 301, 38, 101, 70, 16
 PUSHBUTTON "&Salida", 302, 112, 101, 70, 16
 EDITTEXT 50, -40, 3, 300, 12, ES_CENTER | ES_MULTILINE | NOT WS_TABSTOP | NOT WS_BORDER
 CONTROL "", 408, "STATIC", SS_LEFTNOWORDWRAP | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP, 54, 29, 100, 51
}
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re: Say Multilinea
Posted: Tue Apr 27, 2010 07:40 AM

Muy buenas, esta opcion no me funciona por que la clase TSTSay que me he descargado me da error, teneis un ejemplo completo con un dialogo .res.

Un Saludo.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Say Multilinea
Posted: Tue Apr 27, 2010 12:05 PM
Code (fw): Select all Collapse
LOCAL oSay

REDEFINE SAY oSay ID 408   OF oDlgFil ;
              PROMPT cTexto                    ;
              COLOR CLR_BLACK               ;
              FONT oFnt


El dialogo ya está en el ejemplo arriba.

Basta copiar y colar en el Workshop.exe

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion