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. Schnitzel

Beiträge von Schnitzel

  • Kontextmenü öffnen

    • Schnitzel
    • 5. Oktober 2010 um 12:30

    natürlich geht das (wenn mans richtig macht^^)


    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example1()

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

    ; *******************
    ; * Erstes Beispiel *
    ; *******************
    Func Example1()
    Local $contextmenu, $button, $buttoncontext, $buttonitem, $msg
    Local $newsubmenu, $textitem, $fileitem, $saveitem, $infoitem

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

    ; Rechtsklick im Anwendungsbereich, um Kontextmenü anzuzeigen.
    ; Rechtsklick auf den "OK" Button, um ein Control-spezifisches Kontextmenü anzuzeigen.

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

    GUICreate("Mein GUI Kontextmenü", 300, 200)

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

    $contextmenu = GUICtrlCreateContextMenu()

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

    $button = GUICtrlCreateButton("OK", 100, 100, 70, 20)
    $buttoncontext = GUICtrlCreateContextMenu($button)
    $buttonitem = GUICtrlCreateMenuItem("Über Button", $buttoncontext)

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

    $newsubmenu = GUICtrlCreateMenu("Neu", $contextmenu)
    $textitem = GUICtrlCreateMenuItem("Text", $newsubmenu)

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

    $fileitem = GUICtrlCreateMenuItem("Öffnen", $contextmenu)
    $saveitem = GUICtrlCreateMenuItem("Speichern", $contextmenu)
    GUICtrlCreateMenuItem("", $contextmenu) ; Trennstrich

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

    $infoitem = GUICtrlCreateMenuItem("Info", $contextmenu)

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

    GUISetState()

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    While 1
    $msg = GUIGetMsg()
    Switch $msg

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

    Case $textitem
    MsgBox(4096, "Test", "Text ausgewählt")
    Case $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch

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

    WEnd

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

    GUIDelete()
    EndFunc ;==>Example1

    [/autoit]
  • Kontextmenü öffnen

    • Schnitzel
    • 5. Oktober 2010 um 11:47

    Statt der rechten Maustaste ESC drücken? Was bringt denn das?^^
    das wäre ja dann so:

    Spoiler anzeigen
    [autoit]

    HotKeySet("{ESC}", "Context")
    While Sleep(100)
    WEnd
    Func Context()
    MouseClick("secondary")
    EndFunc

    [/autoit]

    Aber ich denke mal das ist nicht das was du suchst

    Zum selbsterstellen schau dir mal das an:

    [autoit]

    GUICtrlCreateContextMenu()

    [/autoit]
  • Kontextmenü öffnen

    • Schnitzel
    • 5. Oktober 2010 um 11:32
    Zitat von m-obi

    Geht auch ohne MGP.


    Ach stimmt ich Idiot.

    Durch die Beschreibung von Ilse war ich wohl irritiert^^
    Also Ilse: nochmal genauer: Was willst du?

  • Kontextmenü öffnen

    • Schnitzel
    • 5. Oktober 2010 um 11:25

    meinst du sowas:

    [autoit]

    MouseClick("secondary", MouseGetPos(0), MouseGetPos(1))

    [/autoit]
  • Denkfehler Array

    • Schnitzel
    • 5. Oktober 2010 um 11:20

    genauer gesagt dürfte er dir nur die letzte Datei reinschreiben.
    FileOpen($Log, 10)
    Damit öffnest du die Datei und löscht das vorherige.

  • Witziges Flash Game

    • Schnitzel
    • 4. Oktober 2010 um 20:43

    Nicht witzig und außerdem uralt^^

  • 2D-Array - Array in Array?

    • Schnitzel
    • 4. Oktober 2010 um 11:00

    Ich hab jetzt mal eine kleine Funktion gebastelt mit der man eine Liste von Dateien in ein 2D Array einlesen kann.
    Damit hast du es bisschen leichter ;)

    Spoiler anzeigen
    [autoit]


    #include-once
    #include <File.au3>
    #include <Array.au3>

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

    ;~ #### Testdateien erstellen
    Dim $aFiles[5] = [@TempDir & "\test1.txt", _
    @TempDir & "\test2.txt", _
    @TempDir & "\test3.txt", _
    @TempDir & "\test4.txt", _
    @TempDir & "\test5.txt"]
    For $i = 0 To 4
    For $k = 1 To Random(1, 100, 1)
    FileWrite($aFiles[$i], Chr(Random(33, 127, 1)) & @CRLF)
    Next
    Next
    ;~ #### Ende Testdateien erstellen

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

    $aFilesRead = _FileListReadToArray($aFiles)
    _ArrayDisplay($aFilesRead)

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

    ;===============================================================================
    ; Function Name: _FileListRead2dArray($aFilelist)
    ; Description:: liest eine Liste von Dateien in ein 2D Array ein.
    ; Parameter(s): $aFilelist = Liste von Dateien
    ; Return Value(s): Array mit den eingelesenen Dateien
    ; $ret[x][0] = Anzahl der Zeilen in der Datei x
    ; $ret[x][y] = Zeile y in der Datei x
    ; Author(s): Schnitzel (http://www.autoit.de)
    ;===============================================================================

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

    Func _FileListReadToArray($aFilelist)
    If Not IsArray($aFilelist) Or Not UBound($aFilelist, 0) = 1 Or UBound($aFilelist) <= 1 Then Return SetError(1, 0, "")
    Local $iEnd = Ubound($aFilelist) - 1
    Dim $aRet[1][$iEnd], $aTmp
    For $i = 0 To $iEnd
    If FileExists($aFilelist[$i]) Then
    _FileReadToArray($aFilelist[$i], $aTmp)
    If UBound($aTmp) > UBound($aRet) Then ReDim $aRet[UBound($aTmp)][$iEnd+1]
    For $i2 = 0 To $aTmp[0]
    $aRet[$i2][$i] = $aTmp[$i2]
    Next
    EndIf
    Next
    Return $aRet
    EndFunc

    [/autoit]
  • Spin.de Client

    • Schnitzel
    • 4. Oktober 2010 um 09:17

    Und was genau willst du jetzt?

  • Maximiertes Fenster erkenne + Portfrage

    • Schnitzel
    • 4. Oktober 2010 um 07:33

    Sen:
    Du meinst wohl:

    [autoit]

    WinGetTitle("[active]")

    [/autoit]
  • [Auswertung läuft...] µitLight September/Oktober

    • Schnitzel
    • 2. Oktober 2010 um 04:42

    kein problem
    bei einsendebeginn schick ich ne pm an alle die sich angemeldet haben

    wer will kann mir auch schon sein ergebnis per pn schick.
    Die auswertung beginnen wir sowieso erst bei abgabetermin
    d.h. zuvor wird sich niemand das script ansehen. weder matthias noch ich

  • Progresscolor ändern NICHT möglich unter Windows 7 x32...???

    • Schnitzel
    • 1. Oktober 2010 um 15:16

    Aus der Hilfe:

    Zitat

    Folgende Items können momentan gefärbt werden: Button, Label, Checkbox, Group, Radio, Edit, Input, List, Listview, ListviewItem, Treeview, TreeviewItem, Graphic, Progress und Combo

    Checkbox, Radio, Group oder Progress-Controls können nicht gefärbt werden, wenn der "Windows XP style" verwendet wird.

    Also mit den Standard-Controls erstmal garnich.
    Es gibt aber iwo ne Progress UDF von progandy wenn ich mich nicht irre.
    Ich glaube die könnte das

  • Alle GUI-Controls und -Elemente eine gewisse Anzahl von Pixeln verschieben

    • Schnitzel
    • 1. Oktober 2010 um 13:06

    Wenn du nicht mit Koda arbeitest bleibt dir fast nichts übrig als so wie es AndyTR sagt.

    Genau wegen solchen sachen mache ich immer zuerst meinen Programmcode und dann erst die GUI.
    Dann weiß man nämlich schon genau was man für Controls braucht.

  • Text mit Taste kopieren

    • Schnitzel
    • 1. Oktober 2010 um 11:40

    Wie wärs so:

    Spoiler anzeigen
    [autoit]

    HotKeySet("1", "ini1")
    HotKeySet("2", "ini2")
    HotKeySet("{ESC}", "quit")

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

    Global $openini = @ScriptDir & "\test.ini"
    Global $i = 0, $k = 0

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

    While 1
    Sleep(1000)
    WEnd

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

    Func quit()
    Exit
    EndFunc

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

    Func ini1()
    Send("^c")
    $text = ClipGet()
    $i += 1
    IniWrite($openini,"Rasse",$i,$text)
    EndFunc

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

    Func ini2()
    Send("^c")
    $text = ClipGet()
    $k += 1
    IniWrite($openini,"Alter",$k,$text)
    EndFunc

    [/autoit]

    Edit: kleinen fehler ausgebessert

  • Text mit Taste kopieren

    • Schnitzel
    • 1. Oktober 2010 um 11:13

    Also jetz nochmal um das Script dann möglichst gut zu gestalten.
    Von was willst du den Text kopieren?
    Ist das in einem Programm? In Office? Im Browser?

    Edit1:

    Zitat

    Benutz doch bitte Syntax Highlighting dann sieht das Ganze schon anders aus.


    Und du benutz Spoiler :P

  • 2D-Array - Array in Array?

    • Schnitzel
    • 1. Oktober 2010 um 11:09

    naja Array's sind 0-basiert.
    Das heißt das erste Item ist nicht die 1 sondern die 0

    Lies dir mal das Tutorial von BugFix durch ;)

    Achja vorstellen kannst du dir ein 2D array wie eine Excel Tabelle
    $array[x][y]
    Bei diesem array wäre x wie Eine Excel Zeile
    und y wie eine spalte.

    Um jetz genau zu wissen was in einem "Kästchen" steht brauchst du immer Zeile und Spalte.

  • [ ] fixed | [x] dirty fixed | -Druckaufträge umleiten?-

    • Schnitzel
    • 1. Oktober 2010 um 10:47

    Standarddrucker umstellen war auch mein erster Gedanke, bis dann der Satz kam ^^

  • 2D-Array - Array in Array?

    • Schnitzel
    • 1. Oktober 2010 um 10:45

    Ok. Also diese 3 Zeilen:

    [autoit]

    $kleinste = $File1[0]
    If $File2[0] < $kleinste Then $kleinste = $File2[0]
    If $File3[0] < $kleinste Then $kleinste = $File3[0]

    [/autoit]


    Sind eigentlich nur um Fehlern aus dem Weg zu gehen.
    Kurz gesagt schaue ich welche datei am wenigsten Zeilen hat. und nehme das dann als Grenze für unser 2D-Array.

    Wenn deine txt-Files alle gleichviele Zeilen haben dann geht das genauso:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

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

    Dim $File1, $File2, $File3
    _FileReadToArray(@ScriptDir & "\eins.ini", $File1)
    _FileReadToArray(@ScriptDir & "\zwei.ini", $File2)
    _FileReadToArray(@ScriptDir & "\drei.ini", $File3)

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

    Dim $Files2d[$File1[0]][3]

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

    For $i = 1 To $File1[0]
    $Files2d[$i-1][0] = $File1[$i]
    $Files2d[$i-1][1] = $File2[$i]
    $Files2d[$i-1][2] = $File3[$i]
    Next

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

    _ArrayDisplay($Files2d)

    [/autoit]

    Aber ich denke ich mach ne vernünftige Funktion daraus, dann wirds einfacher ;)

  • [ ] fixed | [x] dirty fixed | -Druckaufträge umleiten?-

    • Schnitzel
    • 1. Oktober 2010 um 10:38
    Zitat

    Wenn jetzt Jemand sagt: "Stell doch einfach den Standarddrucker um", dann müsste alle paar Minuten jemand ins separate Büro rennen um zu schauen ob neue Faxe eingingen was auch nicht geht. Das Büro ist nicht umsonst verschlossen wenn dort niemand etwas zu suchen hat (schon garnicht wegen einem blöden Fax).

  • 2D-Array - Array in Array?

    • Schnitzel
    • 1. Oktober 2010 um 10:32
    Zitat von Scritch

    Das war das was mir klar war :D Bis Zeile 7 alles klar, danach nicht mehr so ;)

    Kennst du dich grundsätzlich mit Arrays aus?

  • Text mit Taste kopieren

    • Schnitzel
    • 1. Oktober 2010 um 10:31

    Wenn du schon einen neuen Thread aufmachst dann schließ doch setz doch bitte den alten auf gelöst.
    Da hast du ja die gleiche Frage gestellt: [ offen ] Mausklick links, dann...

    Wie ich im anderen Thread schon bemerkt hab ist das ganze eine sehr unsaubere Lösung und du musst einige sachen umgehen.
    Als erstes würde ich dir schonmal von den Maustasten abraten.
    Die werden ständig benutzt und da immer was in ne ini zu schreiben ist doch übertrieben.
    Außerdem hast du bei den Maustasten einfach bestimmte Events die stören:
    wenn du die linke maustaste drückst ist kein text mehr markiert und du kannst folglich mit Strg C auch nichts kopieren
    wenn du die rechte maustaste drückst kommt das Menü.

    Deshalb nochmal:
    Überleg dir was besseres. Mit den Maustasten hast du echt keinen Spaß

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™