Da brauchst du wohl
[autoit]FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name" [, hwnd]]] )
[/autoit]Da brauchst du wohl
[autoit]FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name" [, hwnd]]] )
[/autoit]Hi,
ich habe bei nem Kunden ein seltsames Problem.
PC: 3,6 GHz, 1 GB RAM, 2 x 80 GB HD, Windows 2000
Sollstatus:
Eine Anwendersoftware zeichnet synchron zu anderen Daten Video auf (AVI-File). Wenn die erfaßten Daten angezeigt werden (30 s - Intervalle) wird der zugehörige Videoabschnitt mit "mplayer2.exe" wiedergegeben.
Iststatus:
Wenn das Videofenster eingeblendet wird, schmiert die Software ab mit Verweis auf Lesefehler in Adresse XYZ.
Habe dann auf Explorerebene versucht die AVI-Datei zu öffnen - aber bereits beim einfachen Mausklick auf die Datei erhalte ich sofort eine Fehlermeldung:
"explorer.exe hat Fehler verursacht und wird geschlossen. Starten Sie das Programm neu."
Danach habe ich den MPlayer geöffnet und mit "Datei öffnen" die AVI-Datei gestartet - läuft tadellos.
Auch noch getestet in cmd-LIne: "Pfad\xyz.avi" - und startet mplayer, Datei wird abgespielt.
Da es ein Kunden-PC ist, möchte ich vor Ort nicht ewig rumdoktorn. Für mich sieht das nach einem Fehler in der "explorer.exe" aus.
Was meint ihr?
Und kann ich ohne weiteres die "explorer.exe" löschen (natürlich im Reparaturmodus
)?
Wird sie beim Neustart von allein wiederhergestellt aus dem Systemabbild oder muß ich sie von externer Quelle dann wieder ins System kopieren?
Änderungen (s. Post 1)
- Erweiterte Option für Stringrückgabe: Trennzeichen festlegbar
- Warnmeldung wegen Variablendeklaration eliminiert
Hier mal eine modifizierte Form der "WM_NOTIFY".
Alle notwendigen Infos bekommst du als Array aus der jeweiligen Funktion zurückgegeben und kannst diese auswerten.
Hier im Bsp. wird dir bei Mausklick auf ein ListView-Element der Text dieses Elements (also z.B. aus Spalte2, Zeile5) wiedergegeben.
Kannst du dann ja beliebig weiterverarbeiten.
Aber Frage am Rande: Warum verwendest du keine Datenbank für Adressbücher? SQLite bietet sich da an und hat gute AutoIt-Unterstützung.
#include<GUIConstantsEx.au3>
#include<WindowsConstants.au3>
#include <GUIListView.au3>
$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
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Do
$msg = GUIGetMsg()
Until $msg = $GUI_EVENT_CLOSE
Func _LeftClick($Info)
MsgBox(0, 'Text in Spalte', _GUICtrlListView_GetItemText($Info[1], $Info[3], $Info[4]) )
EndFunc
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $LVN_COLUMNCLICK ; A column was clicked
Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
Local $aInfo[11] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "Param")]
;~ _ColumnClick($aInfo)
Case $LVN_DELETEITEM ; An item is about to be deleted
Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
Local $aInfo[11] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "Param")]
;~ _ItemDeleted($aInfo)
Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
Local $aInfo[11] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "Param")]
Return 0 ; allow the list view to perform its normal track select processing.
;Return 1 ; the item will not be selected.
;~ _HottTrackItem($aInfo)
Case $LVN_KEYDOWN ; A key has been pressed
Local $tInfo = DllStructCreate($tagNMLVKEYDOWN, $ilParam)
Local $aInfo[5] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "VKey"), _
DllStructGetData($tInfo, "KeyFlags")]
;~ _KeyDown($aInfo)
Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[12] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "lParam"), _
DllStructGetData($tInfo, "KeyFlags")]
_LeftClick($aInfo)
Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[12] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "lParam"), _
DllStructGetData($tInfo, "KeyFlags")]
;~ _LeftDblClick($aInfo)
Case $NM_KILLFOCUS ; The control has lost the input focus
Local $aInfo[3] = [$hWndFrom, _
$iIDFrom, _
$iCode]
;~ _LostFocus($aInfo)
Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[12] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "lParam"), _
DllStructGetData($tInfo, "KeyFlags")]
; Return 1 ; not to allow the default processing
Return 0 ; allow the default processing
;~ _RightClick($aInfo)
Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[12] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "lParam"), _
DllStructGetData($tInfo, "KeyFlags")]
;~ _RightDblClick($aInfo)
Case $NM_RETURN ; The control has the input focus and that the user has pressed the ENTER key
Local $aInfo[3] = [$hWndFrom, _
$iIDFrom, _
$iCode]
;~ _InputFocusReturn($aInfo)
Case $NM_SETFOCUS ; The control has received the input focus
Local $aInfo[3] = [$hWndFrom, _
$iIDFrom, _
$iCode]
;~ _SetFocus($aInfo)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Autsch, was 'n Patzer
Danke Oscar für die Korrektur. Werde es im ersten Post gleich mal anpassen.
Wenn du in einem Chat einen Bot verwenden willst, mußt du den Datenstream des Chats auslesen und verwerten.
Entweder greifst du direkt per TCP auf die Daten zu oder nimmst den Umweg über die GUI des Chatprogramms und liest dort Userliste und geschriebene Texte aus. Alles andere macht wenig Sinn, weil dir der aktuelle Bezug zum Chat fehlt.
Falls es für einen IRC-Chat sein soll, schau dir mal meinen Basis-Client an.
Basis-Client für IRC-Chat
Ich glaube du hast meinen Gucki im IRC schon kennengelernt ![]()
Ich habe einfach nach Kategorien geordnet:
- User joined
- User ändert Nick
- User verläßt Channel
- User macht eine Aktion (also /me ... )
Dann noch diverse Stichwörter, auf die der Bot reagiert und auch den Namen des Aufrufenden verwendet. Dazu sind einige Varianten hinterlegt, die zufällig, aber nie mehrfach hintereinander ausgewählt werden.
NB: Was du hast ist aber bis jetzt nicht mal der Anfang für nen Bot, wo ist denn die Anbindung an den TCP-Port?
Oder willst du 'ne Oberfläche auf der du mit dir selbst sprichst ?
Du meinest sicher FileInstall() ![]()
Ist Hilfe lesen soo schwer ?
Steht doch alles da, mußt nur mal die anderen Funktionen zu IE auch anschauen!
#include <IE.au3>
$i = 1
$oIE = _IECreate ("autoit.de", 0, 0)
$oLinks = _IELinkGetCollection ($oIE)
$iNumLinks = @extended
MsgBox(0, "Link Info", $iNumLinks & " links found")
For $oLink In $oLinks
ConsoleWrite("Link " & $i & @TAB & $oLink.href & @CRLF)
$i += 1
Next
_IEQuit($oIE)
z.B. IE-Funktionen verwenden?
Links mit _IELinkGetCollection abfragen, näheres in der Hilfe.
Der einfachste Weg, um den Status zu zeigen, dürfte Tooltip sein:
[autoit]ToolTip("Kopiervorgang << In Arbeit >>")
DirMove($Datenaustausch, $Datenaustausch2, 1)
ToolTip("Kopiervorgang << Beendet >>")
Sleep(2000)
ToolTip("")
Denn eigentlich ist es doch nicht zwingend notwendig eine Progressanzeige zu haben. DirMove bietet dir auch keine Möglichkeit, den Fortschrittszustand abzufragen.
Übrigens: "Call" ist ganz grausam
Verwende doch statt Call("_copy") gleich den Aufruf _copy()
Das sagt dir die Hilfe zu INIReadSection: Returns a 2 dimensional array where element[n][0] is the key and element[n][1] is the value.
Hi,
beim Skriptschreiben geht es mir immer so, dass ich mit einem Grundgerüst anfange und es dann nach und nach immer mehr wird ![]()
Somit ist es oft nicht richtig überschaubar, ob ich die erforderlichen Variablen deklariert habe (was ich versuche immer zu machen).
Ich habe jetzt ein Skript geschrieben, dass alle Skriptvariablen, die keine Funktionsparameter oder Lokale Funktionsvariablen sind und nicht zu den AutoIt-Konstanten gehören, als Globale Variablen deklariert werden.
Variablen in Kommentarzeilen oder -blöcken werden ignoriert.
Es werden wahlweise die Beta- oder Prod-Definitionen herangezogen.
Bestehende Deklarationen (Dim / Global) bleiben erhalten.
Es wird nach den Includes und Opt (sofern vorhanden) "Opt("MustDeclareVars", 1)" eingefügt und anschließend werden alle gefundenen, bisher nicht deklarierten Variablen als Global eingeschrieben.
Das Skript ist somit eine Hilfe um im Nachgang, ohne selbst suchen zu müssen, noch fehlende Variablen zu deklarieren.
Edit: Zählervariablen in For-Schleifen sind zwar von Haus aus Lokale Variablen - aber eine Globale Deklaration schadet nicht
und der Aufwand um diese nicht zu deklarieren, wäre extrem hoch - deshalb sind sie hier mit vorhanden.
Edit 13.09.2008
Einen Fehler in der Konstantenermittlung korrigiert.
; Version 3.2.12.0
#include<ProgressConstants.au3>
#include<StaticConstants.au3>
#include<EditConstants.au3>
#include<GUIConstantsEx.au3>
#include<WindowsConstants.au3>
#include<File.au3>
Opt("GUIOnEventMode", 1)
Opt("MustDeclareVars", 1)
Global $Skript, $Form1, $Group1, $Input1, $Button1, $Button2, $check, $checked = False, $step, $prog_val = 0, $progress, $lbl
$Form1 = GUICreate('Declare Vars, Opt("MustDeclareVars", 1)', 634, 125, -1, 120)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$Group1 = GUICtrlCreateGroup(" au3 - File ", 8, 16, 617, 57)
$Input1 = GUICtrlCreateInput("", 24, 38, 393, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$Button1 = GUICtrlCreateButton("Choose", 429, 38, 85, 21, 0)
GUICtrlSetOnEvent(-1, "Button1Click")
$Button2 = GUICtrlCreateButton("Start", 527, 38, 85, 21, 0)
GUICtrlSetOnEvent(-1, "Button2Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$check = GUICtrlCreateCheckbox('Script uses Beta', 8, 76, 150)
GUICtrlSetOnEvent(-1, 'checkClicked')
$lbl = GUICtrlCreateLabel('', 287, 79, 60, 17, $SS_CENTER)
$progress = GUICtrlCreateProgress(7, 98, 620, 20, $PBS_SMOOTH)
GUISetState(@SW_SHOW)
While 1
Sleep(100)
WEnd
Func Button1Click()
GUICtrlSetData($progress, 0)
GUICtrlSetData($lbl, '')
$prog_val = 0
$Skript = FileOpenDialog('Choose an au3-File', @MyDocumentsDir, '(*.au3)')
If $Skript = '' Then Return
GUICtrlSetData($Input1, $Skript)
EndFunc
Func Button2Click()
GUICtrlSetData($progress, 0)
GUICtrlSetData($lbl, '')
$prog_val = 0
If $Skript = '' Then Return
If _SetVarsDeclared($Skript, $checked) = 0 Then
WinSetTitle($Form1, '', ' << Variables successful declared. >>')
Else
WinSetTitle($Form1, '', ' << All variables already declared! >>')
EndIf
EndFunc
Func checkClicked()
If BitAND(GUICtrlRead($check), $GUI_CHECKED) Then
$checked = True
Else
$checked = False
EndIf
EndFunc
Func Form1Close()
Exit
EndFunc
Func _SetVarsDeclared($FILE, $BETA=False)
Local $oVars = ObjCreate('System.Collections.ArrayList')
Local $oFuncVars = ObjCreate('System.Collections.ArrayList')
Local $oConst = ObjCreate('System.Collections.ArrayList')
Local $oDeclared = ObjCreate('System.Collections.ArrayList')
Local $skip = False, $PathInclude, $1stChar, $inFunc = False, $aFile, $aMatch, $var, $strKey, $lastInclude = 1
Local $str0 = 'Opt("MustDeclareVars", 1)', $str1 = 'Global ', $sLen, $len = 130, $tmp, $keys, $lastOpt = 1, $declare = 0
If $BETA Then
$PathInclude = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'betaInstallDir') & '\Include\'
Else
$PathInclude = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\Include\'
EndIf
Local $aConst_au3 = _FileListToArray($PathInclude, '*.au3', 1)
$step = 33/UBound($aConst_au3)
For $i = 1 To UBound($aConst_au3) -1
$prog_val += $step
GUICtrlSetData($progress, Int($prog_val))
GUICtrlSetData($lbl, StringFormat('%3.2f', $prog_val) & '%')
If Not StringInStr($aConst_au3[$i], 'constants') Then ContinueLoop
_FileReadToArray($PathInclude & $aConst_au3[$i], $aFile)
For $k = 1 To UBound($aFile) -1
$aMatch = StringRegExp($aFile[$k], '\$[\d\w]+', 3)
If Not IsArray($aMatch) Then ContinueLoop
For $l = 0 To UBound($aMatch) -1
If Not $oConst.Contains($aMatch[$l]) Then $oConst.Add($aMatch[$l])
Next
Next
Next
GUICtrlSetData($progress, 33)
GUICtrlSetData($lbl, '33.00%')
_FileReadToArray($FILE, $aFile)
$tmp = FileRead($FILE)
Local $pos_incl, $pos_opt, $before_str
If (StringInStr($tmp, '#include')) Or (StringInStr($tmp, 'Opt')) Then
For $i = 1 To UBound($aFile) -1
$1stChar = StringLeft(StringStripWS($aFile[$i],1), 1)
If ($1stChar <> ';') And (StringInStr($aFile[$i], '#cs') Or StringInStr($aFile[$i], '#comments-start')) Then $skip = True
If ($1stChar <> ';') And (StringInStr($aFile[$i], '#ce') Or StringInStr($aFile[$i], '#comments-end')) Then $skip = False
If $skip Then ContinueLoop
If StringRegExp($aFile[$i], "(?i)#include") Then
$pos_incl = StringInStr($aFile[$i], '#include')
If $pos_incl > 1 Then
$before_str = StringLeft($aFile[$i], $pos_incl-1) ; maybe quoted - don't use then
If StringInStr($before_str, '"') Or StringInStr($before_str, "'") Then ContinueLoop
EndIf
$lastInclude = $i
ElseIf StringRegExp($aFile[$i], "(?i)opt") Then
$pos_opt = StringInStr($aFile[$i], 'opt')
If $pos_opt > 1 Then
$before_str = StringLeft($aFile[$i], $pos_opt-1) ; maybe quoted - don't use then
If StringInStr($before_str, '"') Or StringInStr($before_str, "'") Then ContinueLoop
EndIf
$lastOpt = $i
EndIf
Next
If $lastOpt > $lastInclude Then $lastInclude = $lastOpt
EndIf
$step = 67/UBound($aFile)
For $i = 1 To UBound($aFile) -1
$prog_val += $step
GUICtrlSetData($progress, Int($prog_val))
GUICtrlSetData($lbl, StringFormat('%3.2f', $prog_val) & '%')
$1stChar = StringLeft(StringStripWS($aFile[$i],1), 1)
If $1stChar = ';' Then ContinueLoop
If StringInStr($aFile[$i], 'Dim') Or StringInStr($aFile[$i], 'Global') Then
$aMatch = StringRegExp($aFile[$i], '\$[\d\w]+', 3)
If Not IsArray($aMatch) Then ContinueLoop
For $k = 0 To UBound($aMatch) -1
If Not $oDeclared.Contains($aMatch[$k]) Then $oDeclared.Add($aMatch[$k])
Next
ContinueLoop
EndIf
If StringInStr($aFile[$i], '#cs') Or StringInStr($aFile[$i], '#comments-start') Then $skip = True
If StringInStr($aFile[$i], '#ce') Or StringInStr($aFile[$i], '#comments-end') Then $skip = False
If $skip Or ($1stChar = '#') Then ContinueLoop
If StringLeft(StringStripWS($aFile[$i],1),4) = 'Func' Then
$inFunc = True
If $oFuncVars.Count > 0 Then $oFuncVars.Clear
$aMatch = StringRegExp($aFile[$i], '\$[\d\w]+', 3)
If Not IsArray($aMatch) Then ContinueLoop
For $k = 0 To UBound($aMatch) -1
If Not $oFuncVars.Contains($aMatch[$k]) Then $oFuncVars.Add($aMatch[$k])
Next
ContinueLoop
EndIf
If $inFunc And (StringLeft(StringStripWS($aFile[$i],1),7) = 'EndFunc') Then $inFunc = False
$aMatch = StringRegExp($aFile[$i], '\$[\d\w]+', 3)
If Not IsArray($aMatch) Then ContinueLoop
If $inFunc And StringInStr($aFile[$i], 'Local') Then
For $k = 0 To UBound($aMatch) -1
$oFuncVars.Add($aMatch[$k])
Next
ContinueLoop
EndIf
For $k = 0 To UBound($aMatch) -1
If (Not $oVars.Contains($aMatch[$k])) And _
(Not $oFuncVars.Contains($aMatch[$k])) Then $oVars.Add($aMatch[$k])
Next
Next
GUICtrlSetData($progress, 98)
GUICtrlSetData($lbl, '98.00%')
For $strKey In $oConst
If $oVars.Contains($strKey) Then $oVars.Remove($strKey)
Next
For $strKey In $oDeclared
If $oVars.Contains($strKey) Then $oVars.Remove($strKey)
Next
$oVars.Sort
If $oVars.Count > 0 Then
For $strKey In $oVars
$sLen = StringLen($str1 & $strKey & ', ')
If $sLen < $len Then
$str1 &= $strKey & ', '
Else
$str1 = StringTrimRight($str1, 2) & @LF & 'Global '
$len += 130
EndIf
Next
If StringRight($str1, 2) = ', ' Then $str1 = StringTrimRight($str1, 2)
If StringRight($str1, 7) = 'Global ' Then $str1 = StringTrimRight($str1, 7)
If $declare = 0 Then
_FileWriteToLine($FILE, $lastInclude +1, $str0 & @CRLF & $str1)
Else
_FileWriteToLine($FILE, $declare, $str0, 1)
_FileWriteToLine($FILE, $lastInclude +1, $str1)
EndIf
GUICtrlSetData($progress, 100)
GUICtrlSetData($lbl, '100.00%')
Return 0
Else
GUICtrlSetData($progress, 100)
GUICtrlSetData($lbl, '100.00%')
Return -1
EndIf
EndFunc ;==> _SetVarsDeclared
Dann möchte ich nicht versäumen K-Meleon zu erwähnen, den schnellsten Browser des Universums ![]()
Seit ich den habe, habe ich den Fuchs links liegen lassen. Ich kenne auch keinen andren Browser, der soviel Konfigurationsmöglichkeiten bietet.
Nutzt die dieselbe (Gecko) Engine, wie FF und ist trotzdem spürbar schneller. ![]()
[autoit]Wie kann ich den TEXT ändern in dem Fenster??? geht das überhaupt?
ControlSetText( "title", "text", controlID, "new text" [, flag] )
[/autoit]1. einfach nichts machen
2. genau ![]()
Hi Lina,
1. es sind keine Fehlermeldungen, sondern Warnungen, die du ignorieren kannst
2. in dem Bsp. leite ich die Ausgabe auf Console, du kannst aber geanausogut das Funktionsergebnis direkt in eine Datei schreiben
So Lina,
dir zur Freude, habe ich jetzt in die Funktion eine Option zur Rückgabe als Array (Standard) oder als @LF-getrennten String eingebaut. s. ersten Beitrag. ![]()
[OT]
Doppelpost, damit es in den News erscheint. ( klappt bei Edits leider nicht
)
[/OT]
Wenn du im OnEvent-Mode arbeitest, kannst du dir viel Schreibarbeit sparen, indem du die Aktionen beim Anklicken mit in das Array der Pic-ID schreibst und beim Anklicken per Execute ausführst.
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $n = -1, $aFeld[100][2]
$aFeld[0][1] = 'MsgBox(0,"", "Hallo, das ist Pic1")'
$aFeld[1][1] = 'MsgBox(0,"", "Hallo, das ist Pic2")'
$aFeld[2][1] = 'MsgBox(0,"", "Hallo, das ist Pic3")'
For $s = 0 To 9
For $i = 0 To 9
$n += 1
$aFeld[$n][0] = GUICtrlCreatePic("images\buttonchose.gif", 31 + $i * 20 + $i, 146 + $s * 20 + $s, 20, 20, 0)
GUICtrlSetOnEvent(-1, 'Pic_click')
Next
Next
Func Pic_click()
For $i = 0 To UBound($aFeld) -1
If $aFeld[$n][0] = @GUI_CtrlId Then Return Execute($aFeld[$n][1])
Next
EndFunc
[OT]
Seid wann ist Vista denn eine Windows-Version
50% Umsatzeinbruch für DELL und HP bei Auslieferung von PC mit Vista und als Folge jetzt immer die Möglichkeit des Downgrades auf ein funktionierendes Windows XP. Das sagt mehr als tausend Worte. ![]()
[/OT]