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. ![]()
Beiträge von Oscar
-
-
Happy Birthday, Xeno!
-
Mit $ES_NUMBER beim Input-Control beschränkst Du die Eingabe zusätzlich auf Zahlen:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include<EditConstants.au3>
#include<GUIConstantsEx.au3>
GUICreate("", 320, 120)
GUICtrlCreateInput("", 10, 5, 40, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 3)
GUISetState()Do
[/autoit]
Until GUIGetMsg() = $GUI_EVENT_CLOSE -
Versuch's mal damit:
[autoit]
[/autoit]
Case $msg = $gf
$path = "files/guifunctions/" & $arrayt[$gf-$guifunct] & ".txt"Und eine Bitte: Statt dem Quellcode-Tag den AutoIt-Tag sowie den Spoiler benutzen! Danke!
-
Solch eine Funktion (_StringProper) gibt's schon:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <String.au3>
$Name1 = "BERND MUSTERMANN"
$Name2 = "bErNd mUsTeR mAnN"MsgBox(0, $Name1, _StringProper($Name1))
[/autoit]
MsgBox(0, $Name2, _StringProper($Name2)) -
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.
-
Beim aktuellen AutoIt werden die folgenden Includes benötigt:
[autoit]
[/autoit]
#include<EditConstants.au3>
#include<GUIConstantsEx.au3>
#include<StaticConstants.au3> -
Dann hast Du kein aktuelles AutoIt.

