516 lines
23 KiB
Plaintext
516 lines
23 KiB
Plaintext
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||
#AutoIt3Wrapper_Icon=ColorEcho.ico
|
||
#AutoIt3Wrapper_UseUpx=n
|
||
#AutoIt3Wrapper_Change2CUI=y
|
||
#AutoIt3Wrapper_Res_Comment=http://znil.net/index.php?title=ZnilTools:ColorEcho.exe
|
||
#AutoIt3Wrapper_Res_Description=http://znil.net/index.php?title=ZnilTools:ColorEcho.exe
|
||
#AutoIt3Wrapper_Res_Fileversion=1.2.0.2
|
||
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
|
||
#AutoIt3Wrapper_Res_Language=1031
|
||
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||
#Include <WinAPI.au3>
|
||
|
||
;Grundfarben
|
||
Local Const $FOREGROUND_BLUE = 0x1
|
||
Local Const $FOREGROUND_GREEN = 0x2
|
||
Local Const $FOREGROUND_RED = 0x4
|
||
Local Const $BACKGROUND_BLUE = 0x10
|
||
Local Const $BACKGROUND_GREEN = 0x20
|
||
Local Const $BACKGROUND_RED = 0x40
|
||
Local Const $BACKGROUND_INTENSITY = 0x80
|
||
Local Const $BACKGROUND_SEARCH = 0x20
|
||
Local Const $FOREGROUND_INTENSITY = 0x8
|
||
Local Const $FOREGROUND_SEARCH = 0x10
|
||
|
||
|
||
;Vordergrundfarben F ore G round = FG_
|
||
Global Const $FG_BLACK = 0
|
||
Global Const $FG_BLUE = BitOR($FOREGROUND_BLUE, $FOREGROUND_INTENSITY)
|
||
Global Const $FG_BROWN = BitOR($FOREGROUND_RED, $FOREGROUND_GREEN)
|
||
Global Const $FG_DARKBLUE = $FOREGROUND_BLUE
|
||
Global Const $FG_DARKGREY = $FOREGROUND_INTENSITY
|
||
Global Const $FG_GREEN = $FOREGROUND_GREEN
|
||
Global Const $FG_GREY = BitOR($FOREGROUND_RED, $FOREGROUND_GREEN, $FOREGROUND_BLUE)
|
||
Global Const $FG_LIGHTBLUE = BitOR($FOREGROUND_BLUE, $FOREGROUND_GREEN, $FOREGROUND_INTENSITY)
|
||
Global Const $FG_LIGHTGREEN = BitOR($FOREGROUND_GREEN, $FOREGROUND_INTENSITY)
|
||
Global Const $FG_PINK = BitOR($FOREGROUND_RED, $FOREGROUND_BLUE, $FOREGROUND_INTENSITY)
|
||
Global Const $FG_RED = $FOREGROUND_RED
|
||
Global Const $FG_ROSE = BitOR($FOREGROUND_RED, $FOREGROUND_INTENSITY)
|
||
Global Const $FG_TURQUOISE = BitOR($FOREGROUND_BLUE, $FOREGROUND_GREEN)
|
||
Global Const $FG_VIOLET = BitOR($FOREGROUND_RED, $FOREGROUND_BLUE)
|
||
Global Const $FG_WHITE = BitOR($FOREGROUND_RED, $FOREGROUND_GREEN, $FOREGROUND_BLUE, $FOREGROUND_INTENSITY)
|
||
Global Const $FG_YELLOW = BitOR($FOREGROUND_RED, $FOREGROUND_GREEN, $FOREGROUND_INTENSITY)
|
||
|
||
;Hintergrundfarben B ack Ground = BG_
|
||
Global Const $BG_BLACK = 0
|
||
Global Const $BG_BLUE = BitOR($BACKGROUND_BLUE, $BACKGROUND_INTENSITY)
|
||
Global Const $BG_BROWN = BitOR($BACKGROUND_RED, $BACKGROUND_GREEN)
|
||
Global Const $BG_DARKBLUE = $BACKGROUND_BLUE
|
||
Global Const $BG_DARKGREY = $BACKGROUND_INTENSITY
|
||
Global Const $BG_GREEN = $BACKGROUND_GREEN
|
||
Global Const $BG_GREY = BitOR($BACKGROUND_RED, $BACKGROUND_GREEN, $BACKGROUND_BLUE)
|
||
Global Const $BG_LIGHTBLUE = BitOR($BACKGROUND_BLUE, $BACKGROUND_GREEN, $BACKGROUND_INTENSITY)
|
||
Global Const $BG_LIGHTGREEN = BitOR($BACKGROUND_GREEN, $BACKGROUND_INTENSITY)
|
||
Global Const $BG_PINK = BitOR($BACKGROUND_RED, $BACKGROUND_BLUE, $BACKGROUND_INTENSITY)
|
||
Global Const $BG_RED = $BACKGROUND_RED
|
||
Global Const $BG_ROSE = BitOR($BACKGROUND_RED, $BACKGROUND_INTENSITY)
|
||
Global Const $BG_TURQUOISE = BitOR($BACKGROUND_BLUE, $BACKGROUND_GREEN)
|
||
Global Const $BG_VIOLET = BitOR($BACKGROUND_RED, $BACKGROUND_BLUE)
|
||
Global Const $BG_WHITE = BitOR($BACKGROUND_RED, $BACKGROUND_GREEN, $BACKGROUND_BLUE, $BACKGROUND_INTENSITY)
|
||
Global Const $BG_YELLOW = BitOR($BACKGROUND_RED, $BACKGROUND_GREEN, $BACKGROUND_INTENSITY)
|
||
|
||
Global $DefaultWerte = RegRead("HKEY_CURRENT_USER\Console","ScreenColors")
|
||
Global $DefaultBackground = Int("0x000000" & Stringmid(hex($DefaultWerte),7,1) & "0")
|
||
Global $DefaultForeground = Int(Stringmid(hex($DefaultWerte),8,1))
|
||
Global $ZeigerConsole
|
||
Global $ZeigerCmdLine = 1
|
||
Global $NewBackground
|
||
Global $NewForeground
|
||
|
||
; ###################################################################################
|
||
; H I L F E - T E X T
|
||
; ###################################################################################
|
||
|
||
|
||
; 10 20 30 40 50 60 70 80
|
||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||
Dim $Header = "+------------------------------------------------------------------------------" & @CRLF & _
|
||
"| ColorEcho - Version " & FileGetVersion(@ScriptName) & @CRLF & _
|
||
"+------------------------------------------------------------------------------" & @CRLF & _
|
||
"| 2011 von Bernhard Linz f<>r http://znil.net - Kontakt: Bernhard@znil.net" & @CRLF & _
|
||
"+------------------------------------------------------------------------------" & @CRLF & _
|
||
@CRLF
|
||
|
||
; 10 20 30 40 50 60 70 80
|
||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||
Dim $HilfeText = "Kann wie das normale Echo Text in einer Eingabeaufforderung / DOS-Box ausgeben." & @CRLF & _
|
||
"Dabei kann aber die Hintergundfarbe und Textfarbe im Rahmen der DOS-Farbtabelle" & @CRLF & _
|
||
"gew<65>hlt werden." & @CRLF & _
|
||
"-------------------------------------------------------------------------------" & @CRLF & _
|
||
@CRLF & _
|
||
"1. Normaler Aufruf:" & @CRLF & _
|
||
@ScriptName & " [Hintergrundfarbe] [Vordergrundfarbe] [Text]" & @CRLF & _
|
||
@CRLF & _
|
||
"2. Aufruf ohne neue Zeile: (Nachfolgender Text erscheint dahinter)" & @CRLF & _
|
||
@ScriptName & " /NoCRLF [Hintergrundfarbe] [Vordergrundfarbe] [Text]" & @CRLF & _
|
||
@CRLF & _
|
||
"3. Farben pauschal <20>ndern: (Standardfarben werden nicht wieder hergestellt)" & @CRLF & _
|
||
@ScriptName & " /change [Hintergrundfarbe] [Vordergrundfarbe]" & @CRLF & _
|
||
@CRLF & _
|
||
"4. Voreinstellung wieder herstellen: (Standard bei 1. und 2.)" & @CRLF & _
|
||
@ScriptName & " /reset" & @CRLF & _
|
||
"-------------------------------------------------------------------------------" & @CRLF & _
|
||
@CRLF & _
|
||
"[Hintergundfarbe] : eine der 16 DOS Farben, siehe Farbtabelle" & @CRLF & _
|
||
"[Vordergrundfarbe] : eine der 16 DOS Farben, siehe Farbtabelle" & @CRLF & _
|
||
"[Text] : Der Text der ausgegeben werden soll" & @CRLF & _
|
||
"/NoCRLF : Unterdr<64>ckt das Erzeugen einer neuen Zeile, z.B." & @CRLF & _
|
||
" f<>r verschiedene Farben innerhalb einer Zeile" & @CRLF & _
|
||
"/change : Stellt die Farben f<>r alle nachfolgenden Ausgaben" & @CRLF & _
|
||
" um, also auch Text anderer Programme." & @CRLF & _
|
||
"/reset : Voreingestellte Farben werden wieder verwendet," & @CRLF & _
|
||
" wird autoamtisch nach jeder Zeile ausgef<65>hrt," & @CRLF & _
|
||
" /change unterdr<64>ckt dies." & @CRLF & _
|
||
@CRLF & _
|
||
"Beispiele:" & @CRLF & _
|
||
"----------" & @CRLF
|
||
|
||
|
||
; 10 20 30 40 50 60 70 80
|
||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||
$Disclaimer = "+------------------------------------------------------------------------------" & @CRLF & _
|
||
"| ColorEcho.exe ist FREEWARE! Kopieren, weitergeben ausdr<64>cklich erlaubt!" & @CRLF & _
|
||
"| Die jeweils aktuelleste Version und Anleitungen findet Ihr unter:" & @CRLF & _
|
||
"| http://znil.net/index.php?title=ZnilTools:ColorEcho.exe" & @CRLF & _
|
||
"+------------------------------------------------------------------------------" & @CRLF
|
||
|
||
; ###################################################################################
|
||
; F U N C T I O N E N / S U B R O U T I N E N
|
||
; ###################################################################################
|
||
|
||
; ###################################################################################
|
||
; Der eigentliche Farbwechsel
|
||
Func _Console_ChangeColor ($zConsole, $Color)
|
||
; BLinz
|
||
Local $aRes = DllCall("kernel32.dll", "bool", "SetConsoleTextAttribute","handle", $zConsole, "word", $Color)
|
||
EndFunc
|
||
|
||
; ###################################################################################
|
||
; _ANSI2OEM l<>st das Problem mit dem Umlauten und anderen Sonderzeichen. Es wandelt Text so um das er korrekt in der DOS-Box dargestellt wird
|
||
; So k<>nnen hier im Quellcode auch Umlaute verwendet werden (in den Textausgaben) und diese werden dann korrekt dargestellt
|
||
; Dank an Xenobiologist von AutoIt.de f<>r diese L<>sung: http://www.autoit.de/index.php?page=Thread&threadID=9461&highlight=ANSI2OEM
|
||
Func _ANSI2OEM($text)
|
||
$text = DllCall('user32.dll', 'Int', 'CharToOem', 'str', $text, 'str', '')
|
||
Return $text[2]
|
||
EndFunc ;==>_ANSI2OEM
|
||
|
||
; ###################################################################################
|
||
; Hilfsroutine die den Hilfetext ausgibt
|
||
Func _HilfeAusgeben()
|
||
ConsoleWrite(_ANSI2OEM($Header))
|
||
ConsoleWrite(_ANSI2OEM($HilfeText))
|
||
; 10 20 30 40 50 60 70 80
|
||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||
ConsoleWrite(_ANSI2OEM("Beispiel 1 : Blauer Text mit voreingestellten Hintergrund" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Aufruf : ColorEcho BLUE Dieser Text ist BLAU!" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Ergebnis : "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($DefaultBackground,$FG_BLUE))
|
||
ConsoleWrite(_ANSI2OEM("Dieser Text ist BLAU!" & @CRLF))
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite(@CRLF)
|
||
|
||
ConsoleWrite(_ANSI2OEM("Beispiel 2 : Roter Text mit gelben Hintergrund" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Aufruf : ColorEcho YELLOW BLUE Dieser Text ist ROT auf GELB!" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Ergebnis : "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_YELLOW,$FG_RED))
|
||
ConsoleWrite(_ANSI2OEM("Dieser Text ist ROT auf GELB!"))
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite(@CRLF)
|
||
ConsoleWrite(@CRLF)
|
||
|
||
ConsoleWrite(_ANSI2OEM("Beispiel 3 : Nur ein Wort einf<6E>rben (3 Befehlszeilen, vorher 'echo off')" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM('Aufruf : @echo off' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM(" ColorEcho /NoCRLF LIGHTGREEN Dieser hellgr<67>ne Text hat ein" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM(' ColorEcho /NoCRLF PINK PINKES ' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM(" ColorEcho LIGHTGREEN Wort in der Mitte!" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Ergebnis : "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($DefaultBackground,$FG_LIGHTGREEN))
|
||
ConsoleWrite(_ANSI2OEM("Dieser gr<67>ne Text hat ein"))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($DefaultBackground,$FG_PINK))
|
||
ConsoleWrite(_ANSI2OEM(" PINKES "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($DefaultBackground,$FG_LIGHTGREEN))
|
||
ConsoleWrite(_ANSI2OEM("Wort in der Mitte!" & @CRLF))
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite(@CRLF)
|
||
|
||
ConsoleWrite(_ANSI2OEM("Beispiel 4 : Nur ein Wort einf<6E>rben 2 (3 Befehlszeilen, vorher '@echo off')" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM('Aufruf : @echo off' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM(' ColorEcho /NoCRLF LIGHTBLUE "Dieser hellblaue Text hat ein "' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM(' ColorEcho /NoCRLF WHITE PINK PINKES ' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM(' ColorEcho LIGHTBLUE " Wort in der Mitte!"' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Ergebnis : "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($DefaultBackground,$FG_LIGHTBLUE))
|
||
ConsoleWrite(_ANSI2OEM("Dieser hellblaue Text hat ein "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_WHITE,$FG_PINK))
|
||
ConsoleWrite(_ANSI2OEM(" PINKES "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($DefaultBackground,$FG_LIGHTBLUE))
|
||
ConsoleWrite(_ANSI2OEM(" Wort in der Mitte!" & @CRLF))
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite(@CRLF)
|
||
|
||
ConsoleWrite(_ANSI2OEM("Beispiel 5 : Blau / Weiss f<>r nachfolgende Befehle" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Aufruf : ColorEcho /change DARKBLUE WHITE" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("Ergebnis : "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_DARKBLUE,$FG_WHITE))
|
||
ConsoleWrite(_ANSI2OEM("Alle Befehle wie z.B. echo oder dir erscheinen in" & @CRLF))
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite(_ANSI2OEM(" "))
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_DARKBLUE,$FG_WHITE))
|
||
ConsoleWrite("dieser Farbe bis 'ColorEcho /reset' aufgerufen wird.")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite(@CRLF)
|
||
ConsoleWrite(@CRLF)
|
||
|
||
ConsoleWrite(_ANSI2OEM('Hinweis 1 : Leerzeichen werden mit <20>bergeben, es sind keine " " n<>tig' & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM('Hinweis 2 : /NoCRLF funktioniert nur in Batch-Dateien richtig' & @CRLF))
|
||
ConsoleWrite(@CRLF)
|
||
|
||
;ConsoleWrite("$DefaultWerte:" & $DefaultWerte & " " & Hex($DefaultWerte) & @CRLF)
|
||
;ConsoleWrite("$DefaultBackground:" & $DefaultBackground & " " & Hex($DefaultBackground) & @CRLF)
|
||
|
||
; Farbtabelle
|
||
; 10 20 30 40 50 60 70 80
|
||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||
ConsoleWrite(_ANSI2OEM("Farbtabelle:" & @CRLF))
|
||
ConsoleWrite(_ANSI2OEM("-------------------------------------------------------------------------------" & @CRLF))
|
||
ConsoleWrite(@CRLF)
|
||
; ConsoleWrite(" 1 2 3 4 5 6 7 8" & @CRLF)
|
||
; ConsoleWrite("12345678901234567890123456789012345678901234567890123456789012345678901234567890" & @CRLF)
|
||
ConsoleWrite(" BLACK [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_BLACK,$FG_BLACK))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] BLUE [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_BLUE,$FG_BLUE))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" BROWN [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_BROWN,$FG_BROWN))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] DARKBLUE [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_DARKBLUE,$FG_DARKBLUE))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" DARKGREY [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_DARKGREY,$FG_DARKGREY))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] GREEN [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_GREEN,$FG_GREEN))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" GREY [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_GREY,$FG_GREY))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] LIGHTBLUE [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_LIGHTBLUE,$FG_LIGHTBLUE))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" LIGHTGREEN [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_LIGHTGREEN,$FG_LIGHTGREEN))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] PINK [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_PINK,$FG_PINK))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" RED [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_RED,$FG_RED))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] ROSE [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_ROSE,$FG_ROSE))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" TURQUOISE [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_TURQUOISE,$FG_TURQUOISE))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] VIOLET [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_VIOLET,$FG_VIOLET))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
|
||
ConsoleWrite(" WHITE [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_WHITE,$FG_WHITE))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("] YELLOW [")
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($BG_YELLOW,$FG_YELLOW))
|
||
ConsoleWrite(" ")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
ConsoleWrite("]" & @CRLF)
|
||
ConsoleWrite(@CRLF)
|
||
ConsoleWrite(_ANSI2OEM($Disclaimer))
|
||
EndFunc ;==>_HilfeAusgeben
|
||
|
||
|
||
; ###################################################################################
|
||
; Hilfsroutine die die Farben findet
|
||
Func _FindColors($a,$b)
|
||
;1. Parameter testen - sollte immer eine Farbe sein
|
||
$ZeigerCmdLine = $a
|
||
If $CmdLine[0] >= $a Then
|
||
Select
|
||
Case $CmdLine[$a] = "BLACK"
|
||
$NewBackground = $BG_BLACK
|
||
Case $CmdLine[$a] = "BLUE"
|
||
$NewBackground = $BG_BLUE
|
||
Case $CmdLine[$a] = "BROWN"
|
||
$NewBackground = $BG_BROWN
|
||
Case $CmdLine[$a] = "DARKBLUE"
|
||
$NewBackground = $BG_DARKBLUE
|
||
Case $CmdLine[$a] = "DARKGREY"
|
||
$NewBackground = $BG_DARKGREY
|
||
Case $CmdLine[$a] = "GREEN"
|
||
$NewBackground = $BG_GREEN
|
||
Case $CmdLine[$a] = "GREY"
|
||
$NewBackground = $BG_GREY
|
||
Case $CmdLine[$a] = "LIGHTBLUE"
|
||
$NewBackground = $BG_LIGHTBLUE
|
||
Case $CmdLine[$a] = "LIGHTGREEN"
|
||
$NewBackground = $BG_LIGHTGREEN
|
||
Case $CmdLine[$a] = "PINK"
|
||
$NewBackground = $BG_PINK
|
||
Case $CmdLine[$a] = "RED"
|
||
$NewBackground = $BG_RED
|
||
Case $CmdLine[$a] = "ROSE"
|
||
$NewBackground = $BG_ROSE
|
||
Case $CmdLine[$a] = "TURQUOISE"
|
||
$NewBackground = $BG_TURQUOISE
|
||
Case $CmdLine[$a] = "VIOLET"
|
||
$NewBackground = $BG_VIOLET
|
||
Case $CmdLine[$a] = "WHITE"
|
||
$NewBackground = $BG_WHITE
|
||
Case $CmdLine[$a] = "YELLOW"
|
||
$NewBackground = $BG_YELLOW
|
||
Case Else
|
||
ConsoleWrite(_ANSI2OEM("Unbekannte Farbe: " & $CmdLine[$a]) & @CRLF)
|
||
Exit
|
||
EndSelect
|
||
Else
|
||
$NewBackground = $DefaultBackground
|
||
$NewForeground = $DefaultForeground
|
||
$ZeigerCmdLine = $a - 1
|
||
EndIf
|
||
If $CmdLine[0] >= $b Then
|
||
Select
|
||
Case $CmdLine[$b] = "BLACK"
|
||
$NewForeground = $FG_BLACK
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "BLUE"
|
||
$NewForeground = $FG_BLUE
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "BROWN"
|
||
$NewForeground = $FG_BROWN
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "DARKBLUE"
|
||
$NewForeground = $FG_DARKBLUE
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "DARKGREY"
|
||
$NewForeground = $FG_DARKGREY
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "GREEN"
|
||
$NewForeground = $FG_GREEN
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "GREY"
|
||
$NewForeground = $FG_GREY
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "LIGHTBLUE"
|
||
$NewForeground = $FG_LIGHTBLUE
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "LIGHTGREEN"
|
||
$NewForeground = $FG_LIGHTGREEN
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "PINK"
|
||
$NewForeground = $FG_PINK
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "RED"
|
||
$NewForeground = $FG_RED
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "ROSE"
|
||
$NewForeground = $FG_ROSE
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "TURQUOISE"
|
||
$NewForeground = $FG_TURQUOISE
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "VIOLET"
|
||
$NewForeground = $FG_VIOLET
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "WHITE"
|
||
$NewForeground = $FG_WHITE
|
||
$ZeigerCmdLine = $b + 1
|
||
Case $CmdLine[$b] = "YELLOW"
|
||
$NewForeground = $FG_YELLOW
|
||
$ZeigerCmdLine = $b + 1
|
||
Case Else
|
||
$NewForeground = Int("0x0000000" & StringMid(Hex($NewBackground),7,1))
|
||
$NewBackground = $DefaultBackground
|
||
$ZeigerCmdLine = $b
|
||
;ConsoleWrite("Hier2" & @CRLF)
|
||
;ConsoleWrite("$NewBackground:" & Hex($NewBackground) & @CRLF)
|
||
;ConsoleWrite("$NewForeground:" & Hex($NewForeground) & @CRLF)
|
||
|
||
EndSelect
|
||
Else
|
||
$NewForeground = Int("0x0000000" & StringMid(Hex($NewBackground),7,1))
|
||
$NewBackground = $DefaultBackground
|
||
$ZeigerCmdLine = $b
|
||
;ConsoleWrite("Hier1" & @CRLF)
|
||
EndIf
|
||
EndFunc
|
||
|
||
; ###################################################################################
|
||
; Hilfsroutine die den Text des Benutzers ausgibt
|
||
Func _EchoText($crlfYesOrNo)
|
||
Dim $LineTextBegin
|
||
Dim $LineText
|
||
For $i = 1 to ($ZeigerCmdLine - 1)
|
||
$LineTextBegin = $LineTextBegin & $CmdLine[$i] & " "
|
||
Next
|
||
$LineText = StringMid($CmdLineRaw,StringLen($LineTextBegin) + 1)
|
||
;~ For $i = $ZeigerCmdLine To $CmdLine[0]
|
||
;~ $LineText = $LineText & $CmdLine[$i] & " "
|
||
;~ Next
|
||
;~ If StringRight($LineText,1) = " " Then
|
||
;~ $LineText = StringMid($LineText,1,StringLen($LineText) - 1)
|
||
;~ EndIf
|
||
ConsoleWrite(_ANSI2OEM($LineText))
|
||
If $crlfYesOrNo = "Yes" Then
|
||
ConsoleWrite(@CRLF)
|
||
EndIf
|
||
EndFunc
|
||
|
||
|
||
; ######################################################################################################################################################################
|
||
; ######################################################################################################################################################################
|
||
; ######################################################################################################################################################################
|
||
; H A U P T P R O G R A M M
|
||
; ######################################################################################################################################################################
|
||
; ######################################################################################################################################################################
|
||
; ######################################################################################################################################################################
|
||
|
||
|
||
_WinAPI_AttachConsole()
|
||
$ZeigerConsole = _WinAPI_GetStdHandle(1)
|
||
$ZeigerCmdLine = 1
|
||
|
||
; ###################################################################################
|
||
; H I L F E
|
||
; ###################################################################################
|
||
|
||
;testen ob wir <20>berhaupt mit einem Parameter gestartet wurden - sonst Hilfe ausgeben
|
||
If $CmdLine[0] = 0 Then
|
||
_HilfeAusgeben()
|
||
Exit
|
||
EndIf
|
||
|
||
;testen ob der Parameter 1 ist auf "/?" testen und ebenfalls Hilfe ausgeben
|
||
If $CmdLine[1] = "/?" Then
|
||
_HilfeAusgeben()
|
||
Exit
|
||
EndIf
|
||
|
||
; ###################################################################################
|
||
; R E S E T
|
||
; ###################################################################################
|
||
If $CmdLine[1] = "/reset" Then
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
Exit
|
||
EndIf
|
||
|
||
; ###################################################################################
|
||
; C H A N G E
|
||
; ###################################################################################
|
||
If $CmdLine[1] = "/change" Then
|
||
_FindColors(2,3)
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($NewBackground,$NewForeground))
|
||
Exit
|
||
EndIf
|
||
|
||
; ###################################################################################
|
||
; N O C R L F
|
||
; ###################################################################################
|
||
If $CmdLine[1] = "/NoCRLF" Then
|
||
_FindColors(2,3)
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($NewBackground,$NewForeground))
|
||
_EchoText("No")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
Exit
|
||
EndIf
|
||
|
||
; ###################################################################################
|
||
; NICHTS VORHER PASSTE
|
||
; ###################################################################################
|
||
|
||
_FindColors(1,2)
|
||
_Console_ChangeColor($ZeigerConsole,BitOR($NewBackground,$NewForeground))
|
||
_EchoText("Yes")
|
||
_Console_ChangeColor($ZeigerConsole,$DefaultWerte)
|
||
Exit
|