Hast du dir schon mal ScriptOMatic angeschaut? ![]()
Beiträge von BugFix
-
-
[autoit]
_GUICtrlListView_SetItemChecked($hWnd, $iIndex[, $fCheck = True])
[/autoit]ist das Passende.
-
Meinst du so?
[autoit]$Text = 'Hi blub'
[/autoit]
For $i = 1 To StringLen($Text)
ConsoleWrite(StringLeft($Text, $i) & @CRLF)
Next -
Die Zeile muß so aussehen:
[autoit]$str2 &= StringUpper(ASC(HEX($chstring[$ii], 2))) & ' '
[/autoit] -
Und wozu soll das gut sein - ohne Parameter? Dann kannst du nicht den StdoutStream aktivieren.
Und das ist nun mal Bedingung, damit du auslesen kannst. Wieso hast du damit ein Problem? -
Ich verstehe deine Frage nicht.
Du willst wissen, wie man die Console ausliest - es wird dir gezeigt.
Das scheint dir nicht zu gefallen/zu mühselig zu sein und du fragst ob es "einfach" geht.
Was willst du also? -
Warum?
Das ist ein Standard-Style, du hast ihn bei ExStyle verwendet. -
Das soll nicht mit der Funktion _INetGetSource erfolgen, da es mir in diesem bestimmten Fall nicht hilft.
Warum hilft das nicht? Ohne Infos, wo und in welcher Form der Text steht, noch besser Webseite angeben, werden wir dir kaum helfen können. -
Aber wie gesagt, einfach StringSplit mit Leerstring.

Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Enigma = GUICreate("Enigma", 442, 413, 344, 193)
$head = GUICtrlCreateLabel("Enigma", 161, 16, 119, 41)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$title_eingabe = GUICtrlCreateLabel("Text:", 32, 70)
$eingabe = GUICtrlCreateInput("", 32, 88, 385, 89)
GUICtrlSetData(-1, "")
$title_ausgabe = GUICtrlCreateLabel("Hex:", 32, 206)
$ausgabe = GUICtrlCreateEdit("", 32, 224, 385, 89)
GUICtrlSetData(-1, "")
$code = GUICtrlCreateButton("codieren", 36, 336, 121, 25, $WS_GROUP)
$copyright = GUICtrlCreateLabel("Scripted by UWC | Schrubber @ 2009", 8, 392, 184, 17)
$zwischenablage = GUICtrlCreateButton("Zwischenablage", 165, 336, 121, 25, $WS_GROUP)
$quit = GUICtrlCreateButton("Quit", 295, 336, 121, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $code
GUICtrlSetData($ausgabe, '')
Dim $arstring = StringSplit(GUICtrlRead($eingabe), ''), $str = ''
For $i = 1 To UBound($arstring) -1
$str &= StringUpper(Hex(Asc($arstring[$i]), 2)) & ' '
Next
GUICtrlSetData($ausgabe, $str)
Case $quit
Exit
EndSwitch
WEnd -
Dann wird SRE wohl bei schnellerer CPU besser. Auf meiner betagten Mühle gewinnen (fast) immer die Standardstring-Func's.
-
SRE ist immer langsamer, das ist m.E. die schnellste Stringvariante:
Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]$string = '"Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d "Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
[/autoit] [autoit][/autoit] [autoit]
'"A:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d"Y:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"B:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"F\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"C:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"D:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "T:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"E:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"'$a1 = StringSplit($string, @CR, 2)
[/autoit] [autoit][/autoit] [autoit]
Local $aPath[UBound($a1)]For $i = 0 To UBound($a1) -1
[/autoit] [autoit][/autoit] [autoit]
$aTmp = StringSplit($a1[$i], '.', 2)
$aPath[$i] = StringStripWS(StringReplace($aTmp[0], '"', ''), 1) & ".zip"
Next_ArrayDisplay($aPath)
[/autoit] -
Na das Bsp. wär wohl etwas kompliziert.
[autoit]
Es geht ganz simpel:$aTxt = StringSplit('Text', '')
[/autoit] -
gibt es eine Möglichkeit die Scite Call Tips in die UDF zu integrieren
Genau andersrum wird ein Schuh draus. Beim Erstellen einer UDF kannst du dir dafür auch einen Calltip erstellen. Dazu in der Datei "...\Scite\api\au3.user.calltips.api" deine Funktionen mit den Parametern eintragen [ Muster: _MyUDF( para1, para2 ); #include <irgendwas.au3> ].
Sollte die Datei noch nicht existieren, kannst du sie erstellen. Verwende auf gar keinen Fall die "..\au3.calltips.api"! Dann werden deine Einträge bei jeder Aktualisierung von SciTE gelöscht. -
Ich glaube, man sollte sich wirklich mal eine Liste erstellen mit Fehlern und wie man sie beseitigt hat.
Die DNS Geschichte ist tatsächlich so 'selbstverständlich', dass ich seit Jahren konsequent bei jedem Rechner sofort freie Serveradressen eintrage. Das ist einem dann gar nicht mehr bewußt.
Hatte in Urzeiten, als AOL einer der ersten existierenden Provider war, auch solche Probleme, die mit Änderung DNS gelöst waren.
Aber man wird halt alt und vergißt schnell.. :wacko: -
poste mal dein script....
naja also ich habe hier meine cmd:
$hwnd = WinGetHandle("C:\WINDOWS\system32\cmd.exe")
Das ist kein Skript, sondern nur der CMD-Aufruf. Wir möchten gern das Skript sehen, wo du versuchst mit StdoutRead() den Consoleninhalt zu lesen. Das geht tadellos, brauchst nur das Hilfebsp. zu verwenden. -
Vielleicht erklärst du erst mal, was du tun möchtest.
Der jetzige Code ist so voller Fehler, dass man nicht erkennen kann, was du eigentlich tun möchtest.
Sieh selber:
$test = StringSplit(GUICtrlRead(-1, $Date), "/")
Die Control-ID -1 bezieht sich immer auf das zuletzt erstellte Control. Also die ID-Variable nutzenGUICtrlSetData($edit,$edit)
ID und Variable für Inhalt mit demselben Namen!Dann liest du eine INI mit FileRead ein !! Wozu gibt es INIRead?
-
Und was denkst du, soll:
_GUICtrlListView_GetItemText($hWnd, $iIndex[, $iSubItem = 0]) sein?
-
Schau mal in der Hilfe hierzu:
[autoit]_GUICtrlListView_GetItemText($hWnd, $iIndex[, $iSubItem = 0])
[/autoit] -
Damit als NEU erscheint, ausnahmsweise ein Doppelpost.
Hier die Lösung um Text- und Hintergrundfarbe für jedes Item separat zu setzen. Font ist aufwändiger, mache ich vielleicht später noch.
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <StructureConstants.au3>
#include <TreeViewConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)Global $GUI_Gui = GUICreate("TreeView - TestGUI", @DesktopWidth - 300, @DesktopHeight - 100)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent(-3, "_GUI_Event_Close")
GUISetBkColor(0xFFFFFF)Global $TV = GUICtrlCreateTreeView(10, 40, 180, @DesktopHeight - 354, _
[/autoit] [autoit][/autoit] [autoit]
BitOR(Default,$TVS_TRACKSELECT,$TVS_FULLROWSELECT), $WS_EX_CLIENTEDGE)
Global $hTV = GUICtrlGetHandle($TV)Global $aTVI[6]
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To 5
$aTVI[$i] = GUICtrlGetHandle(GUICtrlCreateTreeViewItem("Testeintrag #" & $i+1, $TV))
Next
Global $aColor[3][3] ; [$i][0]=hWnd, [$i][1]=txtCol, [$i][2]=bkCol
$aColor[0][0] = $aTVI[1]
$aColor[0][1] = 0xffffff
$aColor[0][2] = 0xffff00$aColor[1][0] = $aTVI[3]
[/autoit] [autoit][/autoit] [autoit]
$aColor[1][1] = 0x000000
$aColor[1][2] = 0x0000ff$aColor[2][0] = $aTVI[5]
[/autoit] [autoit][/autoit] [autoit]
$aColor[2][1] = 0x0000ff
$aColor[2][2] = 0xffff00Global $currWindow = WinGetHandle($GUI_Gui)
[/autoit] [autoit][/autoit] [autoit]
Global $txtColor, $bkColorGUISetState(@SW_SHOW, $GUI_Gui)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY_TREEVIEW')
_WinAPI_RedrawWindow($currWindow)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _GUI_Event_Close()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>_GUI_Event_CloseFunc WM_NOTIFY_TREEVIEW($hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iCode, $tNMHDR, $tItemSpec
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
[/autoit] [autoit][/autoit] [autoit]
If $hWndFrom <> $hTV Then Return $GUI_RUNDEFMSG$iCode = DllStructGetData($tNMHDR, "Code")
[/autoit] [autoit][/autoit] [autoit]
If $iCode = $NM_CUSTOMDRAW Then
Local $iDrawStage, $iItem, $tCustDraw = DllStructCreate($tagNMTVCUSTOMDRAW, $lParam)
$iDrawStage = DllStructGetData($tCustDraw, 'DrawStage')
If $iDrawStage = $CDDS_ITEMPREPAINT Then
$tItemSpec = DllStructCreate('dword', DllStructGetPtr($tCustDraw, 'ItemSpec'))
$iItem = DllStructGetData($tItemSpec, 1)
For $i = 0 To UBound($aColor) -1
If $iItem = $aColor[$i][0] Then
DllStructSetData($tCustDraw, 'ClrText', RGB2BGR($aColor[$i][1]))
DllStructSetData($tCustDraw, 'ClrTextBk', RGB2BGR($aColor[$i][2]))
Return $CDRF_NEWFONT
EndIf
Next
EndIf
EndIf
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY_TREEVIEWFunc RGB2BGR($iColor)
[/autoit]
Local $sH = Hex($iColor,6)
Return '0x' & StringRight($sH, 2) & StringMid($sH,3,2) & StringLeft($sH, 2)
EndFunc ;==>RGB2BGR -
Seltsam, im Beispiel von GUICtrlListView funktioniert es doch?
Richtig, im ListView. Aber ListView und TreeView unterscheiden sich gründlich auch in Bezug auf die Notifikationen.