Try my new website:
www.urcho.com
- the new SIMPLE social network
Sign up
|
284
members |
114
snippets
Search for:
ALL
POPULAR
File Controls
Multiplayer Code
2D Effects
3D Effects
Oldskool demos
Basic Functions
Maths/Physics
Sound
Tutorials
Misc
Username:
Password:
Sign up
txt2string by CS_TBL
[
back
]
Author:
Archive
| Viewed:
520
times | Language:
BlitzMax
| Category:
File Controls
SuperStrict DebugLog Chr(10)+Chr(10)+txt2string("C:\Somefiles\somefile.txt","Local MyText$",-1,64)+Chr(10)+Chr(10) End Function txt2string$(file$,varname$="Local MyText$",ndx:Int=-1,width:Int=0) Rem txt2string$, by CS_TBL This function converts a textfile to a string. command: parsedtext=txt2string$(file$,varname$,ndx,width) file$ - the full path of a file (e.g. "C:\My Documents\blahblah.txt") varname$ - optional, the name of the variable ndx - optional, if >=0 then the variable is an array, and ndx is its index width - optional, the width of the formatted stringparts, width<1 doesn't format - in case of formatting, a line *can* incidentally be one character longer due - not being allowing to break escapes If you want to create a new variable, don't forget to add 'Local ' in the varname! (e.g. bla$=txt2string(file$,"Local MyText") EndRem If file="" Return "
" Local tmp:TStream=ReadFile(file) If Not tmp tmp=Null Return "
" EndIf CloseFile tmp Local bank:TBank=LoadBank(file) If BankSize(bank)=0 bank=Null Return "
" EndIf Local text$ Local decent$ Local t:Int,v:Int,w:Int ' make the string content For t=0 To BankSize(bank)-1 v=PeekByte(bank,t) Select v Case 9 text:+"~~t" Case 10 text:+"~~n" Case 13 text:+"~~r" Case 34 text:+"~~q" Default text:+Chr(v) End Select Next ' now split-up into something decent decent:+varname ' the filename If ndx>=0 decent:+"["+ndx+"]" ' optional array-index If width<1 decent:+"=~q" decent:+text Else decent:+"=.." For t=0 To Len(text)-1 If Not (w Mod width) ' newline If t>0 If Asc(Right(decent,1))=126 ' an escape we shouln't break? decent:+Mid(text,t+1,1)+Chr(34)+"+.." Else ' no? just continue then.. decent:+Chr(34)+"+.." EndIf EndIf decent:+Chr(10)+Chr(34) EndIf decent:+Mid(text,t+1,1) w:+1 Next EndIf decent:+Chr(34) ' and the closing quote! bank=Null Return decent End Function
Author Comments:
Converts a textfile into a string, including newlines and quotes. This way you can store a textfile into a string and thus store textfiles into your source.. kinda like an alternative incbin. update: tabs added, closefile added, escape-bug fixed, no-textformat-option added
Login or
create an account
to comment on this snippet