AllExperts > Qbasic, Quickbasic 
Search      
Qbasic, Quickbasic
Volunteer
Answers to thousands of questions
 Home · More Qbasic, Quickbasic Questions · Answer Library  · Encyclopedia ·
More Qbasic, Quickbasic Answers
Question Library

Ask a question about Qbasic, Quickbasic
Volunteer
Experts of the Month
Expert Login

Awards

About Us
Tell friends
Link to Us
Disclaimer

 
 
 
 
About Alex Barry
Expertise
I have been a qbasic programmer since 2000, creating games, minor libraries and various small programs. I have experience using interrupts, graphics, file input/output, the mouse cursor, and using libraries. I have also learned FreeBASIC, c/c++, python, php and html.
I do not claim to be an absolute authority in any language, but I don't mind looking things up and learning with you.

Experience
Hobby programming since 2000

I no longer belong to any community programming groups, but do have knowledge of *basic dialects and C/C++

 
   

You are here:  Experts > Computing/Technology > Basic > Qbasic, Quickbasic > Combining files

Qbasic, Quickbasic - Combining files


Expert: Alex Barry - 2/25/2009

Question
Hi Alex, I have a series of .txt files that are all the same number rows and columns with rows separated by commas. I would to combine the files into a single text file. Many of the commands allow me to add the contents of a file to the end, but I would like to combine the contents horizontally. For example let's say I have four text files (2 x 16389), how would I open them and combine them into one file that is 8R x 16389C? Thanks in advance - I really appreciate your help."

Answer
Hi, Tim,

If I were you, this is how I would do it:

' x is the number of files you intend on using.
CONST x%  = 100
DIM FileList(1 to x%) AS INTEGER
DIM NewFile AS INTEGER

' Open these files like this:
DIM f AS INTEGER
f = 0
' You'd have a loop something like this.  I don't know how you are opening the files (file name pattern?  "data01.txt", "data02.txt", etc.?)
DO
 f = f + 1
 FileList( f ) = FREEFILE
 OPEN "the file you want to open.txt" FOR INPUT AS #FileList( f )
LOOP WHILE x% <= f

' -- This is where they are merged
NewFile = FREEFILE
OPEN "merger.txt" FOR OUTPUT AS #NewFile
' -- You may have to manually get each piece of data (random access file?), but this will also work (perhaps not as nicely...you'll have to tinker with things here)
DIM MyData AS STRING

DO
 ' Get the (next) line from each file (and merge that line with the rest of the files)
 FOR f = 1 TO x%00
   LINE INPUT #FileList( f ), MyData
   PRINT #NewFile, MyData,
 NEXT f
 ' Move to next line in our new file
 PRINT #NewFile, ""
LOOP UNTIL EOF( FileList( 1 ) )

FOR f = 1 TO x%
 CLOSE #FileList( f )
NEXT f
CLOSE #NewFile

To make this work with your program, you'll need to do some tinkering, but this is the basic principle behind it.

Let me know if there is anything in my code you're not sure about,
-Alex

Add to this Answer   Ask a Question


 
User Agreement | Privacy Policy | Kids' Privacy Policy | Help
Copyright  © 2008 About, Inc. AllExperts, AllExperts.com, and About.com are registered trademarks of About, Inc. All rights reserved.