Loading multiple waves from multiple .txt files

What I'd like to do is to be able to select multiple .text files and load in two waves from each (1st and 3rd columns). 'Open' lets me select multiple files but then once the for loop starts, it opnes 3 more windows for me to select files. I was hopeing LoadWave would load the first column in each file in 'loadedFiles' as t0, t1, t2, etc. and the third column as c0, c1, c2, etc.

On paper, I'd say this code would do that but LoadWave opens a new file selection window every time it loops. I thought StringFromList(i, loadedFiles) would load the full path name of the file of interest which would negate the need for a selection window. Where is my misunderstanding in this?

Thanks.

Function loadMult()
    variable RefNum
    String message = "Select one or more files"
    String fileName
    String fileFilters = "Data Files (*.txt,*.dat,*.csv):.txt,.dat,.csv;"
    fileFilters += "All Files:.*;"
    Open /D /R /MULT=1 /F=fileFilters /M=message refNum
        Print "The RefNUM is: ", refNum
        String loadedFiles = S_fileName
        Print loadedFiles[1]
        Print "The Selected Files are: ", loadedFiles
   
   

    if (strlen(loadedFiles) == 0)
        Print "File Contains No Data - Script was Cancelled!!"
        else
        Variable numFilesSelected = ItemsInList(loadedFiles, "\r")
            Variable i
            for(i=0; i<numFilesSelected; i+=1) 
                String columnInfoStr = ""
                columnInfoStr += "N=t" + num2str(i) + ";"
            columnInfoStr += "C=1,N='_skip_';"   // Skip Column1
            columnInfoStr += "N=c" + num2str(i) + ";"
            LoadWave/J/D/O/L={0,1,0,0,3}/B=columnInfoStr StringFromList(i, loadedFiles) //This opens more dialog windows
            endfor
        endif
       
        return 0      
END

 

In reply to by Jakub

Jakub wrote:
The loadwave fails to find the directory and filename somehow... Why is that happening?

LoadWave needs to know the name of the file and the folder containing the file.

The use of "StringFromList(i, loadedFiles)" makes it difficult to debug this. Store the output from StringFromList in a local string variable and print it to the history or use the debugger to inspect it.

loading 1st and 3rd columns sounds a bit like something I have had to do before. maybe this procedure contains something useful?

GTFloader.ipf (7.35 KB)