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

Beiträge von BugFix

  • Ausgabe von Konsole lesen

    • BugFix
    • 8. September 2009 um 17:49

    Schau dir mal StdoutRead() an.

  • Frage zu Dll und GUICtrlCreatePIc.

    • BugFix
    • 7. September 2009 um 20:15
    Zitat von Raupi

    Wo finde ich die Funktionen GetModuleHandle und LoadImage?


    Ja, sind auch in der WinApi.au3

  • Deutsche Hilfe - was gibts zu optimieren?

    • BugFix
    • 7. September 2009 um 19:54

    Vielleicht ein Kompromiß-Vorschlag:
    Die Namen der Controls werden überhaupt nicht übersetzt! Es wird ein Glossar angefügt, indem dann eine deutsche Be- und/oder Umschreibung zu dem Begriff steht.
    Mir persönlich rollen sich die Fußnägel auf, wenn ich z.B. das Wort Listenansicht lese (Grrrr).
    Ich kenne keine in deutsch erstellten Programmiersprachen. Weshalb soll man also mühselig deutsche Entsprechungen für Begriffe suchen, deren Bedeutung absolut unstrittig ist. Das ergibt für mich keinen Sinn und erinnert mich an ähnliche Vergewaltigungen der Sprache um Gleichberechtigung der Geschlechter durchzusetzen. (Da hatten wir mal eine Gleichstellungsbeauftragte in der Landesregierung, die dann für Bürgermeister das geschlechtsneutrale Wortungetüm die Person, die das Amt des Bürgermeisters innehat erschuf.) :D

  • ListView, Items nicht verschieben

    • BugFix
    • 7. September 2009 um 09:42

    Die Spaltenbreite fixieren, ob das per Style geht, weiß ich grad nicht. Aber so geht es auf jeden Fall:

    Spoiler anzeigen
    [autoit]

    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include <GUIListView.au3>

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

    $gui = GUICreate('test')
    $hListView = GUICtrlCreateListView('Spalte1|Spalte2', 10, 10, 300, 200)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 146)
    _GUICtrlListView_SetColumnWidth($hListView, 1, $LVSCW_AUTOSIZE_USEHEADER)
    For $i = 1 To 10
    GUICtrlCreateListViewItem('Zeile ' & $i & ' Spalte 1|Zeile ' & $i & ' Spalte 2', $hListView)
    Next

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

    ; hier für Vergleich die Spaltenbreite speichern:
    Global $aColumnWidth[_GUICtrlListView_GetColumnCount($hListView)]
    For $i = 0 To UBound($aColumnWidth) -1
    $aColumnWidth[$i] = _GUICtrlListView_GetColumnWidth($hListView, $i)
    Next

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

    GUISetState()

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

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

    Func _Columnwidth()
    For $i = 0 To UBound($aColumnWidth) -1
    If _GUICtrlListView_GetColumnWidth($hListView, $i) <> $aColumnWidth[$i] Then
    _GUICtrlListView_SetColumnWidth($hListView, $i, $aColumnWidth[$i])
    EndIf
    Next
    EndFunc

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

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

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case -12 ; Spaltenbreite wurde verändert
    _Columnwidth()
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • Ini in 3D Array einlesen?

    • BugFix
    • 6. September 2009 um 17:02

    Guckst du:

    [autoit]

    Local $INI = @ScriptDir & '\Deine.INI'
    Local $section = 'section_name'
    Local $aSection = IniReadSection($INI, $section)
    Local $aIni[$aSection[0][0]][3]
    For $i = 1 To UBound($aSection) -1
    $aIni[$i-1][0] = $section
    $aIni[$i-1][1] = $aSection[$i][0]
    $aIni[$i-1][2] = $aSection[$i][1]
    Next
    _ArrayDisplay($aIni)

    [/autoit]
  • Ini in 3D Array einlesen?

    • BugFix
    • 6. September 2009 um 16:23

    Ich verstehe nicht den Sinn. Was soll denn da in der dritten Dimension gespeichert werden?
    Meinst du tatsächlich 3D oder eher 2D mit einem zusätzlichen Element in der zweiten Dimension, also einer weiteren Spalte?

  • BIOS mag keine Bootmediumsauswahl mehr anbieten!?

    • BugFix
    • 6. September 2009 um 16:18

    Da du nicht ins BIOS kommst, versuch mal ob evtl. in der Bootreihenfolge USB vor der HD liegt. Also 'nen Stick bootfähig machen. Linux drauf und testen. Da hast du dann villeicht die Chance über Tools Infos aus dem BIOS zu lesen und evtl. auch Werte zu setzen.
    Ansonsten mal noch etwas, was ich von Dell kenne:
    - Num on
    - Capslock on
    Und dann: Alt+E+F+B
    Steht für Emergency Flash Back und setzt das BIOS zurück auf Werkseinstellung.
    Inwiefern das bei anderen Fabrikaten funktioniert ist wohl fraglich, aber einen Versuch ist es Wert.
    Viel Glück.

  • Mathematisches Problem IParam-Speicherung

    • BugFix
    • 6. September 2009 um 10:51

    Ja Danke. Mit 'int_ptr' funktioniert es nun. :)
    Nun muß ich nur noch testen ob (bzw. wie sehr) mich das zusätzliche Auslesen aus der Struktur bremst.
    So habe ich es jetzt gelöst:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <GuiListView.au3>
    Global $aItemParam[1]
    Local $col = ''
    For $i = 1 To 120
    $col &= $i & '|'
    Next

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

    $gui = GUICreate('')
    $lv = GUICtrlCreateListView(StringTrimRight($col,1), 10, 10, 200, 150)
    $hLV = GUICtrlGetHandle($lv)

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

    _createNewItem($hLV, 'Test', $aItemParam)

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

    _markSubItem($aItemParam, $hLV, 0, 1)
    _markSubItem($aItemParam, $hLV, 0, 119)

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

    For $i = 0 To _GUICtrlListView_GetColumnCount($hLV)-1
    ConsoleWrite($i & ' - ' & _getMarked($hLV, 0, $i) & @CRLF)
    Next

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

    Func _createNewItem($hWnd, $sText, ByRef $aIParam, $iItem=-1) ; if $iItem=-1 append
    If $iItem < -1 Then $iItem = 0
    If $iItem > UBound($aIParam)-1 Then $iItem = -1
    Local $cntCOL = _GUICtrlListView_GetColumnCount($hWnd)
    Local $tagITEMPARAM = "int_ptr;char[" & $cntCOL & "]"
    Local $tITEMPARAM = DllStructCreate($tagITEMPARAM)
    DllStructSetData($tITEMPARAM, 1, DllStructGetPtr($tITEMPARAM, 2))
    For $i = 1 To $cntCOL
    DllStructSetData($tITEMPARAM, 2, '0', $i)
    Next
    If $iItem = -1 Then
    _GUICtrlListView_AddItem($hWnd, $sText)
    If $aIParam[UBound($aIParam)-1] Then ReDim $aIParam[UBound($aIParam)+1]
    $aIParam[UBound($aIParam)-1] = $tITEMPARAM
    _GUICtrlListView_SetItemParam($hWnd, 0, DllStructGetData($tITEMPARAM, 1))
    Else
    _GUICtrlListView_InsertItem($hWnd, $sText, $iItem)
    _ArrayInsert($aIParam, $iItem, $tITEMPARAM)
    _GUICtrlListView_SetItemParam($hWnd, $iItem, DllStructGetData($tITEMPARAM, 1))
    EndIf
    EndFunc

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

    Func _markSubItem(ByRef $aIParam, $hWnd, $iItem, $iSubItem, $mark='1')
    If $mark <> '1' Then $mark = '0'
    If $iItem < 0 Or $iItem > _GUICtrlListView_GetItemCount($hWnd)-1 Then Return SetError(1,0,0)
    If $iSubItem < 0 Or $iSubItem > _GUICtrlListView_GetColumnCount($hWnd)-1 Then Return SetError(2,0,0)
    DllStructSetData($aIParam[$iItem], 2, $mark, $iSubItem+1)
    EndFunc

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

    Func _getMarked($hWnd, $iItem, $iSubItem)
    Local $ptr = _GUICtrlListView_GetItemParam($hWnd, $iItem)
    Local $struct = DllStructCreate("char[" & _GUICtrlListView_GetColumnCount($hWnd) & "]", $ptr)
    Return DllStructGetData($struct, 1, $iSubItem+1)
    EndFunc

    [/autoit]
  • etwas auf einer liste ausgeben

    • BugFix
    • 5. September 2009 um 22:22

    Bitte, bitte sag, dass das keine Brute-Force-Attacke wird. :cursing:

  • Deutsche Hilfe - was gibts zu optimieren?

    • BugFix
    • 5. September 2009 um 15:13

    Ich denke auch, dass man Begriffe, deren Bedeutung perse klar ist, nicht in die deutsche Sprache zwängen sollte.
    Computer auf deutsch: Rechenknecht :rofl:

  • DllCall und Array als Parameter

    • BugFix
    • 5. September 2009 um 11:17

    bernd670 : Danke für das Bsp.. Ich werde das gleich mal noch verallgemeinern und dem Dll-Tut hinzufügen.

  • DllCall und Array als Parameter

    • BugFix
    • 4. September 2009 um 22:06

    Schau mal hier.

  • UDF-Sammlung: Objekt Dictionary

    • BugFix
    • 4. September 2009 um 21:37
    Zitat von Raupi

    as Script kann die Datei au3.keywords.abbreviations.properties nicht finden.
    Ist die bei der Autoit v 3.3.0.0 nicht mehr enthalten ?


    Es wurden zwar einige Pfade in SciTE mal geändert, aber die Datei existiert noch:
    C:\Programme\AutoIt3\SciTE\Properties\au3.keywords.abbreviations.properties
    Falls sie nicht da ist - probier doch mal sie einfach zu erstellen.

  • Combobox-Inhalt auswählen

    • BugFix
    • 3. September 2009 um 22:29

    Wenn du alle Varianten von ControlCommand ausgetestet hast, dann mußt du wohl oder übel davon ausgehen, dass dieses Control sich nicht mit AutoIt steuern läßt. Kommt vor.

  • Wie bekomme ich mehrer Hexwerte in eine Ini, ohne für jeden einen Schlüssel erstelln zu müssen.

    • BugFix
    • 3. September 2009 um 22:26

    Ihm geht es um die Schlüsselnamen. - Richtig?
    Du kannst doch für alle Werte denselben Schlüsselnamen verwenden. Mach ich auch oft. Einlesen und Schreiben mit INIRead(Write)Section.
    Da spielt es keine Rolle, dass alle Schlüssel-Wert-Paare denselben Schlüssel verwenden.

  • Au3/Schwert Shell

    • BugFix
    • 3. September 2009 um 21:54

    Nicht so kompliziert. ;)

    [autoit]

    Run(@AutoItExe [/ErrorStdOut] '/AutoIt3ExecuteLine' "command line")

    [/autoit]
  • On Error Goto....gibt es so etwas auch in AutoIt?

    • BugFix
    • 3. September 2009 um 21:01
    Zitat von Andy

    Aber wenn in einem kompilierten Script z.B. ein unvorhergesehener Fehler auftritt


    Versteh mich nicht falsch, aber unvorhergesehene Fehler gibt es nicht wirklich. Ich habe die Erfahrung gemacht, dass in der Regel ich der Trottel war, der vergessen hat ein mögliches Fehlerszenario zu berücksichtigen. :D
    Es ist leider so, das ein Skript zu 1/3 aus Programm und zu 2/3 aus Errorhandling besteht, wenn du alle Usergemeinheiten abfangen willst. ;)

  • Drucker mit Strg+p aufrufen

    • BugFix
    • 2. September 2009 um 21:27

    Also es würde erstmal helfen, wenn du dein Problem in verständlichem deutsch darstellst.
    Ansonsten schau mal in der Hilfe unter UDF: "Word Management"

  • Mathematisches Problem IParam-Speicherung

    • BugFix
    • 2. September 2009 um 20:22
    Zitat von Greenhorn

    Das ist auch die normale Vorgehensweise ... ;)


    ...die nicht angewendet werden kann, da IParam ausschließlich ein Integerwert sein muß. Und ein Pointer ist nun mal ein Pointer und kein Integerwert. Das war übrigens mein erster Gedanke und aufgrund der Bedingungen auch entsprechend der Mißerfolg. :(

  • Probleme mit InputBox-Rückgabewerten

    • BugFix
    • 1. September 2009 um 22:52
    Zitat von heenzketchup

    also da würde 1 bzw 2 als Zahl reichen, hab ich das richtig verstanden?


    Das kannst du bei zwei Werten tun, denn wenn der eine nicht zutrift kann es nur der andere sein.

    [autoit]

    If MsgBox(1, '','...') = 1 Then
    ;....Code
    Else ; kann dann nur 2 sein
    ;....Code
    EndIf

    [/autoit]

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™