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

Beiträge von autoBert

  • Traymenu funktion

    • autoBert
    • 1. März 2010 um 17:55

    Hallo

    versuchs doch so:

    Spoiler anzeigen
    [autoit]

    Opt("TrayMenuMode", 1) ; Standard Traymenüeinträge (Skript pausieren/beenden) werden nicht angezeigt.
    Opt("TrayIconHide", 0)

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

    $odir = "c:\DeinPfad"
    $oparameter = 1

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

    Oberflaeche()
    Func Oberflaeche()

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

    ;"buttons fürs gui"

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

    $tstart = TrayCreateItem("Start TF2")
    TrayCreateItem("")
    $tcut = TrayCreateItem("Cut")
    $tuncut = TrayCreateItem("Uncut")
    TrayCreateItem("")
    $topen = TrayCreateItem("Öffnen")
    $tclose = TrayCreateItem("Beenden")

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

    ;GUISetState(@SW_SHOW)
    TraySetState()
    While 1
    ;$msg = GUIGetMsg()
    $tmsg = TrayGetMsg()

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

    ;Select

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

    ;"Aufrufe für das gui."

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

    ;EndSelect
    Switch $tmsg
    case 0
    ContinueLoop
    Case $topen
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
    Opt("TrayIconHide", 1)
    Case $tclose
    If FileExists($odir & "\Blutpatch\ClientRegistry.blob") Then
    FileMove($odir & "\Blutpatch\ClientRegistry.blob", $odir & "\", 1)
    EndIf
    Exit

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

    Case $tcut
    MsgBox(0, "", "Cut")
    FileMove($odir & "\Blutpatch\ClientRegistry.blob", $odir & "\", 1)

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

    Case $tuncut
    MsgBox(0, "", "UnCut")
    If FileExists($odir & "\Blutpatch\ClientRegistry.blob") Then
    FileMove($odir & "\Blutpatch\ClientRegistry.blob", $odir & "\", 1)
    EndIf
    FileMove($odir & "\ClientRegistry.blob", $odir & "\Blutpatch\", 8)

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

    Case $tstart
    MsgBox(0, "", "Start")
    ShellExecute($odir & "\Steam.exe", "-applaunch 440 " & $oparameter)
    EndSwitch
    WEnd
    EndFunc ;==>Oberflaeche

    [/autoit]

    mfg (Auto)Bert

  • Mehrspaltige Listview / selected items auslesen und als string ausgeben?

    • autoBert
    • 1. März 2010 um 17:31

    Hallo Stinger2k,

    schau dir einaml die Hilfe zu _GUICtrlListView_GetItemTextString an.

    [autoit]

    $sItem = _GUICtrlListView_GetItemTextString($listview)
    ;in $sItem stehht danach der durch "|" getrennte String des ausgewählten Items

    [/autoit]

    mfg (Auto)Bert

  • Error in Expression und Frage zum HotKeySet/Problem mit Array

    • autoBert
    • 1. März 2010 um 17:23

    Hallo dsgamer,

    Zitat von dsgamer007

    wie kann ich den makierten Listvieweintrag auslesen?

    wenn du den ItemText und evtl. auch noch die SubItem-Texte möchtest geht es mit

    [autoit]

    $aItem = _GUICtrlListView_GetItemTextArray($listview)
    ;$aItem[1] enthält den Eintrag der 1. LV-Spalte (1 basierendes Array) also den Itemtex

    [/autoit]

    am schnellsten.

    mfg (Auto)Bert

  • Bulli stellt sich vor

    • autoBert
    • 1. März 2010 um 15:54

    Hallo Bulli,

    auch von mir einherzliches willkommen im Forum

    mfg (Auto)Bert

  • Dialoge in Excel per ControlClick/Send bedienen

    • autoBert
    • 1. März 2010 um 13:45

    Hallo SmillingStar,

    wieso, es gibt doch @DesktopWidth und @DesktopHeight.
    Du kannst es aber auch über WinSetState("BrowserTitel","",@sw_maximize) machen, schau dir am besten die Hilfe dazu an,

    mfg (Auto)Bert

  • warten bis einer von mehreren radiobuttons ausgewaehlt ist

    • autoBert
    • 1. März 2010 um 11:58

    Hallo sam_ghost,

    warum DISABLE'st du den Button nicht direkt nach dem erstellen und ENABLE'st in erst wenn ein Radio ausgewählt wurde? Beispiel:

    Spoiler anzeigen
    [autoit]

    ;#include <ButtonConstants.au3>
    ;#include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    ;#include <WindowsConstants.au3>

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

    Global $idRadio[9]

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

    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Ein Radio muss ausgewählt sein", 413, 350, 302, 218)
    GUICtrlCreateGroup("Datei zum kopieren auswählen:", 10, 10, 190, 200)
    for $i = 0 to 8
    $idRadio[$i] = GUICtrlCreateRadio("Radio " & $i , 120, 35+$i*30, 97, 17)
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group
    $idbtnGO = GUICtrlCreateButton("Button1", 120, 35 + 9*30, 141, 25)
    GUICtrlSetState($idbtnGO,$GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $idbtnGO
    #cs
    if BitAND(GUICtrlRead($Radio1),$GUI_CHECKED) = $GUI_CHECKED then Run("Notepad.exe", "", @SW_MAXIMIZE)
    if BitAND(GUICtrlRead($Radio2),$GUI_CHECKED) = $GUI_CHECKED then
    Run("Calc.exe", "", @SW_MAXIMIZE)
    WinWaitActive("Rechner")
    send(GUICtrlRead($Input1),1)
    send("+",1)
    send(GUICtrlRead($Input2),1)
    send("=",1)
    EndIf
    #ce
    case $idRadio[0] to $idRadio[8]
    GUICtrlSetState($idbtnGO,$GUI_ENABLE)
    EndSwitch
    WEnd

    [/autoit]

    mfg (Auto)Bert

  • screenshot bestimmtes fenster

    • autoBert
    • 28. Februar 2010 um 21:59

    Hallo super47,

    ich habe angeregt durch deinen Thread ein kleines ScreenShot-Programm geschrieben. In einer Listview werden alle sichtbaren Fenster erfasst und man kann sich eines auswählen, dass man abfotografieren möchte. [Beispiel] ScreenShot

    mfg (Auto)Bert

  • screenshot bestimmtes fenster

    • autoBert
    • 28. Februar 2010 um 19:48

    Hallo super47,

    du musst dir zuerst mit WinGetHandle das Handle des Fensters besorgen, danach mit WinWaitActive dafür sorgen, dass das Programm mit dem "fotografieren warten soll bis das Fenster aktiv ist. Hier ein allgemein gehaltenes Beispiel:

    [autoit]

    #Include <ScreenCapture.au3>

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

    run("Calc.exe")
    WinWaitActive("Rechner")

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

    $hwnd = WinGetHandle("Rechner","")
    _ScreenCapture_CaptureWnd (@ScriptDir & "\test.jpg",$hwnd)

    [/autoit]

    mfg (Auto)Bert

  • ini

    • autoBert
    • 28. Februar 2010 um 19:20

    Hallo

    hier ein allgemeines Beispiel zu IniWriteSection mit einem Array:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>

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

    Local $sIni = @ScriptDir & "\test.ini"
    Local $aData1[99][2]

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

    For $i = 1 To UBound($aData1) - 1
    $aData1[$i][0] = "Profil" & $i
    $aData1[$i][1] = random(1,9,1)
    Next

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

    IniWriteSection($sIni, "Sektion1", $aData1) ; Schreibt in eine neue Sektion

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

    _ArrayDisplay($aData1,"Original")
    $aData1 = IniReadSection($sIni,"Sektion1")
    _ArrayDisplay($aData1,"aus Ini")

    [/autoit]

    mfg (Auto)Bert

  • Festplatte defekt oder InetGet Funktion verbuggt

    • autoBert
    • 28. Februar 2010 um 14:31

    Hallo viedeotuner,

    du solltest dein Skript folgendermassen abändern:

    Spoiler anzeigen
    [autoit]

    UpDater()

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

    Func UpDater()
    $servername = "www.int-tut.bplaced.net"
    $projektname = "filemanager/InteraktivesTutorial/updates"
    $exedatei = "InterTutorials_Gui.exe"
    ;$temp = @DocumentsCommonDir & "\temp"
    $temp = @ScriptDir & "\temp"
    $update = MsgBox(52, "Updateassistent", "Das Programm wird sich mit dem Internet verbinden, um nach Updates zu suchen. Jetzt verbinden?")
    Select
    Case $update = 6
    If Not FileExists($temp) Then DirCreate($temp)
    ProgressOn("Updater", "Überprüfe, ob Server erreichbar ist...")
    Sleep(2000)
    If Ping($servername, 2500) Then ;250 ist zu niedrig
    ProgressSet(20, "Updater", "Verbunden!")
    Sleep(2000)
    Else
    ProgressOff()
    MsgBox(16, "FEHLER", "Das Update Modul hat einen Fehler abgefangen, Grund: der Server ist leider nicht erreichbar oder deine Internetverbindung ist nicht aktiviert.")
    Return
    EndIf
    ;Hier unten ist das Problem. Im öffentlichen Dokumenten Ordner und dem Unterordner Temp wird die Datei überhaupt nicht angezeigt
    ProgressSet(40, "Updater", "Lade Update Info Datei herunter...")
    ;*******************************************************************************************************
    HttpSetUserAgent('Firefox') ;wichtig da bplaced sonst abblockt
    ;*******************************************************************************************************
    ;ConsoleWrite("http://" & $servername & "/" & $projektname & "/version.txt" & @CRLF)
    InetGet("http://" & $servername & "/" & $projektname & "/version.txt", $temp & "\version.txt",1)
    $downloaded = FileReadLine($temp & "\version.txt")
    ConsoleWrite($downloaded & @CRLF)
    $localversion = FileReadLine(@DocumentsCommonDir & "\version.txt")
    ProgressSet(60, "Updater", "Vergleiche Server Version mit local Version...")
    Sleep(2000)
    If $downloaded = $localversion Then
    ProgressOff()
    MsgBox(16, "Updater", "Keine neue Version vom Interaktivem Tutorial verfügbar")
    FileDelete($temp & "\version.txt")
    Return
    EndIf
    If $downloaded > $localversion Then
    ProgressSet(80, "Updater", "Lade neue Version herunter...")
    Sleep(2000)
    InetGet("http://" & $servername & "/" & $projektname & "/" & $exedatei, @DesktopDir & $exedatei)
    ProgressSet(90, "Updater", "Schließe Installation ab...")
    Sleep(2000)
    FileClose(@DocumentsCommonDir & "\version.txt")
    FileClose($temp & "\version.txt")
    ProgressSet(95, "Updater", "Aktualisiere Versionsdaten...")
    Sleep(1000)
    FileCopy($temp & "\version.txt", @DocumentsCommonDir & "\version.txt")
    ProgressSet(100, "Updater", "Lösche temporäre Dateien...")
    Sleep(1000)
    FileDelete($temp & "\version.txt")
    ProgressOff()
    MsgBox(64, "Updater", "Eine neue Version von " & $exedatei & " wurde installiert, das neue Programm befindet sich auf dem Desktop")

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

    EndIf

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

    Case $update = 7
    MsgBox(64, "Updateassistent", "Update verweigert")
    Return
    EndSelect
    EndFunc ;==>UpDater
    ;---->ENDE VON UPDATER

    [/autoit]

    dann würde die Datei heruntergeladen wenn sie denn auf dem Server wäre. Manuell ist sie auch nicht erreichbar.

    Zitat

    bplaced.net Diese Seite ist leider nicht mehr verfügbar, Fehler 404. Sorry, this page is not available any more, error 404. - Impressum

    mfg (Auto)Bert

  • _ArraySort2D_MC 2D Array nach mehreren Spalten sortieren (Stand 08.08.2012)

    • autoBert
    • 28. Februar 2010 um 12:00

    Neues Update,

    ich habe jetzt noch zusätzlich die Sortierung nach Geburtstagen (MM/TT/JJJJ) aufgenommen. Skript und Download in #1,

    mfg (Auto)Bert

  • Rechnungswesen - Grundbuch Script

    • autoBert
    • 28. Februar 2010 um 11:40

    Hallo GerhardSchr,

    Zitat

    moin moin

    Danke Autobert, aber wofür ist dieser code?
    kann da keinen zusammenhang erkennen ^^

    Gruß
    GerhardSchr

    ups, da hatte ich letzte Nacht etwas falsches hochgeladen. :sleeping:
    Ist jetzt berichtigt,

    mfg (Auto)Bert

  • Netzwerkkarte per Netzwerk-IP auslesen

    • autoBert
    • 28. Februar 2010 um 01:13

    Hallo Pinguin94,

    schau dir mal [ gelöst ] Fehler im Code ??? an, vielleicht hilft dir das ja weiter,

    mfg (Auto)Bert

  • _ArraySort2D_MC 2D Array nach mehreren Spalten sortieren (Stand 08.08.2012)

    • autoBert
    • 27. Februar 2010 um 23:16

    Hallo UEZ,

    ja da hast du leider recht. Bug gefixt. Update in #1

    mfg (Auto)Bert

  • Rechnungswesen - Grundbuch Script

    • autoBert
    • 27. Februar 2010 um 22:28

    Hallo GerhardSchr,

    das (und die anderen Fehler liegt daran, dass sich seitdem die Schreibweise (und zum Teil auch die Syntax) der Befehle geändert hat. Habe das ganze jetzt auf 3.4.4.0 abgeändert. Bei einigen Zeilen war ich mir nicht ganz sicher, diese sind mit ;************** gekennzeichnet.
    Es startet jetzt zumindest, musst es aber noch austesten:

    Spoiler anzeigen
    [autoit]

    #include <guiconstants.au3>
    #include <guilistview.au3>
    #include <file.au3>
    Opt("GUIOnEventMode", 1)

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

    HotKeySet("^z", 'Undo')
    HotKeySet("{F1}", 'InsertAcc')
    HotKeySet("{F2}", 'EditAcc')
    HotKeySet("{F3}", 'DeleteAcc')
    HotKeySet("{F5}", 'save')

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

    Global $flag
    Global $list
    Global $nr = 1
    Global $input, $iinput, $iiinput
    Global Const $WM_NOTIFY = 0x004E
    Global Const $NM_FIRST = 0
    Global Const $NM_LAST = (-99)
    Global Const $NM_CLICK = ($NM_FIRST - 2)
    Global Const $NM_DBLCLK = ($NM_FIRST - 3)
    Global Const $NM_RCLICK = ($NM_FIRST - 5)
    Global Const $NM_RDBLCLK = ($NM_FIRST - 6)

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

    Dim $pathKonten = 'konten.txt', $pathUndo = $pathKonten & '.BAK'
    Dim $arKonten, $arListe[1]

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

    $maingui = GUICreate("Grundbuch 0.01", 500, 300)
    GUISetOnEvent($GUI_Event_Close, 'CloseGUI')
    $menu = GUICtrlCreateMenu("&Konto")
    $add = GUICtrlCreateMenuItem("&einfügen F1", $menu)
    GUICtrlSetOnEvent(-1, 'InsertAcc')
    $edit = GUICtrlCreateMenuItem("&bearbeiten F2", $menu)
    GUICtrlSetOnEvent(-1, 'EditAcc')
    $blind = GUICtrlCreateMenuItem("", $menu)
    $remove = GUICtrlCreateMenuItem("&löschen F3", $menu)
    GUICtrlSetOnEvent(-1, 'DeleteAcc')
    $blind = GUICtrlCreateMenuItem("", $menu)
    $undo = GUICtrlCreateMenuItem("&undo STRG+Z", $menu)
    GUICtrlSetOnEvent(-1, 'Undo')
    GUICtrlCreateGroup("Konten-Liste", 0, 5, 170, 270)
    $list = GUICtrlCreateListView("Konto|Nr.", 5, 20, 160, 250, -1, BitOR($LVS_EX_GRIDLINES,$LVS_EX_FULLROWSELECT))
    _GUICtrlListView_SetColumnWidth(-1, 0, 88)
    _GUICtrlListView_SetColumnWidth(-1, 1, 57)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("Grundbuch", 170, 5, 330, 270)
    GUICtrlCreateLabel("Konto", 180, 20)
    GUICtrlCreateLabel("Nr.", 360, 20)
    GUICtrlCreateLabel("Betrag", 430, 20)
    GUICtrlCreateLabel("an...", 180, 115)
    $button1 = GUICtrlCreateButton(">", 175, 35, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button2 = GUICtrlCreateButton(">", 175, 55, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button3 = GUICtrlCreateButton(">", 175, 75, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button4 = GUICtrlCreateButton(">", 175, 95, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button5 = GUICtrlCreateButton(">", 175, 135, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button6 = GUICtrlCreateButton(">", 175, 155, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button7 = GUICtrlCreateButton(">", 175, 175, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $button8 = GUICtrlCreateButton(">", 175, 195, 15, 15)
    GUICtrlSetOnEvent(-1, 'FiLLIn')
    $input1 = GUICtrlCreateInput("", 195, 35, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input2 = GUICtrlCreateInput("", 195, 55, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input3 = GUICtrlCreateInput("", 195, 75, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input4 = GUICtrlCreateInput("", 195, 95, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input5 = GUICtrlCreateInput("", 195, 135, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input6 = GUICtrlCreateInput("", 195, 155, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input7 = GUICtrlCreateInput("", 195, 175, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $input8 = GUICtrlCreateInput("", 195, 195, 155, 15)
    GUICtrlSetOnEvent(-1, 'NameChg')
    $iinput1 = GUICtrlCreateInput("", 360, 35, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg1')
    $iinput2 = GUICtrlCreateInput("", 360, 55, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg2')
    $iinput3 = GUICtrlCreateInput("", 360, 75, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg3')
    $iinput4 = GUICtrlCreateInput("", 360, 95, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg4')
    $iinput5 = GUICtrlCreateInput("", 360, 135, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg5')
    $iinput6 = GUICtrlCreateInput("", 360, 155, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg6')
    $iinput7 = GUICtrlCreateInput("", 360, 175, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg7')
    $iinput8 = GUICtrlCreateInput("", 360, 195, 60, 15)
    GUICtrlSetOnEvent(-1, 'NumberChg8')
    $iiinput1 = GUICtrlCreateInput("", 430, 35, 60, 15)
    $iiinput2 = GUICtrlCreateInput("", 430, 55, 60, 15)
    $iiinput3 = GUICtrlCreateInput("", 430, 75, 60, 15)
    $iiinput4 = GUICtrlCreateInput("", 430, 95, 60, 15)
    $iiinput5 = GUICtrlCreateInput("", 430, 135, 60, 15)
    $iiinput6 = GUICtrlCreateInput("", 430, 155, 60, 15)
    $iiinput7 = GUICtrlCreateInput("", 430, 175, 60, 15)
    $iiinput8 = GUICtrlCreateInput("", 430, 195, 60, 15)
    GUICtrlCreateLabel("File-Name", 180, 225)
    $filename = GUICtrlCreateInput("", 240, 225, 200, 15)
    GUICtrlSetTip(-1, "Name der Datei, OHNE Zusatzt -txt-")
    GUICtrlCreateButton("speichere Buchungssatz (F5)", 265, 245)
    GUICtrlSetTip(-1, "speichert den angegebenen Buchungssatz in einer txt-Datei")
    GUICtrlSetOnEvent(-1, 'save')
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    For $i = $button1 to $button8
    GUICtrlSetTip($i, "übernimmt markierten Kontennamen + Konten-Nr.")
    Next
    For $i = $input1 To $input8
    GUICtrlSetTip($i, "... gewünschter Kontenname (Nr. wird, sofern vorhanden, übernommen)")
    Next
    For $i = $iinput1 To $iinput8
    GUICtrlSetTip($i, "... gewünschte Konten-Nr. (Name wird, sofern vorhanden, übernommen)")
    Next
    For $i = $iiinput1 To $iiinput8
    GUICtrlSetTip($i, "... Betrag ohne Währung (wird in € angegeben)")
    Next

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

    GUISetState(@SW_SHOW, $maingui)
    ReadAcc($pathKonten)

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

    GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")

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

    While 1
    Sleep(100)
    Wend

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

    Func CloseGUI()
    Exit
    EndFunc

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

    Func ReadAcc($PATH) ; aus Datei in ListView schreiben
    _FileReadToArray($PATH, $arKonten)
    If (Not IsArray($arKonten)) Then
    MsgBox(0, 'Fehler', 'Kontenliste konnte nicht gelesen werden!')
    Return
    EndIf
    ReDim $arListe[UBound($arKonten)-1]
    For $i = 1 To $arKonten[0]
    $arListe[$i-1] = GUICtrlCreateListViewItem($arKonten[$i], $list)
    Next
    EndFunc

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

    Func WriteAcc() ; aus ListView in Datei schreiben (nach jedem Edit, Add und Löschen)
    $anz = _GUICtrlListView_GetItemCount($list)
    if IsArray($arKonten) then
    ReDim $arKonten[$anz]
    Else ;*************************** eingefügt AutoBert
    Dim $arKonten[$anz] ;*************************** eingefügt AutoBert
    EndIf ;*************************** eingefügt AutoBert
    For $i = 0 To UBound($arKonten)-1
    $arKonten[$i] = _GUICtrlListView_GetItemText($list, $i, 0) & '|' & _GUICtrlListView_GetItemText($list, $i, 1)
    Next
    If FileExists($pathKonten) Then FileMove($pathKonten, $pathKonten & '.BAK', 1)
    _FileWriteFromArray($pathKonten, $arKonten)
    EndFunc

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

    Func InsertAcc() ; Konto hinzufügen
    ReDim $arListe[UBound($arListe)+1]
    $arListe[UBound($arListe)-1] = GUICtrlCreateListViewItem( InputBox('Kontoname', 'Bitte Namen des neuen Kontos eingeben:', "", "", 300, 120) & '|' & _
    InputBox('Kontonummer', 'Bitte die Nummer des neuen Kontos eingeben:', "", "", 300, 120), $list)
    WriteAcc()
    EndFunc

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

    Func DeleteAcc() ; Konto löschen
    $index = GuiCtrlRead($list) ;_GUICtrlListViewGetCurSel($list)
    _GUICtrlListView_DeleteItem ($list, $index)
    WriteAcc()
    EndFunc

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

    Func EditAcc() ; Konto bearbeiten
    $index = GuiCtrlRead($list) ;_GUICtrlListViewGetCurSel($list)
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    $number = _GUICtrlListView_GetItemText($list, $index, 1)
    $name = InputBox('Kontoname', 'Hier können Sie den Kontennamen ändern:', $name, "", 300, 120)
    $number = InputBox('Kontonummer', 'Hier können Sie die Kontonummer ändern:', $number, "", 300, 120)
    _GUICtrlListView_SetItemText($list, $index, 0, $name)
    _GUICtrlListView_SetItemText($list, $index, 1, $number)
    WriteAcc()
    EndFunc

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

    Func Undo() ; letzte Aktion (Edit, New, Delete) rückgängig machen
    _GUICtrlListView_DeleteAllItems($list)
    ReadAcc($pathUndo)
    WriteAcc()
    EndFunc

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

    Func ListView_DoubleClick() ; Werte übertragen
    $index = GuiCtrlRead($list) ;_GUICtrlListViewGetCurSel($list)
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    $number = _GUICtrlListView_GetItemText($list, $index, 1)
    For $i = $input1 To $input8
    If GUICtrlRead($i) = '' Then
    GUICtrlSetData($i, $name)
    Switch $i
    Case $input1
    GUICtrlSetData($iinput1, $number)
    Case $input2
    GUICtrlSetData($iinput2, $number)
    Case $input3
    GUICtrlSetData($iinput3, $number)
    Case $input4
    GUICtrlSetData($iinput4, $number)
    Case $input5
    GUICtrlSetData($iinput5, $number)
    Case $input6
    GUICtrlSetData($iinput6, $number)
    Case $input7
    GUICtrlSetData($iinput7, $number)
    Case $input8
    GUICtrlSetData($iinput8, $number)
    EndSwitch
    ExitLoop
    EndIf
    Next
    EndFunc

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

    Func FillIn()
    $index = GuiCtrlRead($list) ;_GUICtrlListViewGetCurSel($list)
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    $number = _GUICtrlListView_GetItemText($list, $index, 1)
    $i = @GUI_CTRLID
    Switch $i
    Case 18
    GUICtrlSetData($input1, $name)
    GUICtrlSetData($iinput1, $number)
    Case 19
    GUICtrlSetData($input2, $name)
    GUICtrlSetData($iinput2, $number)
    Case 20
    GUICtrlSetData($input3, $name)
    GUICtrlSetData($iinput3, $number)
    Case 21
    GUICtrlSetData($input4, $name)
    GUICtrlSetData($iinput4, $number)
    Case 22
    GUICtrlSetData($input5, $name)
    GUICtrlSetData($iinput5, $number)
    Case 23
    GUICtrlSetData($input6, $name)
    GUICtrlSetData($iinput6, $number)
    Case 24
    GUICtrlSetData($input7, $name)
    GUICtrlSetData($iinput7, $number)
    Case 25
    GUICtrlSetData($input8, $name)
    GUICtrlSetData($iinput8, $number)
    EndSwitch
    EndFunc

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

    Func NameChg()
    $i = @GUI_CTRLID
    ;*************************************************************
    $index = _GUICtrlListView_FindText($list,GuiCtrlRead($i)); _GUICtrlListViewFindItem($list, GUICtrlRead($i))
    ;*************************************************************
    $number = _GUICtrlListView_GetItemText($list, $index, 1)
    Switch $i
    Case 26
    GUICtrlSetData($iinput1, $number)
    Case 27
    GUICtrlSetData($iinput2, $number)
    Case 28
    GUICtrlSetData($iinput3, $number)
    Case 29
    GUICtrlSetData($iinput4, $number)
    Case 30
    GUICtrlSetData($iinput5, $number)
    Case 31
    GUICtrlSetData($iinput6, $number)
    Case 32
    GUICtrlSetData($iinput7, $number)
    Case 33
    GUICtrlSetData($iinput8, $number)
    EndSwitch
    EndFunc

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

    Func save()
    $sum1 = GUICtrlRead($iiinput1) + GUICtrlRead($iiinput2) + GUICtrlRead($iiinput3) + GUICtrlRead($iiinput4)
    $sum2 = GUICtrlRead($iiinput5) + GUICtrlRead($iiinput6) + GUICtrlRead($iiinput7) + GUICtrlRead($iiinput8)
    If $sum1 <> $sum2 Then
    MsgBox(16, "Fehler", "Summen stimmen nicht überein" & @CRLF & @CRLF & $sum1 & " - " & $sum2 & " = " & $sum1 - $sum2)
    Else

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

    If GUICtrlRead($filename) = "" Then
    $flag = True
    $file2 = InputBox("File-Name", "Geben Sie einen File-Namen ein", "", "", 300,120)
    $file = $file2 & ".txt"
    Else
    $file = GUICtrlRead($filename) & ".txt"
    EndIf
    $save = FileOpen($file, 1)
    FileWrite($save, "> " & $nr & "." & @CRLF)
    If GUICtrlRead($input1) = "" Then
    Else
    FileWrite($save, GUICtrlRead($iinput1) & " " & GUICtrlRead($input1) & " " & GUICtrlRead($iiinput1) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input2) = "" Then
    Else
    FileWrite($save, GUICtrlRead($iinput2) & " " & GUICtrlRead($input2) & " " & GUICtrlRead($iiinput2) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input3) = "" Then
    Else
    FileWrite($save, GUICtrlRead($iinput3) & " " & GUICtrlRead($input3) & " " & GUICtrlRead($iiinput3) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input4) = "" Then
    Else
    FileWrite($save, GUICtrlRead($iinput4) & " " & GUICtrlRead($input4) & " " & GUICtrlRead($iiinput4) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input5) = "" Then
    Else
    FileWrite($save, "an " & GUICtrlRead($iinput5) & " " & GUICtrlRead($input5) & " " & GUICtrlRead($iiinput5) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input6) = "" Then
    Else
    FileWrite($save, "an " & GUICtrlRead($iinput6) & " " & GUICtrlRead($input6) & " " & GUICtrlRead($iiinput6) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input7) = "" Then
    Else
    FileWrite($save, "an " & GUICtrlRead($iinput7) & " " & GUICtrlRead($input7) & " " & GUICtrlRead($iiinput7) & " €" & @CRLF)
    EndIf
    If GUICtrlRead($input8) = "" Then
    Else
    FileWrite($save, "an " & GUICtrlRead($iinput8) & " " & GUICtrlRead($input8) & " " & GUICtrlRead($iiinput8) & " €" & @CRLF)
    EndIf
    FileWrite($save, "-" & @CRLF)
    FileWrite($save, "Summe: " & $sum1 & " €" & @CRLF)
    FileWrite($save, @CRLF)
    FileClose($save)
    For $i = $input1 To $input8
    GUICtrlSetData($i, "")
    Next
    For $i = $iinput1 To $iinput8
    GUICtrlSetData($i, "")
    Next
    For $i = $iiinput1 To $iiinput8
    GUICtrlSetData($i, "")
    Next
    If $flag = True Then
    GUICtrlSetData($filename, $file2)
    $flag = False
    Else
    EndIf
    $nr = $nr + 1
    EndIf
    EndFunc

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

    ; WM_NOTIFY event handler
    Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam)
    ;#forceref $hWndGUI, $MsgID, $wParam
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam);NMHDR (hwndFrom, idFrom, code)
    If @error Then Return
    $event = DllStructGetData($tagNMHDR, 3)
    Select
    Case $wParam = $list
    Select
    Case $event = $NM_CLICK
    ;~ ListView_Click ()
    Case $event = $NM_DBLCLK
    ListView_DoubleClick ()
    Case $event = $NM_RCLICK
    ;~ ListView_RightClick ()
    Case $event = $NM_RDBLCLK
    ;~ ListView_RightDblClick ()
    EndSelect
    EndSelect
    $tagNMHDR = 0
    $event = 0
    $lParam = 0
    EndFunc ;==>WM_Notify_Events

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

    Func NumberChg1()
    $index = _LV_Search($list, GUICtrlRead($iinput1))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input1, $name)
    EndFunc
    Func NumberChg2()
    $index = _LV_Search($list, GUICtrlRead($iinput2))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input2, $name)
    EndFunc
    Func NumberChg3()
    $index = _LV_Search($list, GUICtrlRead($iinput3))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input3, $name)
    EndFunc
    Func NumberChg4()
    $index = _LV_Search($list, GUICtrlRead($iinput4))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input4, $name)
    EndFunc
    Func NumberChg5()
    $index = _LV_Search($list, GUICtrlRead($iinput5))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input5, $name)
    EndFunc
    Func NumberChg6()
    $index = _LV_Search($list, GUICtrlRead($iinput6))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input6, $name)
    EndFunc
    Func NumberChg7()
    $index = _LV_Search($list, GUICtrlRead($iinput7))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input7, $name)
    EndFunc
    Func NumberChg8()
    $index = _LV_Search($list, GUICtrlRead($iinput8))
    If $index < 0 Then
    MsgBox(0, 'Fehler', 'Kontonummer nicht vorhanden!')
    Return
    EndIf
    $name = _GUICtrlListView_GetItemText($list, $index, 0)
    GUICtrlSetData($input8, $name)
    EndFunc

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

    Func _LV_Search($LV, $What2Find)
    $count = _GUICtrlListView_GetItemCount($LV)
    If $count < 1 Then Return -1 ; Return -1 ; leere Liste
    $countSub = _GUICtrlListView_GetColumnCount($LV) -1 ;_GUICtrlListViewGetSubItemsCount($LV)
    For $i = 0 To $count-1
    For $k = 0 To $countSub-1
    If _GUICtrlListView_GetItemText($LV, $i, $k) = $What2Find Then Return $i
    Next
    Next
    Return -2 ; Return -2 ; nicht gefunden
    EndFunc

    [/autoit]

    Edit: sorry, hatte versehentlich das falsche hochgeladen ==>> Sktipt ausgetauscht
    mfg (Auto)Bert

  • Sudoku funktioniert nicht

    • autoBert
    • 27. Februar 2010 um 21:05

    Hallo yxyx,

    es gab einaml einen Wettbewerb für Sudoku-Solver: µit - März

    mfg (Auto)Bert

  • _ArraySort2D_MC 2D Array nach mehreren Spalten sortieren (Stand 08.08.2012)

    • autoBert
    • 27. Februar 2010 um 20:20

    Hallo UEZ,

    aller guten Dinge sind 3. Nein Scherz beiseite, was beim 1. Mal los war weis ich nicht, beim 2. Versuch habe ich aus Versehen die falsche Datei hochgeladen. Jetzt habe ich vorsichtshalber auch die func in einem Spoiler in den Text eingefügt.
    Sorry ich hoffe aber dass du die func trotzdem noch testest und Rückmeldung gibst,

    mfg (Auto)Bert

  • _ArraySort2D_MC 2D Array nach mehreren Spalten sortieren (Stand 08.08.2012)

    • autoBert
    • 27. Februar 2010 um 19:18

    Hallo UEZ,

    ich kämpfe zurzeit mit dem INet (Übertragung <5 KB/s), weiss nicht wo sie beim 1. Versuch geblieben ist, jetzt ist sie aber da,

    mfg (Auto)Bert

  • _ArraySort2D_MC 2D Array nach mehreren Spalten sortieren (Stand 08.08.2012)

    • autoBert
    • 27. Februar 2010 um 18:57

    Hallo com,

    hier ein kleines Skript zum sortieren von 2D-Arrays. Angregt worden bin ich dazu durch [ gelöst ] _ArraySort sortiert "komisch".
    Man kann nach folgenden Formaten für die Sortierung angeben: Numerisch, Datum (normal JJJJ/MM/TT), Geburtstag (MM/TT/JJJJ) und natürlich ohne (Standard = ASCII).

    Update: honzugekmmen sind Start- und Endparmeter, so dass die Funktin auch auf Arrays mit Überschrift in Zeile 0 angewendet werden kann. Desweiteren kann jetzt auch absteigend sortiert und einmalige Einträge erzwungen werden. Diese beiden Parameter beziehen sich auf alle Spalten einer Zeile.

    Demo (wie einsetzen):

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <date.au3>
    #include <arraySort2D_MC.au3>

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

    Global $array[10000][3]
    $array[0][0] = "Text"
    $array[0][1] = "Zahl"
    $array[0][2] = "Datum"
    For $i = 1 To 9999
    ;rein Ascii
    $array[$i][0] &= Chr(Random(65, 90, 1))
    For $j = 1 To 9
    $array[$i][0] &= Chr(Random(97, 122, 1))
    Next
    ;Zahl
    $array[$i][1] = Random(1, 999, 1)
    For $j = 1 To Random(0, 6, 1)
    if $j = 1 Then $array[$i][1] &= ","
    $array[$i][1] &= Chr(Random(48, 57, 1))
    Next
    ;Datum
    $array[$i][2] = Random(1, 31, 1) & "." & Random(1, 12, 1) & "." & Random(1945, 1994, 1)
    Next

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

    _ArrayDisplay($array, "Unsortiert")

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

    ;Numerische Sortierung
    $bench_start = TimerInit()
    ;Func _arraySort2D_MC(ByRef $avArray, $ColOrder, $iStart=0,$iEnd=0,$iDesc=0,$bDelDuplictes=False)
    _arraySort2D_MC($array, "1%N|2%D|0", 1)
    $bench_end = Round(TimerDiff($bench_start), 2)
    ConsoleWrite("Laufzeit _arraySort2D_MC: " & $bench_end & " ms!" & @CRLF)
    _ArrayDisplay($array, "sortiert nach Col 1 als Zahl (1%N|2%D|0|)")

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

    ;sortierung nch Datum JJJJ/MM/TT
    $bench_start = TimerInit()
    _arraySort2D_MC($array, "2%D|0|1%N", 1)
    $bench_end = Round(TimerDiff($bench_start), 2)
    ConsoleWrite("Laufzeit _arraySort2D_MC: " & $bench_end & " ms!" & @CRLF)
    _ArrayDisplay($array, "sortiert nach Col 2 als Datum (2%D|0|1%N)")

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

    ;Sortierung nach Geburtstag MM/TT/JJJJ
    $bench_start = TimerInit()
    _arraySort2D_MC($array, "2%G|0|1%N", 1)
    $bench_end = Round(TimerDiff($bench_start), 2)
    ConsoleWrite("Laufzeit _arraySort2D_MC: " & $bench_end & " ms!" & @CRLF)
    _ArrayDisplay($array, "sortiert nach Col 2 als Geburtstag (2%G|0|1%N)")

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

    ;und jetzt doppelte Zeilen erzeugen
    For $i = 1 To 99 Step 2
    For $j = 0 To 2
    $array[$i][$j] = $array[$i + 1][$j]
    Next
    Next
    ;normale Sortierung absteigend doppelte Zeilen verhindern
    $bench_start = TimerInit()
    _arraySort2D_MC($array, "0|1%N|2%D", 1, 0, 1, True)
    $bench_end = Round(TimerDiff($bench_start), 2)
    ConsoleWrite("Laufzeit _arraySort2D_MC: " & $bench_end & " ms!" & @CRLF)
    _ArrayDisplay($array, "sortiert nach Col 0 als Text absteigend doppelte Zeilen werden gelöscht (0|1%N|2%D|")

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


    ScreenShots:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    bisherige Downlads: 184

    mfg (Auto)Bert

    Bilder

    • unsortiert.jpg
      • 46,94 kB
      • 280 × 480
    • sortiert.jpg
      • 46,17 kB
      • 280 × 480

    Dateien

    arraySort2D_MC.au3 5,32 kB – 592 Downloads DEMO_ArraySort2D_MC.au3 2,12 kB – 482 Downloads
  • GUICtrlListView

    • autoBert
    • 26. Februar 2010 um 12:38

    Hallo SchrotterCH,

    schau dir die Beispiele zu GUICtrlRegisterListViewSort in der Hilfe an,

    mfg (Auto)Bert

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™