Reading and Writing in files: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
{{PageAuthor|n0On3}}
{{PageAuthor|n0On3}}


'''Bold text'''[[Link title]][[File:Example.jpg]][[Media:Example.ogg]]'''Bold text'''''Italic text''bem vindo[[Link title]]pra vc[http://www.example.com link title][[File:Example.jpg]][[Media:Example.ogg]]<math>Insert formula here</math><nowiki>Insert non-formatted text here</nowiki>--[[User:200.100.172.131|200.100.172.131]] 22:51, 15 November 2008 (UTC)--[[User:200.100.172.131|200.100.172.131]] 22:51, 15 November 2008 (UTC)
----
== Description ==
== Description ==
This example is to show you how easy is to read/write in files.
This example is to show you how easy is to read/write in files.
== Write (overwrite) ==
== Write (overwrite) ==
This will overwrite SomeFile.txt contents or create it and put "hello" inside:
This will overwrite SomeFile.txt contents or create it and put "hello" inside:

Revision as of 22:51, 15 November 2008

Author: n0On3 (talk, contrib)


Bold textLink titleFile:Example.jpgMedia:Example.oggBold textItalic textbem vindoLink titlepra vclink titleFile:Example.jpgMedia:Example.ogg<math>Insert formula here</math>Insert non-formatted text here--200.100.172.131 22:51, 15 November 2008 (UTC)--200.100.172.131 22:51, 15 November 2008 (UTC)


Description

This example is to show you how easy is to read/write in files.

Write (overwrite)

This will overwrite SomeFile.txt contents or create it and put "hello" inside:

FileOpen $4 "$DESKTOP\SomeFile.txt" w
FileWrite $4 "hello"
FileClose $4

Write (append)

If the file exists and you don't want to lose its contents use this:

FileOpen $4 "$DESKTOP\SomeFile.txt" a
FileSeek $4 0 END
FileWrite $4 "$\r$\n" ; we write a new line
FileWrite $4 "hello"
FileWrite $4 "$\r$\n" ; we write an extra line
FileClose $4 ; and close the file

That "$\r$\n" means "carriage return + new line". This is how windows knows that there's a new line in the file.

Read

For reading files:

FileOpen $4 "$DESKTOP\SomeFile.txt" r
FileSeek $4 1000 ; we want to start reading at the 1000th byte
FileRead $4 $1 ; we read until the end of line (including carriage return and new line) and save it to $1
FileRead $4 $2 10 ; read 10 characters from the next line
FileClose $4 ; and close the file

The variables we use to read/write can only hold up to 1024 bytes, but this is harldy a problem. Notice that every example used a different mode to open the file "w" "a" and "r".