Jump to content
Sign in to follow this  

Need help in reading input from a text file

Recommended Posts

So, basically, i have a notepad file, with data in this format:

" Name Surname Age Sex DayofBirth MonthofBirth "

Age, dayofbirth and monthofbirth are integers, others are Strings. I want to read this file word by word, however with the functions i've found in the Help file, that's impossible, since i can either read the whole line with FileReadLine (don't want to do that, i want to read the Name, edit/use it, then read Surname, edit/use it and so on and so on), or i can read character by character by using FileRead (also useless, since i don't know how many characters a word in the file has).

I know a way to solve this, but in C++, i'd make a While Loop to read character by character until it encounters space and add character by character into a string.

However, i'm pretty much a beginner in AutoIt and don't know how to do it with AutoIt.

Any help would be much appreciated.

Share this post

Link to post
Share on other sites

Can you show me an exact example of a line?

Like this



Name Surname Age Sex DayofBirth MonthofBirth

or are the spaces/characters between these information labels random?


Name    Surname  Age    Sex   DayofBirth MonthofBirth


A minesweeper game created in autoit, source available.


An UDF for registering functions to mouse events, made in pure autoit.

2D Hitbox Editor

A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes.

Share this post

Link to post
Share on other sites

Try this:

#include <Array.au3>
#include <File.au3>
$hFile = FileOpen("Test.txt", 2)
For $i = 1 To 10
    _FileWriteToLine("Test.txt", $i, "Name" & $i & " Surname" & $i & " " & Random(10, 50, 1) & " M " & Random(1, 31, 1) & " " & Random(1, 12, 1))

$hFile = FileOpen("Test.txt", 0)
Local $array[_FileCountLines("Test.txt") + 1][6]
$i = 0
While 1
    $line = FileReadLine($hFile)
    If @error = -1 Then ExitLoop
    $aTmp = StringSplit($line, " ")
    For $j = 1 To UBound($aTmp) - 1
        $array[$i][$j - 1] = $aTmp[$j]
    $i += 1
ReDim $array[$i - 1][6]



Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post

Link to post
Share on other sites

Thanks for the help UEZ and AlmarM, with your help i've finished my script.

I learned some things from your code UEZ, i'm really grateful for your efforts.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...