afoo Posted December 3, 2013 Share Posted December 3, 2013 Hi, I'm facing a problem to get the file compile properly. It indicate with error: $iFlag: possibly used before declaration, $iFlag: undeclared global variable. Below is my code. expandcollapse popup#NoTrayIcon #include <GUIConstantsEx.au3> #include <File.au3> Global $file, $sPath, $hFile, $vPath, $sDrive $file = FileOpen("backup-path.txt", 0) ; Open the directory file in read only mode. The directory path until $sPath only. $hFile = FileOpen("backup-sync.log", 1) ; Open the logfile in write mode. ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit ElseIf FileExists("I:\") Then sync() Else MsgBox(0, "Error", "I:\ drive not found") _FileWriteLog($hFile, 'I:\ drive not found', $iFlag <> -1) ; Write to the logfile with section ending _FileWriteLog($hFile, '*****', $iFlag <> -1) ; Write to the logfile with section ending EndIf Func sync() $vPath = InputBox("Define folder name", "Enter folder name", "WWxx dd-mm-yyyy", "", 200, 130) SplashTextOn("", "Syncing files. Please wait.", 250, 50, -1, -1, 16, "", 10) ; Read in lines of text until the EOF is reached While 1 DirCreate("I:\" & $vPath) Local $line = FileReadLine($file) If @error = -1 Then ExitLoop FileCopy($line, "I:\" & $vPath, 1) _FileWriteLog($hFile, 'Copied;'&@ComputerName&';'&$line, $iFlag <> -1) ; Write to the logfile passing the filehandle returned by FileOpen. _FileWriteLog($hFile, '*****', $iFlag <> -1) ; Write to the logfile with section ending. FileClose($hFile) ; Close the log file. FileClose($file) ; Close the directory file. Sleep(3000) WEnd SplashOff() MsgBox(0,"", "Sync completed.") EndFunc Link to comment Share on other sites More sharing options...
Solution abberration Posted December 3, 2013 Solution Share Posted December 3, 2013 Welcome to AutoIt! The statement "$iFlag <> -1" shouldn't be used in that manner. The help file is only using $iFlag to let you know how it will process a -1 in that location or anything other than a -1. Basically, it is a way of telling your script to write your newest log entry to the top of the file or the bottom. If you put in a -1 (which is default), it will write it to the bottom. If you put anything else, it will write it to the top. So, the question you have to ask yourself is if you always want your newest entry on top or in chronological order. Examples that should work: _FileWriteLog($hFile, 'I:\ drive not found', -1); writes to the end of the file _FileWriteLog($hFile, 'I:\ drive not found', 1); writes to the beginning of the file Easy MP3 | Software Installer | Password Manager Link to comment Share on other sites More sharing options...
afoo Posted December 3, 2013 Author Share Posted December 3, 2013 Thank you very much abberration. I'm able to compile the script now. However, the file doesn't append on top but happens at the end of the file. I try with value 1, 0, -2. None working. Welcome to AutoIt! The statement "$iFlag <> -1" shouldn't be used in that manner. The help file is only using $iFlag to let you know how it will process a -1 in that location or anything other than a -1. Basically, it is a way of telling your script to write your newest log entry to the top of the file or the bottom. If you put in a -1 (which is default), it will write it to the bottom. If you put anything else, it will write it to the top. So, the question you have to ask yourself is if you always want your newest entry on top or in chronological order. Examples that should work: _FileWriteLog($hFile, 'I:\ drive not found', -1); writes to the end of the file _FileWriteLog($hFile, 'I:\ drive not found', 1); writes to the beginning of the file Link to comment Share on other sites More sharing options...
water Posted December 3, 2013 Share Posted December 3, 2013 (edited) It works as expected here. Please run the following script and post the result: #include <File.au3> _FileWriteLog("C:\temp\test.log", "First Message") _FileWriteLog("C:\temp\test.log", "Message at the End", -1) _FileWriteLog("C:\temp\test.log", "Message at the Top", 1) ShellExecute("C:\temp\test.log") Edited December 3, 2013 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
guinness Posted December 3, 2013 Share Posted December 3, 2013 Works for me too. 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...
afoo Posted December 4, 2013 Author Share Posted December 4, 2013 Thank you. I think I figure out the issue why it don't works on my end here. Thanks again. Link to comment Share on other sites More sharing options...
water Posted December 4, 2013 Share Posted December 4, 2013 Could you please describe the problem that led to the undesired result? So it might be helpful for others in the future. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki 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