Page 1 of 2

How to show a large text

Posted: Tue Mar 27, 2018 1:49 pm
by vilian
Hi guys,
Do you know what is the best way to show quickly a large text?
Probably i will need show it with a Vscroll.

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:09 pm
by cnavarro
How long (bytes) ?

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:12 pm
by vilian
5kb in average.

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:32 pm
by nageswaragunupudi
Use GET MEMO

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:36 pm
by vilian
Mr Rao,

I tried with MemoEdit() but its allows the user to change the content and I only wants to show the content.

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:40 pm
by cnavarro
Use clause READONLY

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:46 pm
by vilian
Ok,

I was thinking that FWH had a user quick dialog box. I will create a dialog and use GET MEMO to show it.

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:54 pm
by nageswaragunupudi

Code: Select all

function ShowText( cText )

   local oDlg

   DEFINE DIALOG oDlg SIZE 600,300 PIXEL TRUEPIXEL
   @ 20,20 GET cText MEMO SIZE 560,260 PIXEL OF oDlg READONLY
   ACTIVATE DIALOG oDlg CENTERED

return nil
 

Re: How to show a large text

Posted: Tue Mar 27, 2018 2:57 pm
by vilian
Thank you ;)

Re: How to show a large text

Posted: Tue Mar 27, 2018 3:31 pm
by nageswaragunupudi
Please also try this interesting function

Code: Select all

   local oWnd

   DEFINE WINDOW oWnd

   @ 20,20 BUTTON "Show Text" SIZE 80,30 PIXEL OF oWnd ;
      ACTION HTMLPOP( GetActiveWindow(), nil, 0x000E, MEMOREAD( "c:\fwh\samples\tutor01.prg" ) )

   ACTIVATE WINDOW oWnd CENTERED
 

Re: How to show a large text

Posted: Tue Mar 27, 2018 3:56 pm
by TimStone
I'm not sure what you are seeking.

I do have some memo fields within a dialog that users want both more space to edit ( so they can see more than what fits in the control space), and a larger font. I have a button that pops up a dialog using a larger size, and a larger font. It's popular.

Re: How to show a large text

Posted: Tue Mar 27, 2018 4:04 pm
by nageswaragunupudi
Mr Vilian just wants to display medium-sized multi-line text without editing. We provided a basic sample. What font and size he likes and what size of dialog he wants he will decide and implement depending on his requirements.

Re: How to show a large text

Posted: Tue Mar 27, 2018 6:29 pm
by TimStone
Here is a simple function I created. You can pass any text variable ( cLabTxt ) to it, call it with a button or other command ( ie. you could do a double click with a field to call it ), and it pops up a dialog box. The text is bold ( darker ) and larger, and it provides more editing space.

This is just another sample of a way to do the work you wish.

Code: Select all

FUNCTION ExpandText( cLabTxt )

  LOCAL oXTxt, oGt1, oBarExp
  LOCAL aPubGrad := { | lInvert | If( ! lInvert, { { 0.50,16776960,16777215 }, ;
                    { 0.50,16777215,16776960 } }, { { 0.50,128,16777215 }, { 0.50,16777215,128 } } ) }   // HCYAN, WHITE ; RED, WHITE
  DEFINE FONT oLfont NAME cSysFont SIZE 0,-14 BOLD
 
 DEFINE DIALOG oXTxt RESOURCE "EXPTXT" BRUSH oBrush transparent OF oWnd FONT oLFont

    REDEFINE GET oGt1 VAR cLabTxt MEMO ID 8522 OF oXTxt
        oXTxt:bStart = { || oGt1:GoBottom() }

    REDEFINE BUTTONBAR oBarExp ID 100 SIZE 60,60 OF oXTxt 2015
    oBarExp:bClrGrad := aPubGrad
    DEFINE BUTTON oBtnEx1 OF oBarExp RESOURCE "HROK"  PROMPT "OK" ACTION ( oXTxt:end()) ;
        MESSAGE "Make your changes and press OK"
    DEFINE BUTTON oBtnEx2 OF oBarExp RESOURCE "SPELL" PROMPT "Spell" TOOLTIP "Spell check text" ;
        ACTION ( cLabTxt := SpellOne( cLabTxt ), oGt1:refresh( ) ) NOBORDER TRANSPARENT
        
    ACTIVATE DIALOG oXTxt ON INIT  oBarExp:lTransparent := .F. CENTERED
        
RETURN( cLabTxt )
 
Here is the .rc code:

Code: Select all

EXPTXT DIALOG 0, 0, 660, 410
STYLE WS_POPUP | WS_CAPTION
CAPTION "Text Editor"
{
    CONTROL                 "", 100, "TBar", 0|WS_CHILD|WS_VISIBLE, 0,0, 660, 30
    EDITTEXT        8522,10,40,640,360,ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL
}

Re: How to show a large text

Posted: Thu Dec 31, 2020 9:02 am
by Horizon
cnavarro wrote:How long (bytes) ?
Hi,

If we have more 30000 bytes, memoedit readonly does not show. I dont use memo fields (dbfcdx) in this situation. Just use to show and add some characters (Append method) with other button. save it with another method.

Code: Select all

oNots:Append(CRLF+CRLF+DTOC(DATE())+" - "+TIME()+" - "+         ALLTRIM(xUSERNAME+CRLF+REPLICATE("-",60)+CRLF+ALLTRIM(cText))
Any solution?

Re: How to show a large text

Posted: Thu Dec 31, 2020 3:19 pm
by nageswaragunupudi
If we have more 30000 bytes, memoedit readonly does not show.
If you are using FWH2006, even larger text is displayed without any limit.
(Note: MEMOEDIT function is renamed as FW_MEMOEDIT)