1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. janrenzlow

Beiträge von janrenzlow

  • Imagebutton mit Text

    • janrenzlow
    • 9. April 2008 um 15:31

    Hi,
    im englischen Forum gibt es hierzu einige individuelle Ansätze, die Du per Suche bestimmt findest. Vielleicht finde ich welche und trage sie nach ...Jan

    z.B.http://www.autoitscript.com/forum/index.php?showtopic=55334&hl=button+image+caption Die einfachste aller Lösung wäre den Text in die Grafik/Icon einzubeziehen .....

  • Skriptentwurf: Wie zwei Prozesse während der Laufzeit miteinander in Einklang bringen

    • janrenzlow
    • 9. April 2008 um 15:20

    Hi,
    während ich auf Webseiten Suchbegriffe für eMule durch Kopieren in den Zwischenspeicher auf die Warteschlange schicke, soll ein zweiter Prozess eben diese Warteschlange der Suchbegriffe nacheinander automatisch in eMule eintragen, sobald die Suche wieder freigegeben ist. Es kann aber auch sein, dass beim letztgenannten Prozess der Warteschlangenabbau sich im Leerlauf befindet, weil der Ansturm von Suchbegriffen ausgeblieben ist.

    Das sind eigentlich zwei Prozesse, die aber ineinander engverzahnt sind und deren Übergabe >>> Warteschlange ständig aktualisiert werden muss. Wären wohl zwei .exe-Dateien erforderlich . Aber wie hält man sich eine Variable, sprich Warteschlange, aktuell, auf der beide zugreifen müssen? Der Zwischenspeicher als Übergabe ist durch die Kopierer belegt. Übergabe in einer Textdatei?? -> da gibt es sicherlich Konflikte, während der eine Prozess Schreiben und der andere nur Lesen will. Einrichten einer Systemvariablen? Wie richte ich die ein, wie kann ich sie wieder löschen und können zwei Progresse gleichzeitig mit Schreiben und Lesen auf sie zugreifen? Oder gibt es eine andere Alternative, die viel eleganter und sauberer ist?. Um viele viele Vorschläge bitte ich ;) und danke Euch schon im voraus Jan

  • Binäre Datei in Hexadezimale Zahlen konvertieren

    • janrenzlow
    • 5. April 2008 um 23:04

    ***** (in Worten fünf) Sterne an Dich - das war's einfach. War total auf den Holzweg ... Danke Jan :rock:

  • Binäre Datei in Hexadezimale Zahlen konvertieren

    • janrenzlow
    • 5. April 2008 um 22:53

    [Blockierte Grafik: http://www.flickr.com/photos/8064418@N03/2389937689/]
    Screenshot auf http://www.flickr.com/photos/8064418@N03/2389937689/
    Will diese binäre Datei hexadezimal auslesen, so dass ich die markierte Zeichen kriege. Kriege es aber nicht hin, dass die Datei - wie es der HexaEditor macht - ausgelesen wird. Hab schon an den Parametern herumgespielt. Nada. Hat jmd von Euch ne Idee? Gruss Jan

    [autoit]


    $h=FileOpen('d:\a.dat', 16)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $chars = FileReadLine($h, 1)
    $aa=''
    If @error = -1 Then ExitLoop
    For $i = 1 to StringLen($chars)
    $aa= $aa & ' ' & Hex(StringMid($chars, $i, 1), 8)
    Next
    MsgBox(0, "Char read:", $aa)
    Wend

    [/autoit]

    Dateien

    a.rar 130 Byte – 269 Downloads
  • NeoTrace Express - kleines, kostenloses Tool um IP Herkunft darzustellen

    • janrenzlow
    • 5. April 2008 um 18:42

    Hat sich insofern gelöst., indem man am Ende der NeoTrace.ini im Verzeichnis DATA das Akronym E8ENME42CYT8R9QW einträgt. Leider wird das Tool von McAfee nicht mehr supported. Gruss Jan Renzlow

  • NeoTrace Express - kleines, kostenloses Tool um IP Herkunft darzustellen

    • janrenzlow
    • 5. April 2008 um 13:06

    Hi,
    NeoTraceExpress kommt auch ohne Installation aus und ist nur 525 KB gross. Ich möchte das Programm in AutoIt einbauen und das erste Fenster gar nicht erscheinen lassen, wo man nur auf cancel klicken braucht. Wie kann ich den Start dieses Fenster überhaupt verhindert. WinClose() heisst ja, dass das Fenster bereits gezeigt wurde.

    Die NeoTraceExplorer.dll mit Reshacker geöffnet verrät mir

    HKCR
    {
    NeoTraceExplorer.NeoTraceLoader.1 = s 'NeoTraceLoader Class'
    {
    CLSID = s '{3E1DD897-F300-486C-BEAF-711183773554}'
    }
    NeoTraceExplorer.NeoTraceLoader = s 'NeoTraceLoader Class'
    {
    CLSID = s '{3E1DD897-F300-486C-BEAF-711183773554}'
    CurVer = s 'NeoTraceExplorer.NeoTraceLoader.1'
    }
    NoRemove CLSID
    {
    ForceRemove {3E1DD897-F300-486C-BEAF-711183773554} = s 'NeoTraceLoader Class'
    {
    ProgID = s 'NeoTraceExplorer.NeoTraceLoader.1'
    VersionIndependentProgID = s 'NeoTraceExplorer.NeoTraceLoader'
    ForceRemove 'Programmable'
    InprocServer32 = s '%MODULE%'
    {
    val ThreadingModel = s 'Free'
    }
    'TypeLib' = s '{4A08B052-A226-4737-8979-D9BD4CD32E34}'
    }
    }
    }

    Kann ich mir die CLASSIDs irgendwie grafisch anzeigen lassen? Es gibt da auch noch die zwei 1 KB grossen HTM-Dateien wie NTXcontext.htm, die im Quelltext
    <OBJECT classid=clsid:3E1DD897-F300-486C-BEAF-711183773554 id=NTLoader VIEWASTEXT>
    </OBJECT>
    //Build the query
    switch(external.menuArguments.event.srcElement.tagName)
    {
    case "A":
    userURL = external.menuArguments.event.srcElement.href;
    break;
    case "IMG":
    if (external.menuArguments.event.srcElement.parentElement.tagName == "A")
    {
    userURL = external.menuArguments.event.srcElement.parentElement.href;
    }
    else
    {
    userURL = external.menuArguments.location.href;
    }
    break;
    default:
    userURL = external.menuArguments.location.href;
    break;
    }

    NTLoader.TraceTarget(userURL);

    stehen haben. Kann man vielleicht darüber das erste Fenster einfach aus dem Code löschen? Gruss Jan

    Dateien

    NeoTrace Express.rar 537,16 kB – 374 Downloads
  • Autoit's Funktionen

    • janrenzlow
    • 4. April 2008 um 15:08

    Ich will es kurz und verständlich machen. Ohne Funktion käme ein Codeabschnitt mehrmals im Skript vor. Als Funktion spart mehr Platz und gewinnt an Übersichtlichkeit. Man muss es ja nur an einer Stelle bearbeiten. Eine Funktion wird immer mit Klammern angegeben, die leer sein können (ohne Argumente), in denen aber auch Werte stehen können die die Funktion braucht. Einfachste Funktion ist diese hier:

    [autoit]

    msgbox(4096, '1', 'Ich stehe für etwas Codetext', 4)
    _Funktion()
    msgbox(4096, '2', 'Ich stehe für etwas Codetext dazwischen', 4)
    _Funktion()
    msgbox(4096, '3', 'Ich stehe für etwas Codetext am Ende', 4)

    [/autoit][autoit][/autoit][autoit]

    Func _Funktion()
    msgbox(4160,'Funktionsaufruf', 'Ich wurde als Funktion aufgerufen')
    EndFunc

    [/autoit]

    Zugegeben diese Funktion ist etwas außergewöhnlich, denn in der Regel empfängt eine Funktion Werte und liefert Rückgabewerte zurück. Wie hier:

    [autoit]


    $iZahl= InputBox ( 'Bitte eine Zahl eingeben (keine Null)', '')
    $RueckgabewertDerFunktion = _Rechne($iZahl)
    MsgBox(4096,'Die Funktion ...', '...gab folgende Wert zurück : ' & $RueckgabewertDerFunktion & @CRLF & @error, 5)

    [/autoit][autoit][/autoit][autoit]

    Func _Rechne($iNumber) ; <- derselbe Inhalt aber eine andere Variable
    If Number($iNumber)= 0 then
    Seterror(1)
    Return ' '
    Else
    Seterror(0)
    Return Number($iNumber) + 10
    EndIf
    EndFunc

    [/autoit]


    Alles klar? ... Dann mal los.... Gruss Jan

  • Was meldet ein XP ohne Java, wenn in DOS-Konsole die Eingabe java -version erfolgt???

    • janrenzlow
    • 3. April 2008 um 17:39

    Und wo ist die? Java Ordner umbenennen z.B. geht nicht - auch wenn man den Schreibschutz aufhebt Habs deinstalliert. Ergebnis war wie vorhergesagt. Danke Jan

  • Autoit's Funktionen

    • janrenzlow
    • 3. April 2008 um 17:36

    Hi,
    in der Regel sind Funktionen, die mit einem Unterstrich beginnen benutzerdefinierte Funktionen auch UDF (UserDefined Functions). Alle UDFs sind benutzerdefinierte Funtionen, aber nicht jede benutzerdefinierte Funktion findet sich als UDF in der Dokumentation wieder. Eine Hilfe kann es durchaus sein, im englischsprachigen Forum den Namen der Funktion in der Suche einzugeben. Aber Vorsicht jeder kann unter dem gleichen Namen etwas anderes "zusammengebraut" haben .... Sp pauschal wie die Frage gestellt, kann man leider nichts weiter beantworten ... Gruss Jan

  • Resource DLL Problem

    • janrenzlow
    • 3. April 2008 um 17:26

    Hi,
    benutze einfach im Verzeichnis AutoIt3\Examples\GUI\Advanced das Skript enumicons.au3 und öffne damit Deine DLL. Es zeigt alle gefundenen Icons mit ihren Positionen. Ist bei jeder AutoIt Installation mit dabei. Wenn Problem weiter besteht, bitte feedback über das Ergebnis .....Gruss Jan

  • Was meldet ein XP ohne Java, wenn in DOS-Konsole die Eingabe java -version erfolgt???

    • janrenzlow
    • 3. April 2008 um 17:21

    Hi,
    klingt zwar doof, hab aber kein Platz für ein 4.Image auf meiner Festplatte und bräuchte zur Kontrolle nur die Angabe, was in der MS DOS Eingabeaufforderung zurückgegeben wird, wenn man java -version eingibt und kein Java hat.

    Normalerweise müsste es ja dann zurückgegeben werden Der Befehl java -version ist entweder falsch geschrieben oder konnte nicht gefunden werden.

    Kann mir das einer bestätigen??? Danke!!! Jan ;)

  • Strecke messen mit 2 transparenten Fenstern ("Marker")mit einem X/Lassen sich nicht verschieben

    • janrenzlow
    • 2. April 2008 um 12:57

    Hi Azunai, is ja wunnerbar. Funzt!!! Nur die bmp-Angaben habe ich umändern müssen. Prima Jan Renzlow

  • Strecke messen mit 2 transparenten Fenstern ("Marker")mit einem X/Lassen sich nicht verschieben

    • janrenzlow
    • 30. März 2008 um 13:30

    Hi,

    ich habe 2 Fenster und zwei Probleme. Beide sind transparent und zeigen nur ein "X", mit dem Anfng und Ende einer Strecke makiert werden sollen.

    1.Problem: Die Fenster bzw. meine Marker lassen sich nicht verschieben. Ich möchte aber, dass man sie per gedrückter Maustaste sie überall hinverschieben kann.

    2.Problem: Ich hatte iregndwo die Lösung, aber ich schaffe es nicht , dass 2. Fenster mitanzeigen zu lassen.

    Gruss Jan


    [autoit]


    #include <GuiConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    $Red_Gui = GUICreate('', 16, 16, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_LAYERED )
    $But1 = GUICtrlCreatePic('d:\rot.gif',0, 0, 16, 16)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState()
    $Blue_Gui = GUICreate('', 16, 16, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_LAYERED )
    $But1 = GUICtrlCreatePic('d:\rot.gif',0, 0, 16, 16)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState()
    While 1

    [/autoit][autoit][/autoit][autoit]

    WEnd

    [/autoit]

    Dateien

    StreckeMessen.zip 278,85 kB – 264 Downloads
  • Traymenü mit Icons und Seitenbalken möglich -siehe Abbildung

    • janrenzlow
    • 22. März 2008 um 13:25

    Hi.
    ist ein Traymenü mit vertikalen Seitenbalken und MenüIcons eigentlich möglich - siehe Abbildung oder Menü START. Habe nichts darüber im Forum oder in der Hilfe gefunden. Grüsse Jan

  • Einfache Rechenaufgabe in AutoIt -> aus ID eine IP errechnen, Lösungsweg bekannt aber nicht AutoIt

    • janrenzlow
    • 16. März 2008 um 09:19
    [autoit]

    $ID=2020902490
    Dim $aIP[5], $IQ=256

    [/autoit][autoit][/autoit][autoit]

    $aIP[4]= Int($ID/(256^3))
    MsgBox(4096, '', Int($ID/(256^3)), 2)
    $aIP[3]= Int(($ID - ($aIP[4]*(256^3)))/(256^2))
    MsgBox(4096, '', Int(($ID - ($aIP[4]*(256^3)))/(256^2)) , 4)
    $aIP[2]= Int(($ID - ($aIP[4]*(256^3)) - ($aIP[3]*(256^2)))/256)
    $aIP[1]=$ID - ($aIP[4]*(256^3)) - ($aIP[3]*(256^2)) - ($aIP[2]*256)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(4096, '', $aIP[1] & '. ' & $aIP[2] & '. ' & $aIP[3] & '. ' & $aIP[4]); 90.134.116.120

    [/autoit]

    Jan

  • Einfache Rechenaufgabe in AutoIt -> aus ID eine IP errechnen, Lösungsweg bekannt aber nicht AutoIt

    • janrenzlow
    • 16. März 2008 um 09:08

    Hi,

    eine ID wird aus der IP nach folgender Formel berechnet:

    IP = A.B.C.D / ID = A + 256*B + 256*256*C + 256*256*256*D

    Der Weg zurück wäre:


    INTEGER ID/256^3 ist das letzte Oktett.

    INTEGER (ID-$LETZTE_OKTETT*256^3)/256^2 ist das vorletzte Oktett

    INTEGER (ID-$LETZTE_OKTETT*256^3-$VORLETZTE_OKTETT*256^2)/256 ist das zweite Oktett

    Der "schäbige Rest" ist das erste Oktett.

    Das habe ich versucht in ein Skript umzuwandeln, komme aber immer wieder zum falschen Ergebnis. Woran liegt das? Mit muligen Grüssen Jan


    [autoit]

    $ID=2020902490
    Dim $aIP[5], $IQ=256

    [/autoit][autoit][/autoit][autoit]

    $aIP[4]=Int($ID/(256^3))
    $aIP[3]=Int($ID - $aIP[4])/(256^2)
    $aIP[2]=Int($ID - $aIP[4] - $aIP[3])/256
    $aIP[1]=$ID - $aIP[4] - $aIP[3] - $aIP[2]

    [/autoit][autoit][/autoit][autoit]

    MsgBox(4096, '', $aIP[1] & '.' & $aIP[2] & '.' & $aIP[3] & '.' & $aIP[4]); 90.134.116.120

    [/autoit]
  • Beep-Befehl Melodie

    • janrenzlow
    • 13. März 2008 um 09:16

    Hi,
    im englischesprachigen Forum findest Du noch ein Beep Song von Paulie.

    Hier Song Compiler arbeitet einer an einem Song Compiler in AutoIt.

    Hier zweiter Beep-Song noch ein Beep-Song.

    Hier Mary has a little lamb.

    Hier Marios Song vom PC-Spiel

    Viel Spaß damit


    Jan Renzlow

  • Array Line -1 Fehler aber nur auf rechnern ohne Autoit

    • janrenzlow
    • 11. März 2008 um 12:32

    In anregung auf pethebee probier mal damit.gruss jan

    [autoit]

    $var = DriveGetDrive("FIXED")
    If @error Then
    MsgBox(4096, 'Fehler', 'Laufwerke konnten nicht ermittelt werden')
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    if $var[0] > 1 Then

    [/autoit][autoit][/autoit][autoit]

    IniWrite(StringTrimRight(@ScriptName, 4) & ".ini", "HDD", "Festplatte1",$var[1] )
    $LW1 = IniRead("programm.ini", "HDD", "Festplatte1", "")

    [/autoit][autoit][/autoit][autoit]

    EndIf

    [/autoit]
  • Sind in Listview auch die einzelnen Tabellenfeldern veränderbar (d.h. will Text eingeben)?

    • janrenzlow
    • 11. März 2008 um 12:18

    Ich will einfach jede Zelle wie in Excel anklicken und direkt in der Zelle den Inhalt eingeben und/oder bearbeiten können. Das obige UDF funktioniert nur bei den Zellen der ersten Spalte, Sobald Du eine Zelle einer anderen Spalte anklickst, geht die Funktion auch bei den Zellen der ersten Spalte verloren.

    Also, wenn Du die Tabelle


    A1 A2
    B1 B2


    hast, soll jede Zelle z.B. A1 zu
    bearbeiten sein, in dem man die Zelle mit Doppelklick anklickt und
    dadurch den Inhalt markiert, um ihn dann bearbeiten zu können. Eben wie
    in Excel. Gruss Jan

    Im Spoiler ist jenes UDF zu finden.

    Spoiler anzeigen


    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiStatusBar.au3>
    #include <GuiImageList.au3>

    Opt('MustDeclareVars', 1)

    $Debug_LV
    = False ; Check ClassName being passed to ListView functions, set to
    True and use a handle to another control to see it work

    Global $hListView

    Example_External()

    Func Example_External()
    Local $hImage, $GUI

    $GUI = GUICreate("(External) ListView Edit Label", 400, 300)
    $hListView = _GUICtrlListView_Create ($GUI, "", 2, 2, 394, 268, BitOR($LVS_EDITLABELS, $LVS_REPORT))
    GUISetState()

    ; Load images
    $hImage = _GUIImageList_Create ()
    _GUIImageList_Add ($hImage, _GUICtrlListView_CreateSolidBitMap ($hListView, 0xFF0000, 16, 16))
    _GUIImageList_Add ($hImage, _GUICtrlListView_CreateSolidBitMap ($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add ($hImage, _GUICtrlListView_CreateSolidBitMap ($hListView, 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList ($hListView, $hImage, 1)

    ; Add columns
    _GUICtrlListView_InsertColumn ($hListView, 0, "Column 1", 100)
    _GUICtrlListView_InsertColumn ($hListView, 1, "Column 2", 100)
    _GUICtrlListView_InsertColumn ($hListView, 2, "Column 3", 100)

    ; Add items
    _GUICtrlListView_AddItem ($hListView, "Row 1: Col 1", 0)
    _GUICtrlListView_AddSubItem ($hListView, 0, "Row 1: Col 2", 1)
    _GUICtrlListView_AddSubItem ($hListView, 0, "Row 1: Col 3", 2)
    _GUICtrlListView_AddItem ($hListView, "Row 2: Col 1", 1)
    _GUICtrlListView_AddSubItem ($hListView, 1, "Row 2: Col 2", 1)
    _GUICtrlListView_AddItem ($hListView, "Row 3: Col 1", 2)

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    ; Edit item 0 label with time out
    _GUICtrlListView_EditLabel ($hListView, 0)

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>Example_External

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $LVN_BEGINLABELEDIT ; Start of label editing for an item
    Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
    _DebugPrint("$LVN_BEGINLABELEDIT" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
    "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
    "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
    "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
    "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
    "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
    "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
    "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
    "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
    Return False ; Allow the user to edit the label
    ;Return True ; Prevent the user from editing the label
    Case $LVN_COLUMNCLICK ; A column was clicked
    Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    _DebugPrint("$LVN_COLUMNCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ; No return value
    Case $LVN_DELETEITEM ; An item is about to be deleted
    Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    _DebugPrint("$LVN_DELETEITEM" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ; No return value
    Case $LVN_ENDLABELEDIT ; The end of label editing for an item
    Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
    Local
    $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo,
    "TextMax") & "]", DllStructGetData($tInfo, "Text"))
    _DebugPrint("$LVN_ENDLABELEDIT" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
    "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
    "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
    "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
    "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
    "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
    "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
    "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
    "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
    "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
    "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
    ; If Text is not empty, return True to set the item's label to the edited text, return false to reject it
    ; If Text is empty the return value is ignored
    If StringLen(DllStructGetData($tBuffer, "Text")) Then Return True
    Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_CLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ; No return value
    Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ; No return value
    Case $NM_KILLFOCUS ; The control has lost the input focus
    _DebugPrint("$NM_KILLFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode)
    ; No return value
    Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_RCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ;Return 1 ; not to allow the default processing
    Return 0 ; allow the default processing
    Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_RDBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ; No return value
    Case $NM_RETURN ; The control has the input focus and that the user has pressed the ENTER key
    _DebugPrint("$NM_RETURN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode)
    ; No return value
    Case $NM_SETFOCUS ; The control has received the input focus
    _DebugPrint("$NM_SETFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode)
    ; No return value
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
    "!===========================================================" & @LF & _
    "+======================================================" & @LF & _
    "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
    "+======================================================" & @LF)
    EndFunc ;==>_DebugPrint

  • Sind in Listview auch die einzelnen Tabellenfeldern veränderbar (d.h. will Text eingeben)?

    • janrenzlow
    • 11. März 2008 um 00:01

    Ich möchte ein Skript schreiben um Dateinamen umzubenennen. In der GUI soll ein zweispaltiges Listview angezeigt werden, in dem man jeweils ein Zeichen, das durch ein anderes ersetzt werden soll, direkt eingeben/eintippen kann. Z.B. Ersetze "_" durch " ". Im Grunde suche ich eine bearbeitbare zweispaltige Liste oder Tabelle.

    In den Beispielen der Hilfedatei war dies nicht möglich. Wenn ja gibt es irgendwo Beispiele für die Syntax? Auch in den GUI_CONTROL_STYLE_APPENDIX hab nichts diesbezüglich gefunden. Gruss Jan

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™