Beiträge von BugFix
-
-
da hab ich mir schon angewöhnt, analog zu den UDFs ins erste Feld die Anzahl der Datensätze zu schreiben also bei einem $array[10] steht im $array[0] = 10
dann kann man in den Schleifen auf das Ubound($array) - 1 "verzichten" und kommt mit den Zählern nicht durcheinander ...
kommt aber immer auf der Programm an denke ich

Ist immer die Frage, ob es Sinn macht den Zähler zu führen.
Ist das Array dynamisch, braucht man das nicht - da läßt sich jederzeit mit UBound die Größe abfragen. Bei einem statischen Array kann das durchaus Sinn machen.
Also gilt wie so oft: Das kommt ganz drauf an..
-
Zitat
gibt kennt jemand ne software die das kann?
Darauf habe ich den Link bezogen
-
Den Inhalt der Label kannst du mit GUICtrlSetData() ändern.
Für den Prozessbalken finde ich das Hilfebsp. eigentlich sehr gelungen. Einfacher könnte ich das jetzt auch nicht schildern.
Kopier das Hilfeskript und probiere damit rum. Ändere Werte, damit du siehst, was wann passiert. -
(wenn es 10 sind dann 11, immer plus 1)
Warum dieses? - 10 Elemente: Global $ar[10] aber: Adresse des letzten Elements $ar[9], da der Index mit 0 als erstem Wert zählt.

-
-
Dann frage das vorher ab und splitte ggf.
[autoit]If StringInStr($Name_split[$Name_split[0]], '-') Then
[/autoit]
$var = StringSplit($Name_split[$Name_split[0]], '-')
$Name_split[$Name_split[0]] = $var[$var[0]]
EndIf
$bname = StringLeft($Name_split[1], 1) & "." & $Name_split[$Name_split[0]] -
Hi,
du kannst ja anhand dieser Alghoritmen für schriftliches Rechnen, die Funktionen für Quadrat- und Kubikwurzel erstellen. -
Dann so:
[autoit]$bname = StringLeft($Name_split[1], 1) & "." & $Name_split[$Name_split[0]]
[/autoit] -
Die deklariert er doch selbst oder?
Genau das ist die Frage - vor allem in welchem Namespace sie deklariert werden. Laut seinem Mustercode werden sie nicht in der Funktion erstellt, also bleibt die Frage, woher kommen sie? -
So gehts z.B.:
Spoiler anzeigen
[autoit]Func _CheckInstall()
[/autoit]
_ImportRegData()
Local $err = 0
Select
Case $Version = 40
For $i = 1 To 11
Execute('If $Install_' & $i & ' <> $RegEntrySuccess Then $err += 1')
Next
If $err = 0 Then
MsgBox(0, 'Installation', 'Erfolgreich')
Else
MsgBox(0, 'Installation', 'Fehlgeschlagen' & @LF & $err & ' Fehler.')
EndIf
EndSelect
EndFuncAllerdings bleibt die Frage, woher die Variablen $Install_1 bis $Install_11 kommen. Sie müssen in diesem Fall Global deklariert sein - sonst wird sie die Funktion nicht erkennen.
-
kennst Du wirklich eine, die so heißt?
Nee, war Scherz - aber dem Namen nach könnte sie bei der SPD sein (ähnelt doch sehr "Heidemarie Wieczorek-Zeul")
-
[OT]
Zitat'Bärbel Köhler-R0ßberg'
Die kennst du auch??!!

