- 0 - <default> Write to STDOUT
- 1 - Write to STDERR
Should ConsoleWriteError() be merged with ConsoleWrite()?
#1
Posted 24 February 2012 - 05:18 PM
#2
Posted 24 February 2012 - 05:22 PM
#3
Posted 24 February 2012 - 05:24 PM
- shanet likes this
eMyvnE
#4
Posted 24 February 2012 - 05:34 PM
It's more logical not to do it.
You're missing a good reason.
Okay. Pro/Con List time.
Reasons TO merge them:
- Easier to define where you want to write to console if in a script. (EG. You could set a ConsoleWrite() to write to STDERR by setting the flag to be @error so that if there was a success it would write to STDOUT and if NOT write to STDERR)
- Less to type
- Probably have the almost same source coding (then again I don't know as AutoIt isn't OSS)
- Breaks scripts.
- Makes devs do work, they already have enough
#5
Posted 24 February 2012 - 06:26 PM
Set the flag to be @error huh? So when it works, it prints an error message on the standard pipe instead of the error pipe? Genius.Easier to define where you want to write to console if in a script. (EG. You could set a ConsoleWrite() to write to STDERR by setting the flag to be @error so that if there was a success it would write to STDOUT and if NOT write to STDERR)
Not saying I want the AutoIt developers to do more work, but isn't that the whole point of being a developer?Makes devs do work, they already have enough
#6
Posted 24 February 2012 - 08:30 PM
ImNotVeryCleverOrICouldHaveThoughtUpThisOnMyOwn("This goes to stdout." & @CRLF) SetError(1) ; Force an error value. ImNotVeryCleverOrICouldHaveThoughtUpThisOnMyOwn("This goes to stderr." & @CRLF) Func ImNotVeryCleverOrICouldHaveThoughtUpThisOnMyOwn($sMsg, $iError = @error) If $iError Then ConsoleWriteError("STDERR: " & $sMsg) Else ConsoleWrite("STDOUT: " & $sMsg) EndIf EndFunc
30 seconds.
- James and shanet like this
#7
Posted 28 February 2012 - 12:59 PM
You know what I mean.
PS: What the heck with the forums. I code enough HTML, I don't want to do it on here :|
#8
Posted 28 February 2012 - 02:49 PM
If what I said isn't what you meant, then what did you mean? If you are setting the flag to error, what I described is exactly what will happen.Set the flag to be @error huh? So when it works, it prints an error message on the standard pipe instead of the error pipe? Genius.
You know what I mean.
PS: What the heck with the forums. I code enough HTML, I don't want to do it on here :|
#9
Posted 28 February 2012 - 08:14 PM
If what I said isn't what you meant, then what did you mean? If you are setting the flag to error, what I described is exactly what will happen.
I mean that if it is successful write to STDOUT, if not write to STDERR.
Ignoring the fact that I said
because I said they COULD be as such not WOULD be OR just have the @error code negated in the ConsoleWrite code. I hate explaining the obvious but then again I should have been more clear.The parameter values could be as such:
#10
Posted 28 February 2012 - 08:26 PM
I know exactly what you mean. I also can't understand why you can't understand what I mean. Look at these two situations and tell me if I'm still off base.
I mean that if it is successful write to STDOUT, if not write to STDERR.
If it works, it prints "It worked" on STDOUT. If it didn't work, it still prints "It worked" but on STDERROR, which makes no sense.
If it works, it prints "It didn't work" on STDOUT, which makes no sense. If it didn't work, it prints "It didn't work" on STDERROR.
#11
Posted 28 February 2012 - 08:39 PM
Here's how I have it:
; #FUNCTION# ==================================================================================================================== ; Name ..........: _ConsoleWrite ; Description ...: A merge of ConsoleWrite and ConsoleWriteError ; Syntax ........: _ConsoleWrite($sText[, $fPipe = 0]) ; Parameters ....: $sText - A string value. ; $fPipe - [optional] A boolean value. Default is 0. ; Return values .: None ; Author ........: Robert Maehl ; Modified ......: 02/28/2012 ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _ConsoleWrite($sText, $fPipe = 0) If $fPipe Then ConsoleWrite($sText) Else ConsoleWriteError($sText) EndIf EndFunc ;==>_ConsoleWrite ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Not ; Description ...: Returns Not if needed ; Syntax ........: _Not([$fSuccess = @error[, $fCapital = 0]]) ; Parameters ....: $fSuccess - [optional] A boolean value. Default is @error. ; $fCapital - [optional] A boolean value. Default is 0. ; Return values .: None? ; Author ........: Robert Maehl ; Modified ......: 02/28/2012 ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _Not($fSuccess = @error, $fCapital = 0) If $fSuccess Then If $fCapital Then Return(" Not ") Else Return(" not ") EndIf Else Return(" ") EndIf EndFunc
And doing
_ConsoleWrite("It was" & _Not() & "successful")
#12
Posted 28 February 2012 - 11:52 PM
Edited by Richard Robertson, 28 February 2012 - 11:52 PM.
- shanet likes this
#13
Posted 01 March 2012 - 12:44 PM
That's a pretty significant detail there. Do you see why I was saying what I was saying now?
Yeah. I use the _Not() Function so often in my personal scripts I forgot I coded it. XD
#14
Posted 01 March 2012 - 04:11 PM
- James and shanet like this
#15
Posted 20 April 2012 - 09:49 AM
if an error occurs, i want to write infos about the error-details to console, else possibly the resulting values from the succesful operation.
#16
Posted 16 May 2012 - 03:31 AM
- Small Minds.......................................................................................................Simple progress bar that changes direction at either sides.
- ChristmasIt AutoIt Christmas Theme..........................................................I WAS BOOOORED!
- DriveToy..............................................................................................................Simple joke script. Trick your friends into thinking their computer drive is haywire!
- Your Background Task Organiser
- AInstall Second Generation
%programfiles%/AutoIt3/autoit3.chm
#17
Posted 16 May 2012 - 05:28 PM
That isn't a reason for a merged function not to exist. Two streams with a single write point can actually be very handy. For example, a logger that writes to the console and a file at the same time.I cant believe no one has said its a bad idea because they are actually 2 different streams...
#18
Posted 16 May 2012 - 05:34 PM
#19
Posted 17 May 2012 - 12:44 AM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users