-
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]
[/autoit] [autoit][/autoit] [autoit]
#include<Array.au3>
#include<GUIConstantsEx.au3>
#include<ListViewConstants.au3>
#include <GUIConstants.au3>
#include <GuiListView.au3>;Form1
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("DVD Archiv", 1034, 716, 195, 112);Auswahl
[/autoit] [autoit][/autoit] [autoit]
$ListView1 = GUICtrlCreateListView("Film | Staffel | Genre | Darsteller | Beschreibung", 0, 54, 1033, 641, $LVS_SHOWSELALWAYS)Global $aDVD[1][5] ;das Array, in dem das Archiv gespeichert wird
[/autoit] [autoit][/autoit] [autoit]
Global $iDVDCounter = 0 ;Zähler, für die Anzahl der DVDs
Global $sFilename = @ScriptDir & '\DVD-Archiv.txt' ;Dateiname der 'Datenbank'If FileExists($sFilename) Then _LoadDVDs()
[/autoit] [autoit][/autoit] [autoit]_GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen
$Button3 = GUICtrlCreateButton("Markierte Einträge löschen", 25, 25, 180, 20);Menü
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$MenuItem1 = GUICtrlCreateMenu("Datei")
$MenuItem3 = GUICtrlCreateMenuItem("Neuer eintrag", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Suche", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenu("Hilfe")
$MenuItem6 = GUICtrlCreateMenuItem("Hilfe", $MenuItem5);Form2
[/autoit] [autoit][/autoit] [autoit]
$Form2 = GUICreate("Neuer Eintrag", 611, 544, 194, 118)$Label1 = GUICtrlCreateLabel("Film", 8, 32, 22, 17)
[/autoit] [autoit][/autoit] [autoit]
$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)Global $aInput[5]
[/autoit] [autoit][/autoit] [autoit]
$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)$Button1 = GUICtrlCreateButton("Speichern", 136, 504, 113, 20)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Button2 = GUICtrlCreateButton("Beenden", 8, 504, 113, 20);Form3
[/autoit] [autoit][/autoit] [autoit]
$Form3 = GUICreate("Suche", 479, 185, 193, 125)$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
[/autoit] [autoit][/autoit] [autoit]
$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;Menü Neuer Eintrag
[/autoit] [autoit][/autoit] [autoit]
If $Msg[0] = $MenuItem3 Then GUISetState(@SW_SHOW, $Form2);Menü Suche
[/autoit] [autoit][/autoit] [autoit]
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
WEndFunc _SaveDVDs()
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _LoadDVDs()
[/autoit]
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 -
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!
-
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.
-
Wenn Du einen Wert aus einem Inputfeld auslesen willst, musst Du GUICtrlRead benutzen:
[autoit]GUICtrlCreateLabel(GUICtrlRead($einsatz),10,50)
[/autoit] -
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.
-
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. -
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]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <GuiListView.au3>;Form1
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("DVD Archiv", 1034, 716, 195, 112);Auswahl
[/autoit] [autoit][/autoit] [autoit]
$ListView1 = GUICtrlCreateListView("Film | Staffel | Genre | Darsteller | Beschreibung", 0, 54, 1033, 641)Global $aDVD[1][5] ;das Array, in dem das Archiv gespeichert wird
[/autoit] [autoit][/autoit] [autoit]
Global $iDVDCounter = 0 ;Zähler, für die Anzahl der DVDs
Global $sFilename = @ScriptDir & '\DVD-Archiv.txt' ;Dateiname der 'Datenbank'If FileExists($sFilename) Then _LoadDVDs()
[/autoit] [autoit][/autoit] [autoit]_GUICtrlListView_SetItemCount($ListView1, $iDVDCounter + 1) ;Platz reservieren im Listview
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddArray($ListView1, $aDVD) ;das Array im Listview anzeigen;Menü
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$MenuItem1 = GUICtrlCreateMenu("Datei")
$MenuItem3 = GUICtrlCreateMenuItem("Neuer eintrag", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Suche", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenu("Hilfe")
$MenuItem6 = GUICtrlCreateMenuItem("Hilfe", $MenuItem5);Form2
[/autoit] [autoit][/autoit] [autoit]
$Form2 = GUICreate("Neuer Eintrag", 611, 544, 194, 118)$Label1 = GUICtrlCreateLabel("Film", 8, 32, 22, 17)
[/autoit] [autoit][/autoit] [autoit]
$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)Global $aInput[5]
[/autoit] [autoit][/autoit] [autoit]
$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)$Button1 = GUICtrlCreateButton("Speichern", 136, 504, 113, 20, 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Button2 = GUICtrlCreateButton("Beenden", 8, 504, 113, 20, 0);Form3
[/autoit] [autoit][/autoit] [autoit]
$Form3 = GUICreate("Suche", 479, 185, 193, 125)$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
[/autoit] [autoit][/autoit] [autoit]
$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;Menü Neuer Eintrag
[/autoit] [autoit][/autoit] [autoit]
If $Msg[0] = $MenuItem3 Then GUISetState(@SW_SHOW, $Form2);Menü Suche
[/autoit] [autoit][/autoit] [autoit]
If $Msg[0] = $MenuItem4 Then GUISetState(@SW_SHOW, $Form3);Menü Beenden
[/autoit] [autoit][/autoit] [autoit]
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
WEndFunc _SaveDVDs()
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _LoadDVDs()
[/autoit]
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
EndFuncEin 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...
-
Ich habe Dein Script mal etwas angepasst:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <GuiListView.au3>$Form1 = GUICreate("DVD Archiv", 1034, 716, 195, 112)
[/autoit] [autoit][/autoit] [autoit];Auswahl
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ListView1 = GUICtrlCreateListView("Film | Staffel | Genre | Darsteller | Beschreibung", 0, 54, 1033, 641)GUICtrlCreateListViewItem("", $ListView1)
[/autoit] [autoit][/autoit] [autoit];Menü
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$MenuItem1 = GUICtrlCreateMenu("Datei")
$MenuItem3 = GUICtrlCreateMenuItem("Neuer eintrag", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Suche", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenu("Hilfe")
$MenuItem6 = GUICtrlCreateMenuItem("Hilfe", $MenuItem5);Form2
[/autoit] [autoit][/autoit] [autoit]
$Form2 = GUICreate("Neuer Eintrag", 611, 544, 194, 118)$Label1 = GUICtrlCreateLabel("Film", 8, 32, 22, 17)
[/autoit] [autoit][/autoit] [autoit]
$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)$Input1 = GUICtrlCreateInput("", 96, 24, 449, 21)
[/autoit] [autoit][/autoit] [autoit]
$Input2 = GUICtrlCreateInput("", 96, 56, 449, 21)
$Input3 = GUICtrlCreateInput("", 96, 88, 449, 21)
$Input4 = GUICtrlCreateInput("", 96, 120, 449, 21)$Edit1 = GUICtrlCreateEdit("", 96, 160, 449, 321)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData(-1, "")$Button1 = GUICtrlCreateButton("Speichern", 136, 504, 113, 20, 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Button2 = GUICtrlCreateButton("Beenden", 8, 504, 113, 20, 0);Form3
[/autoit] [autoit][/autoit] [autoit]
$Form3 = GUICreate("Suche", 479, 185, 193, 125)$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
[/autoit] [autoit][/autoit] [autoit]
$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;Menü Neuer Eintrag
[/autoit] [autoit][/autoit] [autoit]
If $Msg[0] = $MenuItem3 Then GUISetState(@SW_SHOW, $Form2);Menü Suche
[/autoit] [autoit][/autoit] [autoit]
If $Msg[0] = $MenuItem4 Then GUISetState(@SW_SHOW, $Form3);Menü Beenden
[/autoit]
If $Msg[0] = $MenuItem2 Then Exit
If $Msg[0] = $Button2 Then GUISetState(@SW_HIDE, $Form2)
WEndDie GUIs am besten immer am Anfang erstellen und dann mit @SW_SHOW und @SW_HIDE anzeigen/verstecken.
-
Stimmt! So ist es noch besser. Habe ich mir gleich mal archiviert. Kann ich bestimmt auch mal gebrauchen.

-
Das mit dem anhaken könnte man so lösen:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GuiTreeView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeViewConstants.au3>Global $hauptitem[10]
[/autoit] [autoit][/autoit] [autoit]
Global $hItem[10][10]
Global $status[10][10]
Global $status_hauptitem[10]Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)
[/autoit] [autoit][/autoit] [autoit]
$GUI = GUICreate("(UDF Created) TreeView Create", 400, 300)$hTreeView = _GUICtrlTreeView_Create($GUI, 2, 2, 396, 268, $iStyle, $WS_EX_CLIENTEDGE)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()_GUICtrlTreeView_BeginUpdate($hTreeView)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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)Do
[/autoit] [autoit][/autoit] [autoit]
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_CLOSEGUIDelete()
[/autoit] [autoit][/autoit] [autoit]Func _CheckItems($x)
[/autoit]
Local $check = 0
For $y = 1 To 5
If _GUICtrlTreeView_GetChecked($hTreeView, $hItem[$x][$y]) Then $check += 1
Next
Return $check
EndFunc -
So geht's:
[autoit]
[/autoit]
$string = '<td style="vertical-align: top;"><font size="-1">NAME,VORNAME<br>'
MsgBox(0,"String",StringRegExpReplace($string, "<.+?>", "")) -
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.