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

Beiträge von Oscar

  • DVD Archiv

    • Oscar
    • 12. November 2008 um 18:10

    franzp: Ich denke nicht, dass die Anzahl der Array-Elemente dazu führt, dass AutoIt langsamer wird (habe schon Arrays mit über 100.000 Einträgen benutzt). Es könnte aber sein, dass AutoIt langsamer wird, wenn der Arbeitsspeicher zur Neige geht und Windows Auslagerungsspeicher benutzen muss. Soll heißen, wenn in den Arrays sehr viele Informationen stehen und somit der vorhandene Arbeitsspeicher nicht mehr ausreicht. Das sollte aber bei einem DVD-Archiv mit Nur-Text-Inhalt nicht so schnell vorkommen. Es sei denn, es gibt noch Leute, die Windows mit weniger als 512 MB benutzen. ;)

  • Happy Birthday Xeno

    • Oscar
    • 12. November 2008 um 17:55

    Happy Birthday, Xeno!

    etc.zip

  • Text Box nur 3 zahlen erlauben

    • Oscar
    • 11. November 2008 um 17:08

    Mit $ES_NUMBER beim Input-Control beschränkst Du die Eingabe zusätzlich auf Zahlen:

    [autoit]


    #include<EditConstants.au3>
    #include<GUIConstantsEx.au3>
    GUICreate("", 320, 120)
    GUICtrlCreateInput("", 10, 5, 40, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 3)
    GUISetState()

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • Dynamisch erstellte Baumstruktur auslesen

    • Oscar
    • 11. November 2008 um 16:10

    Versuch's mal damit:

    [autoit]


    Case $msg = $gf
    $path = "files/guifunctions/" & $arrayt[$gf-$guifunct] & ".txt"

    [/autoit]

    Und eine Bitte: Statt dem Quellcode-Tag den AutoIt-Tag sowie den Spoiler benutzen! Danke!

  • Erster Buchstabe groß

    • Oscar
    • 11. November 2008 um 04:18

    Solch eine Funktion (_StringProper) gibt's schon: :)

    [autoit]


    #include <String.au3>
    $Name1 = "BERND MUSTERMANN"
    $Name2 = "bErNd mUsTeR mAnN"

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

    MsgBox(0, $Name1, _StringProper($Name1))
    MsgBox(0, $Name2, _StringProper($Name2))

    [/autoit]
  • Würfelspiel scripten

    • Oscar
    • 10. November 2008 um 20:42
    Zitat von sir-gunny

    hab v3.2.10.0

    includet der die von alleine oder warum funzt das bei mir?

    Bei der 3.2.10.0 waren die Constanten noch alle in <GUIConstants.au3> das wurde jetzt aufgeteilt auf mehrere Dateien. Xeno hat aber ein geniales Tool (OrganizeIncludes) geschrieben, mit dem man die benötigten Includes ganz einfach einfügen lassen kann.


    Edit:  Dankeschön: Prinzipiell hast Du ja recht, aber wenn er eine alte Version von AutoIt benutzt, wird er da lange suchen können.

  • Würfelspiel scripten

    • Oscar
    • 10. November 2008 um 20:33

    Beim aktuellen AutoIt werden die folgenden Includes benötigt:

    [autoit]


    #include<EditConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<StaticConstants.au3>

    [/autoit]
  • Würfelspiel scripten

    • Oscar
    • 10. November 2008 um 20:28

    Dann hast Du kein aktuelles AutoIt. ;)

  • DVD Archiv

    • Oscar
    • 10. November 2008 um 20:18

    Ohne Bugfixs UDF herabwürdigen zu wollen, aber in diesem Fall reichen auch die "Standard"-UDFs. :)

    Ich habe Dir mal einen "Löschen"-Button eingebaut:

    Spoiler anzeigen
    [autoit]


    #include<Array.au3>
    #include<GUIConstantsEx.au3>
    #include<ListViewConstants.au3>
    #include <GUIConstants.au3>
    #include <GuiListView.au3>

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

    ;Form1
    $Form1 = GUICreate("DVD Archiv", 1034, 716, 195, 112)

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

    ;Auswahl
    $ListView1 = GUICtrlCreateListView("Film | Staffel | Genre | Darsteller | Beschreibung", 0, 54, 1033, 641, $LVS_SHOWSELALWAYS)

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

    Global $aDVD[1][5] ;das Array, in dem das Archiv gespeichert wird
    Global $iDVDCounter = 0 ;Zähler, für die Anzahl der DVDs
    Global $sFilename = @ScriptDir & '\DVD-Archiv.txt' ;Dateiname der 'Datenbank'

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

    If FileExists($sFilename) Then _LoadDVDs()

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

    _GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
    _GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen
    $Button3 = GUICtrlCreateButton("Markierte Einträge löschen", 25, 25, 180, 20)

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

    ;Menü
    $MenuItem1 = GUICtrlCreateMenu("Datei")
    $MenuItem3 = GUICtrlCreateMenuItem("Neuer eintrag", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Suche", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
    $MenuItem5 = GUICtrlCreateMenu("Hilfe")
    $MenuItem6 = GUICtrlCreateMenuItem("Hilfe", $MenuItem5)

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

    ;Form2
    $Form2 = GUICreate("Neuer Eintrag", 611, 544, 194, 118)

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

    $Label1 = GUICtrlCreateLabel("Film", 8, 32, 22, 17)
    $Label2 = GUICtrlCreateLabel("Staffel", 8, 64, 34, 20)
    $Label3 = GUICtrlCreateLabel("Genre", 8, 96, 33, 20)
    $Label4 = GUICtrlCreateLabel("Darsteller", 8, 128, 48, 20)
    $Label5 = GUICtrlCreateLabel("Beschreibung", 8, 160, 69, 20)

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

    Global $aInput[5]
    $aInput[0] = GUICtrlCreateInput("", 96, 24, 449, 21)
    $aInput[1] = GUICtrlCreateInput("", 96, 56, 449, 21)
    $aInput[2] = GUICtrlCreateInput("", 96, 88, 449, 21)
    $aInput[3] = GUICtrlCreateInput("", 96, 120, 449, 21)
    $aInput[4] = GUICtrlCreateEdit("", 96, 160, 449, 321)

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

    $Button1 = GUICtrlCreateButton("Speichern", 136, 504, 113, 20)
    $Button2 = GUICtrlCreateButton("Beenden", 8, 504, 113, 20)

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

    ;Form3
    $Form3 = GUICreate("Suche", 479, 185, 193, 125)

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

    $Label1 = GUICtrlCreateLabel("Suche", 8, 56, 35, 20)

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

    GUICtrlCreateInput("", 72, 56, 305, 21)

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

    GUISetState(@SW_SHOW, $Form1)

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

    While 1
    $Msg = GUIGetMsg(1)
    If $Msg[0] = $GUI_EVENT_CLOSE Then
    Switch $Msg[1]
    Case $Form1
    Exit
    Case $Form2
    GUISetState(@SW_HIDE, $Form2)
    Case $Form3
    GUISetState(@SW_HIDE, $Form3)
    EndSwitch
    EndIf

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

    ;Menü Neuer Eintrag
    If $Msg[0] = $MenuItem3 Then GUISetState(@SW_SHOW, $Form2)

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

    ;Menü Suche
    If $Msg[0] = $MenuItem4 Then GUISetState(@SW_SHOW, $Form3)

    If $Msg[0] = $Button3 Then
    $aItems = _GUICtrlListView_GetSelectedIndices(GUICtrlGetHandle($ListView1), True)
    For $i = 1 To $aItems[0]
    _ArrayDelete($aDVD, $aItems[$i])
    Next
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1)) ;Listview löschen
    _GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
    _GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen
    $iDVDCounter -= $aItems[0]
    EndIf
    ;Menü Beenden
    If $Msg[0] = $MenuItem2 Then Exit

    If $Msg[0] = $Button2 Then GUISetState(@SW_HIDE, $Form2); Fenster "Neuer Eintrag" schließen

    If $Msg[0] = $Button1 Then
    For $i = 0 To 4 ; Neue Einträge auslesen und ins Array übernehmen
    $aDVD[$iDVDCounter][$i] = GUICtrlRead($aInput[$i])
    GUICtrlSetData($aInput[$i], '')
    Next
    _SaveDVDs() ;Datenbank speichern
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1)) ;Listview löschen
    _GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
    _GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen
    $iDVDCounter += 1 ;Zähler um 1 erhöhen
    ReDim $aDVD[$iDVDCounter + 1][5]
    EndIf
    WEnd

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

    Func _SaveDVDs()
    Local $sTemp
    Local $hFile = FileOpen($sFilename, 2+8)
    If $hFile <> -1 Then
    FileWriteLine($hFile, $iDVDCounter)
    For $i = 0 To $iDVDCounter
    $sTemp = ''
    For $j = 0 To 4
    $sTemp &= $aDVD[$i][$j] & '|'
    Next
    FileWriteLine($hFile, StringTrimRight($sTemp, 1))
    Next
    FileClose($hFile)
    EndIf
    EndFunc

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

    Func _LoadDVDs()
    Local $aTemp
    Local $hFile = FileOpen($sFilename, 0)
    If $hFile <> -1 Then
    $iDVDCounter = FileReadLine($hFile)
    ReDim $aDVD[$iDVDCounter + 1][5]
    For $i = 0 To $iDVDCounter
    $aTemp = StringSplit(FileReadLine($hFile), '|')
    For $j = 0 To 4
    $aDVD[$i][$j] = $aTemp[$j + 1]
    Next
    Next
    FileClose($hFile)
    EndIf
    EndFunc

    [/autoit]
  • Menü mit "GUI"

    • Oscar
    • 10. November 2008 um 19:49

    Ich habe das mal nach "Hilfe und Unterstützung" verschoben!

    Wie stellst Du Dir das denn vor? Soll das ein Installer werden? Wenn ja, dazu gibt es hier schon eine ganze Menge. SuchFunktion benutzen!

  • DVD Archiv

    • Oscar
    • 10. November 2008 um 19:43
    Zitat von Emma-En

    und wieviel kann man über diese lösung speichern?

    Also Arrays sind auf 2^24 (16.777.216) Einträge "begrenzt". Das dürfte somit wohl kein Problem darstellen. Bleibt noch die maximale Dateigröße, da es sich ja um nur eine Datei handelt. Kommt dann auf das Dateisystem an: Bei FAT32 ist die Dateigröße auf 4GB begrenzt. Ob die Datei aber wirklich so groß wird? Kannst Du ja mal durchrechnen, wieviel Bytes pro DVD benötigt werden und wie viele DVDs Du eingeben möchtest.

  • Würfelspiel scripten

    • Oscar
    • 10. November 2008 um 19:30

    Wenn Du einen Wert aus einem Inputfeld auslesen willst, musst Du GUICtrlRead benutzen:

    [autoit]

    GUICtrlCreateLabel(GUICtrlRead($einsatz),10,50)

    [/autoit]
  • FTP Upload + Rechtsklick , dann Option Fesnter anzeigen

    • Oscar
    • 10. November 2008 um 19:18

    Also eine Antwort wie diese: "Sorry, aber auf so eine Antwort kann ich mit Freude verzichten!" finde ich schon ziemlich unangebracht. Eine Entschuldigung an Lev wäre hier wohl fällig.

    Und wenn Du ein FTP-Programm schreiben willst, dann solltest Du Dich schonmal mit der FTP.au3 beschäftigen, soll heißen: Funktionen ausprobieren.
    Einfach zu sagen: "Verstehe aber leider nur Bahnhof!" und dann darauf zu hoffen, dass wir das für Dich übernehmen, finde ich ziemlich dreist.

    Wir sind ja durchaus bereit Dir zu helfen, das heißt aber nicht, dass Dir hier das Script auf dem Silberteller serviert wird.
    Zeig uns, dass Du Dich mit der Materie beschäftigt hast, poste Deine bisherigen Versuche und wir schauen mal, ob/wie wir Dir helfen können. :)

  • Server Reboot Script

    • Oscar
    • 10. November 2008 um 17:11

    Dazu musst Du Deiner Variablen $txt5 in der jeweiligen Funktion den entsprechenden Wert zuweisen.
    Wenn Du das nur am Scriptanfang machst, dann hat die Variable natürlich immer genau diesen Wert.

  • DVD Archiv

    • Oscar
    • 10. November 2008 um 17:03

    Man muss nicht unbedingt SQLite benutzen. Es geht auch mit einem 2D-Array und einer einfachen Datei. Ich habe Dein Script mal dahingehend ausgebaut:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <GuiListView.au3>

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

    ;Form1
    $Form1 = GUICreate("DVD Archiv", 1034, 716, 195, 112)

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

    ;Auswahl
    $ListView1 = GUICtrlCreateListView("Film | Staffel | Genre | Darsteller | Beschreibung", 0, 54, 1033, 641)

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

    Global $aDVD[1][5] ;das Array, in dem das Archiv gespeichert wird
    Global $iDVDCounter = 0 ;Zähler, für die Anzahl der DVDs
    Global $sFilename = @ScriptDir & '\DVD-Archiv.txt' ;Dateiname der 'Datenbank'

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

    If FileExists($sFilename) Then _LoadDVDs()

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

    _GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
    _GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen

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

    ;Menü
    $MenuItem1 = GUICtrlCreateMenu("Datei")
    $MenuItem3 = GUICtrlCreateMenuItem("Neuer eintrag", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Suche", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
    $MenuItem5 = GUICtrlCreateMenu("Hilfe")
    $MenuItem6 = GUICtrlCreateMenuItem("Hilfe", $MenuItem5)

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

    ;Form2
    $Form2 = GUICreate("Neuer Eintrag", 611, 544, 194, 118)

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

    $Label1 = GUICtrlCreateLabel("Film", 8, 32, 22, 17)
    $Label2 = GUICtrlCreateLabel("Staffel", 8, 64, 34, 20)
    $Label3 = GUICtrlCreateLabel("Genre", 8, 96, 33, 20)
    $Label4 = GUICtrlCreateLabel("Darsteller", 8, 128, 48, 20)
    $Label5 = GUICtrlCreateLabel("Beschreibung", 8, 160, 69, 20)

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

    Global $aInput[5]
    $aInput[0] = GUICtrlCreateInput("", 96, 24, 449, 21)
    $aInput[1] = GUICtrlCreateInput("", 96, 56, 449, 21)
    $aInput[2] = GUICtrlCreateInput("", 96, 88, 449, 21)
    $aInput[3] = GUICtrlCreateInput("", 96, 120, 449, 21)
    $aInput[4] = GUICtrlCreateEdit("", 96, 160, 449, 321)

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

    $Button1 = GUICtrlCreateButton("Speichern", 136, 504, 113, 20, 0)
    $Button2 = GUICtrlCreateButton("Beenden", 8, 504, 113, 20, 0)

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

    ;Form3
    $Form3 = GUICreate("Suche", 479, 185, 193, 125)

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

    $Label1 = GUICtrlCreateLabel("Suche", 8, 56, 35, 20)

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

    GUICtrlCreateInput("", 72, 56, 305, 21)

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

    GUISetState(@SW_SHOW, $Form1)

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

    While 1
    $Msg = GUIGetMsg(1)
    If $Msg[0] = $GUI_EVENT_CLOSE Then
    Switch $Msg[1]
    Case $Form1
    Exit
    Case $Form2
    GUISetState(@SW_HIDE, $Form2)
    Case $Form3
    GUISetState(@SW_HIDE, $Form3)
    EndSwitch
    EndIf

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

    ;Menü Neuer Eintrag
    If $Msg[0] = $MenuItem3 Then GUISetState(@SW_SHOW, $Form2)

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

    ;Menü Suche
    If $Msg[0] = $MenuItem4 Then GUISetState(@SW_SHOW, $Form3)

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

    ;Menü Beenden
    If $Msg[0] = $MenuItem2 Then Exit

    If $Msg[0] = $Button2 Then GUISetState(@SW_HIDE, $Form2); Fenster "Neuer Eintrag" schließen

    If $Msg[0] = $Button1 Then
    For $i = 0 To 4 ; Neue Einträge auslesen und ins Array übernehmen
    $aDVD[$iDVDCounter][$i] = GUICtrlRead($aInput[$i])
    GUICtrlSetData($aInput[$i], '')
    Next
    _SaveDVDs() ;Datenbank speichern
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1)) ;Listview löschen
    _GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
    _GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen
    $iDVDCounter += 1 ;Zähler um 1 erhöhen
    ReDim $aDVD[$iDVDCounter + 1][5]
    EndIf
    WEnd

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

    Func _SaveDVDs()
    Local $sTemp
    Local $hFile = FileOpen($sFilename, 2+8)
    If $hFile <> -1 Then
    FileWriteLine($hFile, $iDVDCounter)
    For $i = 0 To $iDVDCounter
    $sTemp = ''
    For $j = 0 To 4
    $sTemp &= $aDVD[$i][$j] & '|'
    Next
    FileWriteLine($hFile, StringTrimRight($sTemp, 1))
    Next
    FileClose($hFile)
    EndIf
    EndFunc

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

    Func _LoadDVDs()
    Local $aTemp
    Local $hFile = FileOpen($sFilename, 0)
    If $hFile <> -1 Then
    $iDVDCounter = FileReadLine($hFile)
    ReDim $aDVD[$iDVDCounter + 1][5]
    For $i = 0 To $iDVDCounter
    $aTemp = StringSplit(FileReadLine($hFile), '|')
    For $j = 0 To 4
    $aDVD[$i][$j] = $aTemp[$j + 1]
    Next
    Next
    FileClose($hFile)
    EndIf
    EndFunc

    [/autoit]

    Ein paar Kommentare habe ich noch eingefügt, damit Du es leichter verstehen kannst. Die Suche kannst Du dann ja über _ArraySearch() realisieren.
    Falls Du noch Fragen hast, nur zu... :)

  • DVD Archiv

    • Oscar
    • 10. November 2008 um 04:17

    Ich habe Dein Script mal etwas angepasst:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <GuiListView.au3>

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

    $Form1 = GUICreate("DVD Archiv", 1034, 716, 195, 112)

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

    ;Auswahl
    $ListView1 = GUICtrlCreateListView("Film | Staffel | Genre | Darsteller | Beschreibung", 0, 54, 1033, 641)

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

    GUICtrlCreateListViewItem("", $ListView1)

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

    ;Menü
    $MenuItem1 = GUICtrlCreateMenu("Datei")
    $MenuItem3 = GUICtrlCreateMenuItem("Neuer eintrag", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Suche", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
    $MenuItem5 = GUICtrlCreateMenu("Hilfe")
    $MenuItem6 = GUICtrlCreateMenuItem("Hilfe", $MenuItem5)

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

    ;Form2
    $Form2 = GUICreate("Neuer Eintrag", 611, 544, 194, 118)

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

    $Label1 = GUICtrlCreateLabel("Film", 8, 32, 22, 17)
    $Label2 = GUICtrlCreateLabel("Staffel", 8, 64, 34, 20)
    $Label3 = GUICtrlCreateLabel("Genre", 8, 96, 33, 20)
    $Label4 = GUICtrlCreateLabel("Darsteller", 8, 128, 48, 20)
    $Label5 = GUICtrlCreateLabel("Beschreibung", 8, 160, 69, 20)

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

    $Input1 = GUICtrlCreateInput("", 96, 24, 449, 21)
    $Input2 = GUICtrlCreateInput("", 96, 56, 449, 21)
    $Input3 = GUICtrlCreateInput("", 96, 88, 449, 21)
    $Input4 = GUICtrlCreateInput("", 96, 120, 449, 21)

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

    $Edit1 = GUICtrlCreateEdit("", 96, 160, 449, 321)
    GUICtrlSetData(-1, "")

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

    $Button1 = GUICtrlCreateButton("Speichern", 136, 504, 113, 20, 0)
    $Button2 = GUICtrlCreateButton("Beenden", 8, 504, 113, 20, 0)

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

    ;Form3
    $Form3 = GUICreate("Suche", 479, 185, 193, 125)

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

    $Label1 = GUICtrlCreateLabel("Suche", 8, 56, 35, 20)

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

    GUICtrlCreateInput("", 72, 56, 305, 21)

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

    GUISetState(@SW_SHOW, $Form1)

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

    While 1
    $Msg = GUIGetMsg(1)
    If $Msg[0] = $GUI_EVENT_CLOSE Then
    Switch $Msg[1]
    Case $Form1
    Exit
    Case $Form2
    GUISetState(@SW_HIDE, $Form2)
    Case $Form3
    GUISetState(@SW_HIDE, $Form3)
    EndSwitch
    EndIf

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

    ;Menü Neuer Eintrag
    If $Msg[0] = $MenuItem3 Then GUISetState(@SW_SHOW, $Form2)

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

    ;Menü Suche
    If $Msg[0] = $MenuItem4 Then GUISetState(@SW_SHOW, $Form3)

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

    ;Menü Beenden
    If $Msg[0] = $MenuItem2 Then Exit

    If $Msg[0] = $Button2 Then GUISetState(@SW_HIDE, $Form2)
    WEnd

    [/autoit]

    Die GUIs am besten immer am Anfang erstellen und dann mit @SW_SHOW und @SW_HIDE anzeigen/verstecken.

  • TreeView Items deaktivieren und mehr

    • Oscar
    • 10. November 2008 um 03:56

    Stimmt! So ist es noch besser. Habe ich mir gleich mal archiviert. Kann ich bestimmt auch mal gebrauchen. :)

  • TreeView Items deaktivieren und mehr

    • Oscar
    • 9. November 2008 um 18:32

    Das mit dem anhaken könnte man so lösen:

    Spoiler anzeigen
    [autoit]


    #include <GuiTreeView.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <TreeViewConstants.au3>

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

    Global $hauptitem[10]
    Global $hItem[10][10]
    Global $status[10][10]
    Global $status_hauptitem[10]

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

    Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)
    $GUI = GUICreate("(UDF Created) TreeView Create", 400, 300)

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

    $hTreeView = _GUICtrlTreeView_Create($GUI, 2, 2, 396, 268, $iStyle, $WS_EX_CLIENTEDGE)
    GUISetState()

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

    _GUICtrlTreeView_BeginUpdate($hTreeView)
    For $x = 1 To 4
    $hauptitem[$x] = _GUICtrlTreeView_Add($hTreeView, 0, StringFormat("[%02d] New Item", $x))
    For $y = 1 To 5
    $hItem[$x][$y] = _GUICtrlTreeView_AddChild($hTreeView, $hauptitem[$x], StringFormat("[%02d] New Child", $y))
    Next
    Next
    _GUICtrlTreeView_EndUpdate($hTreeView)

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

    Do
    For $x = 1 To 4
    $status_hauptitem[$x] = _GUICtrlTreeView_GetChecked($hTreeView, $hauptitem[$x])
    $text_hauptitem = _GUICtrlTreeView_GetText($hTreeView, $hauptitem[$x])
    If $status_hauptitem[$x] Then
    For $y = 1 To 5
    _GUICtrlTreeView_SetChecked($hTreeView, $hItem[$x][$y], True)
    Next
    ElseIf Not $status_hauptitem[$x] And _CheckItems($x) = 5 Then
    For $y = 1 To 5
    _GUICtrlTreeView_SetChecked($hTreeView, $hItem[$x][$y], False)
    Next
    EndIf
    Next
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    GUIDelete()

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

    Func _CheckItems($x)
    Local $check = 0
    For $y = 1 To 5
    If _GUICtrlTreeView_GetChecked($hTreeView, $hItem[$x][$y]) Then $check += 1
    Next
    Return $check
    EndFunc

    [/autoit]
  • Hilfe bei StringRegExp()

    • Oscar
    • 7. November 2008 um 21:37

    So geht's:

    [autoit]


    $string = '<td style="vertical-align: top;"><font size="-1">NAME,VORNAME<br>'
    MsgBox(0,"String",StringRegExpReplace($string, "<.+?>", ""))

    [/autoit]
  • Programm (exe) per Autoit Beenden...

    • Oscar
    • 7. November 2008 um 17:21

    Ich würde aber zuerst ein WinClose an das jeweilige Programm schicken. Und erst wenn es darauf nicht reagiert, ein ProcessClose.
    Mit WinClose gibst Du dem Programm noch die Möglichkeit evtl. Änderungen/Inidateien/etc. zu speichern. ProcessClose killt hingegen den jeweiligen Prozess.

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™