Jump to content

eManF

Members
  • Posts

    4
  • Joined

  • Last visited

eManF's Achievements

Seeker

Seeker (1/7)

0

Reputation

  1. For Example: #include <String.au3> #include <Array.au3> $iXML = '<?xml version="1.0"?>' & @CRLF & _ '<User>' & @CRLF & _ ' <Theme>'&@CRLF & _ ' <X>-4716</X>'&@CRLF & _ ' <Y>-4815</Y>'&@CRLF & _ ' <Z>12</Z>'&@CRLF & _ ' </Theme>'&@CRLF & _ ' <Theme>'&@CRLF & _ ' <X>42</X>'&@CRLF & _ ' <Y>328</Y>'&@CRLF & _ ' <Z>36</Z>'&@CRLF & _ ' </Theme>'&@CRLF & _ ' <Theme>'&@CRLF & _ ' <X>63</X>'&@CRLF & _ ' <Y>256</Y>'&@CRLF & _ ' <Z>78</Z>'&@CRLF & _ ' </Theme>'&@CRLF & _ '</User>' MsgBox(0,0,$iXML) $Dis = iReadXML($iXML) _ArrayDisplay($Dis,"Array",-1,0,"","|","|X|Y|Z") $iXML = iAddTheme($iXML,"100","200",300) MsgBox(0,0,$iXML) $Dis = iReadXML($iXML) _ArrayDisplay($Dis,"Array",-1,0,"","|","|X|Y|Z") Func iReadXML($XML) Local $u,$t,$Arr[1][3],$count=0 $u = _StringBetween($XML, "<User>", "</User>") If Not @error Then For $i=0 To UBound($u)-1 $t = _StringBetween($u[$i], "<Theme>", "</Theme>") If Not @error Then For $j=0 To UBound($t)-1 ReDim $Arr[$count+1][3] $temp = _StringBetween($t[$j], "<X>", "</X>") if Not @error Then $Arr[$count][0] = $temp[0] $temp = _StringBetween($t[$j], "<Y>", "</Y>") if Not @error Then $Arr[$count][1] = $temp[0] $temp = _StringBetween($t[$j], "<Z>", "</Z>") if Not @error Then $Arr[$count][2] = $temp[0] $count +=1 Next Else SetError(1) Return 0 EndIf Next Return $Arr Else SetError(1) Return 0 EndIf EndFunc Func iAddTheme($XML,$X,$Y,$Z,$flag=1) Local $newTheme If $flag=1 Then $newTheme = " "& "<Theme>" & @CRLF & " "&" "& "<X>" & $X & "</X>" & @CRLF & " "&" "& "<Y>" & $Y & "</Y>" & @CRLF & " "&" "& "<Z>" & $Z & "</Z>" & @CRLF & " "& "</Theme>" & @CRLF Else $newTheme = "<Theme>" & "<X>" & $X & "</X>" & "<Y>" & $Y & "</Y>" & "<Z>" & $Z & "</Z>" & "</Theme>" EndIf $XML = _StringInsert($XML,$newTheme,StringLen($XML)-7) Return $XML EndFunc
  2. I wrote a simple code for this. i hope be usefull. #include <String.au3> #include <Array.au3> $iXML = '<?xml version="1.0"?>' & @CRLF & _ '<User>' & @CRLF & _ ' <Theme>'&@CRLF & _ ' <X>-4716</X>'&@CRLF & _ ' <Y>-4815</Y>'&@CRLF & _ ' <Z>12</Z>'&@CRLF & _ ' </Theme>'&@CRLF & _ ' <Theme>'&@CRLF & _ ' <X>42</X>'&@CRLF & _ ' <Y>328</Y>'&@CRLF & _ ' <Z>36</Z>'&@CRLF & _ ' </Theme>'&@CRLF & _ ' <Theme>'&@CRLF & _ ' <X>63</X>'&@CRLF & _ ' <Y>256</Y>'&@CRLF & _ ' <Z>78</Z>'&@CRLF & _ ' </Theme>'&@CRLF & _ '</User>' $Dis = iReadXML($iXML) _ArrayDisplay($Dis,"Array",-1,0,"","|","|X|Y|Z") Func iReadXML($XML) Local $u,$t,$Arr[1][3],$count=0 $u = _StringBetween($XML, "<User>", "</User>") If Not @error Then For $i=0 To UBound($u)-1 $t = _StringBetween($u[$i], "<Theme>", "</Theme>") If Not @error Then For $j=0 To UBound($t)-1 ReDim $Arr[$count+1][3] $temp = _StringBetween($t[$j], "<X>", "</X>") if Not @error Then $Arr[$count][0] = $temp[0] $temp = _StringBetween($t[$j], "<Y>", "</Y>") if Not @error Then $Arr[$count][1] = $temp[0] $temp = _StringBetween($t[$j], "<Z>", "</Z>") if Not @error Then $Arr[$count][2] = $temp[0] $count +=1 Next Else SetError(1) Return 0 EndIf Next Return $Arr Else SetError(1) Return 0 EndIf EndFunc
  3. (What is this code?) look this:
  4. SimpleCode to Change Caret of SciTE Editor.(AutoIt Editor). I wrote this code cuz SciTEConfig cant change Caret Color.(or i cant find it) I hope be useful. Help: Ctrl + Shift + R --> Run. Ctrl + Shift + Q --> Exit. ; #INDEX# ======================================================================================================================= ; Title .........: SciTE Caret Changer(Color and Width) ; Language ......: English ; Description ...: SimpleCode to Change Caret of SciTE Editor.(AutoIt Editor) ; Author(s) .....: eManF ; Dll ...........: user32.dll ; =============================================================================================================================== ;--- InClude <scintilla.h.au3> converted to au3 format by lokster --; ;(Simple); ;{ Global $user32 = DllOpen("user32.dll") Global Const $SCI_SETCARETFORE=2069 Global Const $SCI_GETCARETFORE=2138 Global Const $SCI_SETCARETWIDTH=2188 Global Const $SCI_GETCARETWIDTH=2189 ;} ;### You can change these ### ;{ Global $iColor = 0x000000 ;---> CaretColor. 0x000000 = Black. Global $iWidth = 1 ;---> CaretWidth. Can be 0-3(0 = hide). ;} $iSci = ControlGetHandle("[CLASS:SciTEWindow]","","Scintilla1") ;---> Get SciT Handle HotKeySet("^+r","iCaretSet") ;---> Set HotKey(Ctrl+Shift+r) For Run HotKeySet("^+q","iExit") ;---> Set HotKey(Ctrl+Shift+q) For Exit While 1 Sleep(50) WEnd Func iCaretSet() AdlibUnRegister("__CaretSet") AdlibRegister("__CaretSet", 1000) EndFunc Func __CaretSet() If Sci_CaretGetColor($iSci) <> $iColor Or Sci_CaretGetWidth($iSci) <> $iWidth Then Sci_CaretSetWidth($iSci, $iWidth) Sci_CaretSetColor($iSci, $iColor) EndIf EndFunc Func iExit() DllClose($user32) Exit EndFunc ;--- InClude <_SciLexer.au3> By Kip --; ;(Simple); ;{ Func Sci_CaretSetColor($Sci, $iColor) Return SendMessage($Sci, $SCI_SETCARETFORE, $iColor, 0) EndFunc Func Sci_CaretGetColor($Sci) Return SendMessage($Sci, $SCI_GETCARETFORE, 0, 0) EndFunc Func Sci_CaretSetWidth($Sci, $iWidth) Return SendMessage($Sci, $SCI_SETCARETWIDTH, $iWidth, 0) EndFunc Func Sci_CaretGetWidth($Sci) Return SendMessage($Sci, $SCI_GETCARETWIDTH, 0, 0) EndFunc Func SendMessage($hwnd, $msg, $wp, $lp) Local $ret $ret = DllCall($user32, "long", "SendMessageA", "long", $hwnd, "int", $msg, "int", $wp, "int", $lp) If @error Then SetError(1) Return 0 Else SetError(0) Return $ret[0] EndIf EndFunc ;==>SendMessage ;}SciTE Caret Changer(Color and Width).au3
×
×
  • Create New...