Alpinestar Posted April 11, 2009 Share Posted April 11, 2009 (edited) Hello Below is an example of some of my code, I was wondering if this code could be made more compact instead of all the repeating that is going on. It is easier to read for me, just wanted to see if there was a better way.. Thanks in advance Local $SimsServer = EnvGet("SimsServer") Local $Sapassword = EnvGet("SaPassword") Local $SimsUser = EnvGet("SimsUser") Local $SimsPassword = EnvGet("SimsPassword") ;************************************************* If Not $SimsServer = " " Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - Sims Server Var not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - Sims Server identified : " & $SimsServer) EndIf If Not $Sapassword = " " Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - SA password not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - SA password identified") EndIf If Not $SimsUser = " " Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - Sims User not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - Sims User identified : " & $SimsUser) EndIf If Not $SimsPassword = " " Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - Sims User password not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - Sims User password identified") EndIf Edited April 11, 2009 by Alpinestar Link to comment Share on other sites More sharing options...
Authenticity Posted April 11, 2009 Share Posted April 11, 2009 It's not the correct condition to use if I understand it correctly: $Something = '3' If Not $Something = '2' Then ; True Else ; False EndIfoÝ÷ Ù.ßÚÞë-{ޮاZ·MúJ¶§Ê'µ¨§jwméÜ¢jZëk¹ê+}©ly¨{-+^©m{m«fk*Þ²ém{k¹è¶¬¶¸§ëÞÛ½©nj׬¶k¹æ§vøz÷«±¤áȬ¶¢ºÞrÚ'y©m +wöÈî²Ö޶׫¶n¶Ø^z[q«~*ì¶)ìµæ¡óNObayÊ'v+b¢v®¶sbb33cµ6öÖWFærÒb33³2b33°¤bæ÷Bb33cµ6öÖWFærÒb33³"b33²FVࢲG'VP¤VÇ6P¢²fÇ6 Link to comment Share on other sites More sharing options...
Alpinestar Posted April 11, 2009 Author Share Posted April 11, 2009 (edited) Thanks for the quick reply. The reason I had it that way round was because of the negative results I was getting. I have done some testing and amend the code below. I was assuming that having " " would be a null variable, but it seems that not true, a null variable without a space is a null variable. Probably a very silly mistake on my behalf. Local $SimsServer = EnvGet("SimsServer") Local $Sapassword = EnvGet("SaPassword") Local $SimsUser = EnvGet("SimsUser") Local $SimsPassword = EnvGet("SimsPassword") ;************************************************* If NOT ($SimsServer = '') Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - Sims Server Var not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - Sims Server identified : " & $SimsServer) EndIf If ($Sapassword = '') Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - SA password not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - SA password identified") EndIf If ($SimsUser = '') Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - Sims User not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - Sims User identified : " & $SimsUser) EndIf If ($SimsPassword = '') Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - Sims User password not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\4SBackup.log", "Success - Sims User password identified") EndIf Edited April 11, 2009 by Alpinestar Link to comment Share on other sites More sharing options...
Alpinestar Posted April 11, 2009 Author Share Posted April 11, 2009 So is there any way to reduce this code at all ?? Link to comment Share on other sites More sharing options...
Developers Jos Posted April 11, 2009 Developers Share Posted April 11, 2009 (edited) Not sure why you would want to shorten this code but here is a shorter (untested) version: TestVars("SimsServer") TestVars("Sapassword") TestVars("SimsUser") TestVars("SimsPassword") ; Func TestVars($inputVar) Assign($inputVar,EnvGet($inputVar),2) If Eval($inputVar) = '' Then _FileWriteLog(@ScriptDir & "\Backup.log", "Error - " & $inputVar & " not Found ") _OutPut() Else _FileWriteLog(@ScriptDir & "\Backup.log", "Success - " & $inputVar & " identified") EndIf EndFunc Edited April 11, 2009 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Authenticity Posted April 11, 2009 Share Posted April 11, 2009 (edited) #include <File.au3> Local $sEnv = 'SimsServer|SaPassword|SimsUser|SimsPassword' Local $avSplit = StringSplit($sEnv, '|') Local $sFile = @ScriptDir & '\Backup.log' For $i = 1 To $avSplit[0] Local $avWords = StringRegExp($avSplit[$i], '[A-Z]+[a-z]+', 3) Local $sVar = EnvGet($avSplit[$i]) If $sVar = '' Then _FileWriteLog($sFile, 'Error - ' & $avWords[0] & ' ' & $avWords[1] & ' Var Not Found') _OutPut() Else _FileWriteLog($sFile, 'Success - ' & $avWords[0] & ' ' & $avWords[1] & ' identified : ' & $sVar) EndIf Next...Edit: StringRegExp... Edited April 11, 2009 by Authenticity Link to comment Share on other sites More sharing options...
Alpinestar Posted April 11, 2009 Author Share Posted April 11, 2009 Thanks for the replies. Will give it a go, its interesting to see the different ways to complete the same thing. 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