Announcement

Collapse
No announcement yet.

displaying large amounts of text

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Henning Wallgren
    replied
    Thanks Clay!



    ------------------
    Henning

    Leave a comment:


  • Clay Clear
    replied
    Code:
        DIM L1 AS LONG
        DIM L2 AS LONG
        DIM SBuffer AS STRING
        DIM D1 AS DWORD
        '
        L1 = FindResource(hInst, BYVAL %ID, BYVAL %RT_RCDATA
        'If you NAMED your resource, use the name instead of BYVAL %ID:
        L1 = FindResource(hInst, "MYDATA", BYVAL %RT_RCDATA
        'If you use an integer identifier, put the numebr in place
        'of %ID
        L1 = FindResource(hInst, BYVAL 101, BYVAL %RT_RCDATA)
        IF L1 = %NULL THEN ERROR 101
        L2 = LoadResource(hInst, L1)
        IF L2 = %NULL THEN ERROR 102
        D1 = LockResource(L2)
        IF D1 = %NULL THEN ERROR 103
        SBuffer = PEEK$(D1, 11111)
        'Replace 11111 with the actual size of the resource (the size of
        'of the file stored as the resource)
        'Note that hInst is the Instance of the process owning the
        'resource. I don't know if this method would work with
        'LoadLibrary/FreeLibrary
        'Once you've read the resource into the string variable (in this
        'case, SBuffer), you may then use it in whichever way you
        'require for your program
        'I use this method to create autoextracting, autoinstalling
        'EXE's to distribute my custom DLL's that my Public Release
        'programs use  [img]http://www.powerbasic.com/support/forums/smile.gif[/img]
        'LockResource returns the address of the actual memory
        'location where the resource is stored
        'Note that you do NOT have to Unlock the resource in 32-bit
        'Windows, according to Win32.hlp
    Hope this helps!

    Regards,


    ------------------
    Clay C. Clear

    Clay Clear's Software
    mailto:[email protected][email protected]</A>

    Leave a comment:


  • Henning Wallgren
    replied
    Thanks Chris!

    I changed it to a RichText control, parsed the filed the way I waneted
    and loaded it into my six boxes.

    btw if someone has a code to retrieve the text from the resource
    into a string, I'd appreciate it.



    ------------------
    Henning

    Leave a comment:


  • Henning Wallgren
    replied
    Thanks Lance,

    I looked at the code, got the text into my .pbr file. Scratching
    my head over retrieving the data from the resource. This sample by
    Semen is kind of getting me on the way, but ...

    I am using the '|' sign as delimiter for my paragraphs. Would it be possible to
    get the whole file into one string and parse it?

    Code:
    DataAddr = LOADRESOURCE(BYVAL 0,BYVAL FINDRESOURCE(BYVAL 0&,_
               "REGINFO",BYVAL %RT_RCDATA))
        DIM I AS LONG
        FOR I=1 TO %DataCount
            DataItem = @DataAddr[i-1] + DataAddr:MSGBOX @DataItem
        NEXT


    ------------------
    Henning

    Leave a comment:


  • Chris Boss
    replied
    Henning;

    Using the RichEdit control works best, since you can load the control
    with RTF (Rich Text Format) text. Use Wordpad to format the text,
    save the file as an RTF file. Read the RTF file from a disk file
    in your app and pass the text to the Rich Edit control.

    If you are using DDT or SDK style code you will need to use the
    EM_STREAMIN message. This message requires creating a function
    call of which you will pass an address to the rich edit control.
    Using this message allows you to load megabytes of RTF (or ascii) text
    into the control. Even on Windows 95, you can load megabytes into
    the rich edit control.


    ------------------


    [This message has been edited by Chris Boss (edited October 02, 2001).]

    Leave a comment:


  • Lance Edmonds
    replied
    yes, string table text is stored in unicode which doubles the size of the ansi strings you are likely to be storing.

    however, saving it as a "binary resource" would remove this problem.

    the .rc file entry would look like this:
    Code:
    mydata  rcdata  "textfile.txt"
    search the bbs for "rcdata" and you should find some examples on reading the data from the embedded resource file.

    for example: http://www.powerbasic.com/support/pb...ad.php?t=22630


    ------------------
    lance
    powerbasic support
    mailto:[email protected][email protected]</a>

    Leave a comment:


  • Borje Hagsten
    replied
    Think text in resource files becomes double-byte, that is, twice as big
    when compiled. Usually, easiest and most convinient to use standard way,
    via text file.


    ------------------

    Leave a comment:


  • Henning Wallgren
    replied
    Greg,

    I like the idea of putting it into a resource file. I've put icons
    in resource files before, but not large amounts of text. What would
    I write in the rc file to separate 5 text-references?

    ------------------
    Henning

    Leave a comment:


  • Gregery D Engle
    replied
    Just include it as a resource, much easier for editing purposes.

    I would hate using BinBas everytime I changed the file.

    ------------------
    -Greg

    Leave a comment:


  • Eddy Van Esch
    replied
    the main question is: do you want to store that long text inside your exe or
    do you want to read it from a file. you mentioned the last possibility yourself, so i
    assume you want to store the text inside your exe.
    when writing a short program, i usually store the helptext in the exe itself. that
    way i have a single executable file.
    an example of this you can find on the source code forum: http://www.powerbasic.com/support/pb...ad.php?t=23072
    it is my project timer.
    i usually use 'binbas' or 'file2asm' to transform a textfile into data statements (binbas)
    or inline assembler statements (file2asm). you can then simply read the text
    into a string and display this into your richedit box or plain text box.
    the 2 mentioned routines are by the hand of fellow pb programmers and can be found
    in these forums.
    hope this helps.
    kind regards
    eddy

    ------------------
    [email protected]

    [this message has been edited by eddy van esch (edited october 02, 2001).]

    Leave a comment:


  • Henning Wallgren
    started a topic displaying large amounts of text

    displaying large amounts of text

    Hi all,

    I have a lot of text that I want to display in a textbox on my form.
    Instead of hardcoding it in, which would be a nightmare, I have typed it in
    a .txt format. Besides readng the file, parsing it and displaying
    it in a multi-line textbox, is there any other ways of doing this, or what
    do you do to display lots of text?


    ------------------
    Henning
Working...
X