Jump to content
Sign in to follow this  
Tsongkie

Saving to a text file

Recommended Posts

Tsongkie

$DATA = ""
            $NUM = _GUICtrlListBox_GetCount($List1)-1
            For $INDEX = 0 To $NUM
                $DATA &= _GUICtrlListBox_GetText($List1,$INDEX) & @CRLF
            Next
                        
            $bboy= FileOpen("bin\bboy.txt",2)
            FileWrite($bboy,$DATA)          
            FileClose($bboy)

What's wrong with this? It doesn't open a file nor create a file..

Share this post


Link to post
Share on other sites
Mattraks

You have to use the full dir. try

@ScriptDir & "bin\bboy.txt"

and 1 for the mode of FileOpen

Share this post


Link to post
Share on other sites
ResNullius

Does the sub directory "bin" already exist?

Edit: @Mattraks,

you don't need to specify the full path. And mode 1 is only required if you want to append the output to the file.

Edited by ResNullius

Share this post


Link to post
Share on other sites
ResNullius

yes the bin directory exists..

Can you post more (or a workable sample) of your script so we can test to see if we get the same results.

Also, what OS are you running on, and what directory is the script running in?

Edited by ResNullius

Share this post


Link to post
Share on other sites
Tsongkie

Case $Button1
            $addfile = FileOpenDialog("Add A File","","All (*.*)")
            if $addfile <> 1 Then 
                _GUICtrlListBox_AddString ($List1,$addfile)
            EndIf
            
        Case $Button2
                      $DATA = ""
            $NUM = _GUICtrlListBox_GetCount($List1)-1
            For $INDEX = 0 To $NUM
                $DATA &= _GUICtrlListBox_GetText($List1,$INDEX) & @CRLF
            Next
                        
            $bboy= FileOpen("bin\bboy.txt",2)
            FileWrite($bboy,$DATA)          
            FileClose($bboy)

That's just it..

Share this post


Link to post
Share on other sites
ResNullius

Case $Button1
            $addfile = FileOpenDialog("Add A File","","All (*.*)")
            if $addfile <> 1 Then 
                _GUICtrlListBox_AddString ($List1,$addfile)
            EndIf
            
        Case $Button2
                      $DATA = ""
            $NUM = _GUICtrlListBox_GetCount($List1)-1
            For $INDEX = 0 To $NUM
                $DATA &= _GUICtrlListBox_GetText($List1,$INDEX) & @CRLF
            Next
                        
            $bboy= FileOpen("bin\bboy.txt",2)
            FileWrite($bboy,$DATA)          
            FileClose($bboy)

That's just it..

The problem is with the behaviour of FileOpenDialog().

From the "Remarks" section of that command in the helpfile:

@WorkingDir is changed on successful return.

Insert this line:
MsgBox(0,"","ScriptDir is: " & @ScriptDir & @crlf & "WorkingDir is: " & @WorkingDir)

before

$bboy= FileOpen("bin\bboy.txt",2)

and you'll see what the problem is: bboy.txt is attempting to be opened in the WorkingDir, which changes after you add a file to the list.

So in that sense, Mattraks was right: add @SciptDir to your FileOpen() command.

$bboy = FileOpen("@ScriptDir & "\bin\bboy.txt",2)
Edited by ResNullius

Share this post


Link to post
Share on other sites
ProgAndy

Just save the working Dir and set it back afterwards :P

$__OLD_WORKING_DIR = @WorkingDir
$addfile = FileOpenDialog("Add A File","","All (*.*)")
FileChangeDir($__OLD_WORKING_DIR)

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

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  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.