langlearnkorean Posted August 6, 2015 Share Posted August 6, 2015 (edited) I made a simple leitner box type flash card system years ago and I recoded it today but I have a problem. When ever I write a string to a new text document it sometimes does not write with a new line. When I realized I had that problem I added a new line character before the string which fixed that problem. Then a new problem was it sometimes did two lines so then one was left empty. After that I went back to without the new line character. I am not sure if I am describing this very well so I will just show it like this..BEFORElevel 1.txtblah apple dino car pizza place taste animallevel 2.txtpear help zebra cardinalAFTERlevel 1.txt << if you get the answer right first line is removed from level 1 and moved to the end of level 2dino car pizza place taste animallevel 2.txt << CORRECT << first line of level 1 is moved to the end of level 2 if you get it right.. pear help zebra cardinal blah applelevel 2.txt << MY PROBLEM << sometimes it does it the correct way but sometimes it does this.pear help zebra cardinalblah appleI really have no idea how to fix this problem. I have tried FileWrite, FileWriteLine, FileOpen without 1, _FileWriteToLine with string length etc. expandcollapse popup; I removed most of the stuff that has nothing to do with the problem Local $FileOpen = FileOpen($Destination) Local $wordLine = FileReadLine($FileOpen,1) Local $array = StringSplit($wordLine," ") Local $kor = $array[1] Local $eng = $array[2] if($level<5) Then _FileWriteToLine($Destination,1,"",1) EndIf FileClose($FileOpen) Local $string = $kor&" "&$eng ;change to new directory file after removing line from the lower level file If ($level=1) Then $Destination="level 2.txt" $FileOpen = FileOpen($Destination,1) FileWrite($Destination, $string) ElseIf ($level=2) Then $Destination="level 3.txt" $FileOpen = FileOpen($Destination,1) FileWrite($Destination, $string) ElseIf ($level=3) Then $Destination="level 4.txt" $FileOpen = FileOpen($Destination,1) FileWrite($Destination, $string) ElseIf ($level=4) Then $Destination="level 5.txt" $FileOpen = FileOpen($Destination,1) FileWrite($Destination, $string) EndIf FileClose($FileOpen) Edited August 6, 2015 by langlearnkorean Link to comment Share on other sites More sharing options...
JohnOne Posted August 6, 2015 Share Posted August 6, 2015 A runnable example would help your cause. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
BrewManNH Posted August 6, 2015 Share Posted August 6, 2015 If you use append a @CRLF to the string before you write it, then it will write that to the file. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
kaisies Posted August 6, 2015 Share Posted August 6, 2015 (edited) Insert the @CRLF at the end of your string, like FileWrite($Destination, $string & @CRLF)If unsure if you already have a @CRLF (@CR @LF) in string, you could remove all but one...Obviously this is spaghetti code.$sString = "1" & @CRLF & "2" & @LF & "3" & @CR & "4" msgbox(0,'',$sString) $sString = _RemoveALL_CR_LF_CRLF_ExceptOne($sString) msgbox(0,'',$sString) Func _RemoveALL_CR_LF_CRLF_ExceptOne($sTmp) If Not IsString($sTmp) Then Return Msgbox(0,'',"Hey man, you didn't input a string!") Do $sTmp = StringReplace($sTmp,@CRLF,"") Until StringInStr($sTmp,@CRLF) = 0 Do $sTmp = StringReplace($sTmp,@CR,"") Until StringInStr($sTmp,@CR) = 0 Do $sTmp = StringReplace($sTmp,@LF,"") Until StringInStr($sTmp,@LF) = 0 Return $sTmp & @CRLF EndFunc And as brewman said, Appending a @CRLF is good code, prepending is typically bad. If you use append a @CRLF to the string before you write it, then it will write that to the file. Edited August 6, 2015 by kaisies Link to comment Share on other sites More sharing options...
guinness Posted August 6, 2015 Share Posted August 6, 2015 @kaisies, why not use?Local $sData = StringRegExpReplace($sSomeData, '\R', '') ; \R matches \r\n, \r or \n UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
kaisies Posted August 6, 2015 Share Posted August 6, 2015 @kaisies, why not use?Local $sData = StringRegExpReplace($sSomeData, '\R', '') ; \R matches \r\n, \r or \n Because I know nothing about regexp yet Link to comment Share on other sites More sharing options...
guinness Posted August 6, 2015 Share Posted August 6, 2015 Now you have somewhere to begin. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now