[Gambas-user] load contents of a TreeView from a file
    Doriano Blengino 
    doriano.blengino at ...1909...
       
    Sun Aug 17 08:30:14 CEST 2008
    
    
  
joshiggins ha scritto:
> Hello.
>
> I'm just starting out with gambas and need some help. I have a file
> formatted as follows:
>
> itemkey [SPACE] itemname [SPACE] path/to/icon
> itemkey1 [SPACE] itemname [SPACE] path/to/icon    etc...etc...
>
> I need to load this data from a file into a treeview. I figure that I need
> to load the file and for each line split it up into the 3 parts and add an
> item to the treeview, then do the same for the next line, and the next etc. 
> I'm completely lost on where to start. The LINE INPUT page on the wiki only
> inputs the first line. Any suggestions?
>   
An example from the online help:
    hFile = OPEN "/etc/hosts" FOR INPUT
    WHILE NOT Eof(hFile)
      LINE INPUT #hFile, sOneLine
      PRINT sOneLine
    WEND
    CLOSE #hFile
You open the file, then input one line at a time. This is the classic way.
Don't forget to close the file (see later).
Another method is to load the entire file into a string, with:
    sString = file.load("/etc/hosts")
then you must split this long string into a string[] using something like:
    sLines = Split(sString, "\n")
At this point you have a string[] array you can traverse with "for each":
    for each sLine in sLines
       ...
       ...
    next
Every single line, obtained by either the two methods, must be again 
splitted in tokes and loaded in the TreeView.
About execute command then exit, I had no problems in doing this:
    shell "cd /usr/local/bin; xterm &"
This launches the terminal emulator "xterm" in background. If you exit 
the application, the xterm stays there.
It is true that open files, environment, signals and other thing may be 
inherited by the child process, but I think this can be solved by the 
ampersand in the end of the SHELL command.
If you need more help, ask again.
Salutations,
Doriano Blengino.
    
    
More information about the User
mailing list