[/OT] -
Dann wäre schon wichtig zu wissen, was das Skript sonst so "treibt". Hat es arg zu tun ist AdlibEnable sicher die beste Lösung, ansonsten läßt sich die Abfrage sicher in das vorhandene Skript einbauen.
Womit wir bei dem leidigen Problem sind: zu wenig Info's
Nicht nur das Problem schildern, sondern auch das Umfeld - und wenn wir wissen um was es geht, können wir gezielter helfen. (Unsere Kristallkugeln sind schon ziemlich abgenutzt
) -
Oder so:
[autoit]Global $CheckStr = 'Jörg Müller'
[/autoit]
Global $oUml = ObjCreate("Scripting.Dictionary")
$oUml.Add('ä', 'ae')
$oUml.Add('Ä', 'Ae')
$oUml.Add('ö', 'oe')
$oUml.Add('Ö', 'Oe')
$oUml.Add('ü', 'ue')
$oUml.Add('Ü', 'Ue')
$oUml.Add('ß', 'ss')
$colKeys = $oUml.Keys
For $strKey In $colKeys
If StringInStr($CheckStr, $strKey, 1) Then $CheckStr = StringReplace($CheckStr, $strKey, $oUml.Item($strKey))
Next
ConsoleWrite($CheckStr & @CRLF) -
Ich finde immer den Tabellenvergleich recht verständlich:
1D-Array - Ein Blatt Papier mit einer einspaltigen Tabelle
2D-Array - Ein Blatt Papier mit einer mehrspaltigen Tabelle
3D-Array - Mehrere übereinanderliegende Blatt Papier mit jeweils einer mehrspaltigen TabelleWobei der Rubik's Würfel schon ideal ist um diese Vorstellung auch plastisch zu bekommen.
Mit dem Unterschied allerdings, dass die Anzahl der Elemente in den einzelnen Dimensionen nicht symmetrisch sein muß. -
OK, ich sehe es funktioniert - aber es erschließt sich mir nicht (vllt. auch zu spät heut).
Also erst mal drüber schlafen. -
Hast du auch Opt('GUIOnEventMode', 1) gesetzt?
Ich hab mal in das Sortierbsp. zwei Kontextmenüs eingebaut. Funzt tadellos.
Spoiler anzeigen
[autoit]#include <GuiConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiListView.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt('MustDeclareVars', 1)Global $hListView, $B_DESCENDING, $hListView1, $A_DESCENDING, $conmnu1, $conmnu2
[/autoit] [autoit][/autoit] [autoit]
GUICreate("ListView SimpleSort", 400, 600)
GUISetOnEvent($GUI_EVENT_CLOSE, '_close')
$hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
$conmnu1 = GUICtrlCreateContextMenu($hListView)
GUICtrlCreateMenuItem('Item1', $conmnu1)
GUICtrlSetOnEvent(-1, '_I1_1')
GUICtrlCreateMenuItem('Item2', $conmnu1)
GUICtrlSetOnEvent(-1, '_I1_2')
GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
GUICtrlCreateListViewItem("line4|5|more_a", $hListView)
GUICtrlCreateListViewItem("line5|4.50 |more_c", $hListView)
GUICtrlCreateListViewItem("line5|4.0 |more_c", $hListView)
GUICtrlCreateListViewItem("line3|23|more_e", $hListView)
GUICtrlCreateListViewItem("line2|0.34560 |more_d", $hListView)
GUICtrlCreateListViewItem("line1|1.0 |more_b", $hListView)
GUICtrlCreateListViewItem("line1|0.1 |more_b", $hListView)
GUICtrlCreateListViewItem("line1|10|more_b", $hListView)
_GUICtrlListView_SetColumnWidth($hListView, 0, 75)
_GUICtrlListView_SetColumnWidth($hListView, 1, 75)
_GUICtrlListView_SetColumnWidth($hListView, 2, 75)
$hListView1 = GUICtrlCreateListView("col1|col2|col3", 2, 300, 394, 268)
$conmnu2 = GUICtrlCreateContextMenu($hListView1)
GUICtrlCreateMenuItem('Item1', $conmnu2)
GUICtrlSetOnEvent(-1, '_I2_1')
GUICtrlCreateMenuItem('Item2', $conmnu2)
GUICtrlSetOnEvent(-1, '_I2_2')
GUICtrlSendMsg($hListView1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
GUICtrlSendMsg($hListView1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
GUICtrlCreateListViewItem("line1|X|more_T", $hListView1)
GUICtrlCreateListViewItem("line2|Z|more_S", $hListView1)
GUICtrlCreateListViewItem("line3|A|more_P", $hListView1)
_GUICtrlListView_SetColumnWidth($hListView1, 0, 75)
_GUICtrlListView_SetColumnWidth($hListView1, 1, 75)
_GUICtrlListView_SetColumnWidth($hListView1, 2, 75)
GUISetState()GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]
Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)]
Global $A_DESCENDING[_GUICtrlListView_GetColumnCount($hListView1)]While True
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _I1_1()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, '', 'I1-1')
EndFuncFunc _I1_2()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, '', 'I1-2')
EndFuncFunc _I2_1()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, '', 'I2-1')
EndFuncFunc _I2_2()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, '', 'I2-2')
EndFuncFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $hWndListView1, $tInfo
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$hWndListView1 = $hListView1
If Not IsHWnd($hListView1) Then $hWndListView1 = GUICtrlGetHandle($hListView1)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
If ($hWndFrom = $hWndListView) And ($iCode = $LVN_COLUMNCLICK) Then
$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
_GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
ElseIf ($hWndFrom = $hWndListView1) And ($iCode = $LVN_COLUMNCLICK) Then
$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
_GUICtrlListView_SimpleSort($hWndListView1, $A_DESCENDING, DllStructGetData($tInfo, "SubItem"))
EndIf
EndFunc ;==>WM_NOTIFY -
Hast du mal Debugging in den Funcs gemacht, also einfach 'ne MsgBox in die erste Zeile, um zu sehen ob auf das Event regaiert wird?
-
$ContextMenu = GUICtrlCreateContextMenu($ListView1)
$Rename_Window = GUICtrlCreateMenuItem("Rename Window", $ListView1)
GUICtrlSetOnEvent(-1, "_Rename_Window")
$Set_Trans = GUICtrlCreateMenuItem("Set Transparency", $ListView1)
GUICtrlSetOnEvent(-1, "_Set_Trans")
$Set_OnTop = GUICtrlCreateMenuItem("On Top", $ListView1)
GUICtrlSetOnEvent(-1, "_Set_OnTop")Das paßt aber gar nicht zueinander.