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

  • Anfänger Fragen =)

    • autoBert
    • 15. April 2016 um 13:22

    Zur Kommunikation mit Siemenssteuerungen solltest du dir:

    • LibNoDave-UDF zur Kommunikation mit Simatic SPS
    • Step7 No-Know-How

    von @funkey anschauen. Seit @funkey Vater ist, ist er nur noch selten hier online, bin mir aber sicher wenn du zu einem seiner Themen spezielle Fragen hast, wird er früher (so er EMail-Benachrichtung eingeschaltet hat) oder später antworten.

  • ISN AutoIt Studio

    • autoBert
    • 15. April 2016 um 13:03

    Wollte deinen Updater gerade loben, schien problemlos durchzulaufen doch nach 88%:54_ISN AutoIt Studio - Update.jpg
    passierte mir mit FF bei Downloads von deiner Seite auch immer, aber was solls spätestens am 14.05. kann ich es problemlos ziehen. Ich hoffe, daß damit die Bug's die ich nach Änderung der Schrift und deren Größe hatte dann erledigt sind. Im Moment zoome ich die Schriftgröße im Editor wieder per MousePadgesten. Wenn ich es über dein Einstellungen mache wirkt sich dies auch auf andere Fenster aus.

    Was ich bisjetzt gesehen habe sieht gut aus so daß ich es evtl. weiter benutze, besonders der Scriptbaum gefällt mir. Eigentlich wollte ich nur checken, ob der DAU oder ISN Schuld ist an Func in Func, es ist der DAU wie schon erwartet.

  • ISN AutoIt Studio

    • autoBert
    • 15. April 2016 um 10:38

    Ja, ich habe es in Programme installieren wollen. Versuche es jetzt mit dem Installer in c:\ISN AutoIt Studio hat geklappt. Wie groß ist denn das Update?

    Edit: Habe gleich eine Frage, lassen sich die Farben individuell einstellen? Der Kontrast bei weißem Hintergrund geht etwas arg auf meine alte Augen.

  • ISN AutoIt Studio

    • autoBert
    • 15. April 2016 um 09:48

    Ist mit den diversen BugFixes auch die scheiternde Installation behoben? Ich habe gestern (neuer Nutzungszeitraum = HighSpeed surfen) 20% meines Volumens für nichts geopfert. Sowohl beim Installer als auch mit dem Zipfile lande ich in einer Installationschleife. Ich will Portable Installation installieren, habe alles durchgeklickt, nach der 'Viel Spaß...'-Meldung. startet aber wieder die Sprchauswahl.

    Nächsten Versuch kann ich zwar erst am 14. Mai wieder starten (Highspeedvolumen verbraucht) will es dann aber nicht wieder unnütz opfern. Ohne schlägt der Download leider immer fehl.

  • Dienst löschen klappt unter Win 10 nicht mehr

    • autoBert
    • 13. April 2016 um 20:25

    Diesem Post: https://www.autoitscript.com/forum/topic/181840-stop-a-service-require-an-answer/?do=findComment&comment=1305905 entnehme ich, daß es über die Kommandozeile funktioniert.

  • Mehrere Text-Dateien lesen, einen variablen Text suchen und diesen verändern

    • autoBert
    • 13. April 2016 um 18:10

    Sollte doch nur ein Witz sein, der Avatar ist nach einem Foto eines realen (aus dem INet gezogenen) Autos durch Bildbearbeitung entstanden.
    Wenn du etwas mehr lachen willst schau in mein Profil. Gilt natürlich nur für Anfragen per PN.

  • Normalverteilung mit Random

    • autoBert
    • 13. April 2016 um 13:55

    Nice, aber Traue keiner Statistik Normalverteilung, wenn du sie nicht selbst gefakt hast.

  • for schleife arraydelete

    • autoBert
    • 13. April 2016 um 13:34

    na ja solange du nicht selbst auf dem Ast sitzt kannst du ja daran sägen und dich wundern warum es nicht klappt.
    Schlimmer wäre es so:
    Ast.gif

    Spoiler anzeigen
    Zitat

    Ich habe aber keine Einwände dagegen, wenn man sich einzelne Grafiken auf dem eigenen Rechner abspeichert und verwendet, ohne den Copyright - Hinweis zu entfernen.

  • Mehrere Text-Dateien lesen, einen variablen Text suchen und diesen verändern

    • autoBert
    • 13. April 2016 um 08:55
    Zitat von julia.hami

    Tur mir Leid, dass ich deine Zeit verschwende - ich verstehe es einfach nicht.
    Ich hab jetzt alles ausprobiert, die Hilfe gelesen, aber ich verstehe die Terminologie einfach nicht; begreife noch nicht Mal zu 100%, was welcher Befehl tatsächlich macht.

    mit etwas Übung könnte gelingen, außerdem scheint mir du bist von der Mächtigkeit der StringRegExpReplace-Funktion überfordert.

    Zitat von julia.hami

    Jetzt verstehe ich auch, warum ihr Programmierer so gut bezahlt werdet.

    :D bei mir hat der letzte Job zu einem schicken Avatar gereicht :D

    Vielleicht ist @Kanashius ja auch mit einem :cookie oder :theke: zufrieden? Muß ja nicht jeder so ein schickes Auto haben
    :D

  • (Standard)FensterGrösse des _ArrayDisplay Fenster beeinflussen (MyArrayDisplay - von AutoBert)

    • autoBert
    • 12. April 2016 um 10:57
    Zitat von ugt100

    das ging jetzt aber fix. Hat es Dich nicht in Ruhe gelassen ?

    wenn ich am Samstag nicht etwas vorgehabt hätte, wäre es sicher noch am Samstag erledigt gewesen. War im Endeffekt nur eine Zeile einfügen, zuvor hatte ich eine vorsichtshalber geändert. Da die Änderung keinen Erfolg hatte, habe ich zur Ursachesuche diese 1 Zeile eingesetzt und eine MsgBox dahinter. Die Anzeige vor der MsgBox lieferte das erwartete Ergebnis und auch das danach erfolgende Resizing funktionierte noch. Jetzt mußte ich nur noch die MsgBox entfernen und den Parameter von GuiSetState abändern, damit das nervige Anzeigeverhalten bei der Erstellung weg war und fertig.


    Zitat von ugt100

    P.S. Deine Ideen in Sachen ArrrayDisplay sind gut - und nice to have. Erinnert dann ja fast an eine Excel Tabelle.
    Aber sicherlich muss man abschätzen wie Aufwand zu Ertrag steht ..

    Nein, ich will das SpreadSheet nicht neu erfinden, Formeln kommen mit Sicherheit keine. Der Aufwand hält sich in Grenzen, ist ja schon für andere eigene Projekte teilweise vorhanden. Also Copy&Paste danach Search&Replace, dann noch vervollständigen. Da ich nur Zeilenweise Einfärben bzw. Tooltip anzeigen lassen will ist es einfach und dürfte auch noch performat genug sein. Das dies auch für einzelne Zellen möglich ist weiß ich, befürchte aber einerseits Performanceverlust und für ein einfaches Debug-/Anzeigetool übertrieben.

    Gruß (auto)Bert

  • Problem Fensterinhalt Scrollbar...

    • autoBert
    • 11. April 2016 um 20:28

    Schau dir das Besipspiel-Skript zu _GUIScrollBars_Init an.

  • Externe Programmparameter auslesen

    • autoBert
    • 11. April 2016 um 19:50

    Im Entwicklerforum gibt's eine Chrome UDF, die sollte dies doch können.

    Meineswissens wird mit STRG+F6 in allen Browsern die Url markiert, und an STRG+C hält sich doch wohl auch jeder. Ein anschließendes ClipGet holt sich dann die URL aus dem ClipBoard.

    Eine dauerhafte Lösung wäre natürlich besser also diese URL sperren.

    Was ich aber nicht verstehe: Wie jemand auf deinem Laptop überhaupt eine URL von anderen aufgerufen werden kann während du daran arbeitest? Einfach zu Beginn des Unterichts neustarten und bei evtl. Pausen sperren!

  • 2. Gui schließt nicht mit X

    • autoBert
    • 11. April 2016 um 17:53

    an den Schnipseln kann ich keine Ursache erkennen, habe den HotKeySet in Verdacht. Außerdem könntest du den Code nach Opt('GUICloseOnESC') durchsuchen und auf 1 setzen.
    Wenn du das ganze Skript postest bzw. per PN schickst, versuch ich mal den/die Bugs zu finden.

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • autoBert
    • 10. April 2016 um 16:44

    Falls diese AddOn nicht das hält was es verspricht:

    Zitat von JTL-Wawi

    Mit eazyAuction wird das Handeln auf Amazon und eBay direkt aus unserer Warenwirtschaft zum Kinderspiel.Angebotserstellung, -überwachung und -abwicklung werden direkt in JTL-Wawi bewerkstelligt. Mit Hilfe eines integrierten Hintergrunddienstes kann der Abgleich zu Ihren Marktplätzen komplett automatisiert durchgeführt werden. Dabei ist eazyAuction auf große Angebotsvolumen bestens vorbereitet.

    kann doch spätestens mit diesem Wissen:

    Zitat von JTL-Wawi

    Eingesetzt wird JTL-Wawi bereits von vielen Tausend kleinen und mittleren Unternehmen zwischen 1-100 Mitarbeitern und einem Sendungsaufkommen von bis zu 50.000 Sendungen im Monat. Dank neuster .Net Technologie sowie einer leistungsstarken Microsoft SQL Server Datenbank ist JTL-Wawi auf große Datenvolumina und gleichzeitige Nutzung beliebig vieler Ihrer Mitarbeiter bestens vorbereitet.

    und einer Analye von JTL-Wawi und deren eingestzten Module und des Datenbankdesigns zumindest ein Spezilist den Datenabgleich programmieren.

  • (Standard)FensterGrösse des _ArrayDisplay Fenster beeinflussen (MyArrayDisplay - von AutoBert)

    • autoBert
    • 10. April 2016 um 12:03

    Hier ist die aktualisierte _MyArrayDisplay:

    Spoiler anzeigen
    AutoIt
    #include-once
    #include <array.au3>
    #include <GuiListview.au3>
    Func _MyArrayDisplay(Const ByRef $avArray, $sTitle = "Array: ListView Display", $sCols = 0, $iItemLimit = -1, $iTranspose = 0, $sSeparator = "", $sReplace = "|", $sHeader = "")
    	;last changed autoBert 10.04.2016
    	If Not IsArray($avArray) Then Return SetError(1, 0, 0)
    	$aCols = StringSplit($sCols, "|")
    	; Dimension checking
    	Local $iDimension = UBound($avArray, 0), $iUBound = UBound($avArray, 1) - 1, $iSubMax = UBound($avArray, 2) - 1
    	If $iDimension > 2 Then Return SetError(2, 0, 0)
    
    
    	; Separator handling
    ;~     If $sSeparator = "" Then $sSeparator = Chr(1)
    	If $sSeparator = "" Then $sSeparator = Chr(124)
    
    
    	;  Check the separator to make sure it's not used literally in the array
    	If _ArraySearch($avArray, $sSeparator, 0, 0, 0, 1) <> -1 Then
    		For $x = 1 To 255
    			If $x >= 32 And $x <= 127 Then ContinueLoop
    			Local $sFind = _ArraySearch($avArray, Chr($x), 0, 0, 0, 1)
    			If $sFind = -1 Then
    				$sSeparator = Chr($x)
    				ExitLoop
    			EndIf
    		Next
    	EndIf
    
    
    	; Declare variables
    	Local $vTmp, $iBuffer = 64
    	Local $iColLimit = 250
    	Local $iOnEventMode = Opt("GUIOnEventMode", 0), $sDataSeparatorChar = Opt("GUIDataSeparatorChar", $sSeparator)
    
    
    	; Swap dimensions if transposing
    	If $iSubMax < 0 Then $iSubMax = 0
    	If $iTranspose Then
    		$vTmp = $iUBound
    		$iUBound = $iSubMax
    		$iSubMax = $vTmp
    	EndIf
    
    
    	; Set limits for dimensions
    	If $iSubMax > $iColLimit Then $iSubMax = $iColLimit
    	If $iItemLimit < 1 Then $iItemLimit = $iUBound
    	If $iUBound > $iItemLimit Then $iUBound = $iItemLimit
    
    
    	; Set header up
    	If $sHeader = "" Then
    		$sHeader = "Row  " ; blanks added to adjust column size for big number of rows
    		For $i = 0 To $iSubMax
    			$sHeader &= $sSeparator & "Col " & $i
    		Next
    	EndIf
    
    
    	; Convert array into text for listview
    	Local $avArrayText[$iUBound + 1]
    	For $i = 0 To $iUBound
    		$avArrayText[$i] = "[" & $i & "]"
    		For $j = 0 To $iSubMax
    			; Get current item
    			If $iDimension = 1 Then
    				If $iTranspose Then
    					$vTmp = $avArray[$j]
    				Else
    					$vTmp = $avArray[$i]
    				EndIf
    			Else
    				If $iTranspose Then
    					$vTmp = $avArray[$j][$i]
    				Else
    					$vTmp = $avArray[$i][$j]
    				EndIf
    			EndIf
    
    
    			; Add to text array
    			$vTmp = StringReplace($vTmp, $sSeparator, $sReplace, 0, 1)
    			$avArrayText[$i] &= $sSeparator & $vTmp
    
    
    			; Set max buffer size
    			$vTmp = StringLen($vTmp)
    			If $vTmp > $iBuffer Then $iBuffer = $vTmp
    		Next
    	Next
    	$iBuffer += 1
    
    
    	; GUI Constants
    	Local Const $_ARRAYCONSTANT_GUI_DOCKBORDERS = 0x66
    	Local Const $_ARRAYCONSTANT_GUI_DOCKBOTTOM = 0x40
    	Local Const $_ARRAYCONSTANT_GUI_DOCKHEIGHT = 0x0200
    	Local Const $_ARRAYCONSTANT_GUI_DOCKLEFT = 0x2
    	Local Const $_ARRAYCONSTANT_GUI_DOCKRIGHT = 0x4
    	Local Const $_ARRAYCONSTANT_GUI_EVENT_CLOSE = -3
    	Local Const $_ARRAYCONSTANT_LVIF_PARAM = 0x4
    	Local Const $_ARRAYCONSTANT_LVIF_TEXT = 0x1
    	Local Const $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH = (0x1000 + 29)
    	Local Const $_ARRAYCONSTANT_LVM_GETITEMCOUNT = (0x1000 + 4)
    	Local Const $_ARRAYCONSTANT_LVM_GETITEMSTATE = (0x1000 + 44)
    	Local Const $_ARRAYCONSTANT_LVM_INSERTITEMW = (0x1000 + 77)
    	Local Const $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE = (0x1000 + 54)
    	Local Const $_ARRAYCONSTANT_LVM_SETITEMW = (0x1000 + 76)
    	Local Const $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT = 0x20
    	Local Const $_ARRAYCONSTANT_LVS_EX_GRIDLINES = 0x1
    	Local Const $_ARRAYCONSTANT_LVS_SHOWSELALWAYS = 0x8
    	Local Const $_ARRAYCONSTANT_WS_EX_CLIENTEDGE = 0x0200
    	Local Const $_ARRAYCONSTANT_WS_MAXIMIZEBOX = 0x00010000
    	Local Const $_ARRAYCONSTANT_WS_MINIMIZEBOX = 0x00020000
    	Local Const $_ARRAYCONSTANT_WS_SIZEBOX = 0x00040000
    	Local Const $_ARRAYCONSTANT_tagLVITEM = "int Mask;int Item;int SubItem;int State;int StateMask;ptr Text;int TextMax;int Image;int Param;int Indent;int GroupID;int Columns;ptr pColumns"
    
    
    	Local $iAddMask = BitOR($_ARRAYCONSTANT_LVIF_TEXT, $_ARRAYCONSTANT_LVIF_PARAM)
    	Local $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]"), $pBuffer = DllStructGetPtr($tBuffer)
    	Local $tItem = DllStructCreate($_ARRAYCONSTANT_tagLVITEM), $pItem = DllStructGetPtr($tItem)
    	DllStructSetData($tItem, "Param", 0)
    	DllStructSetData($tItem, "Text", $pBuffer)
    	DllStructSetData($tItem, "TextMax", $iBuffer)
    
    
    	; Set interface up
    	Local $iWidth = 64, $iHeight = 480
    	Local $hGUI = GUICreate($sTitle, $iWidth, $iHeight, Default, Default, BitOR($_ARRAYCONSTANT_WS_SIZEBOX, $_ARRAYCONSTANT_WS_MINIMIZEBOX, $_ARRAYCONSTANT_WS_MAXIMIZEBOX))
    	Local $aiGUISize = WinGetClientSize($hGUI)
    	GUISetState(@SW_HIDE)
    	Local $hListView = GUICtrlCreateListView($sHeader, 0, 0, $aiGUISize[1] - 26, $iHeight - 48, $_ARRAYCONSTANT_LVS_SHOWSELALWAYS)
    	Local $hCopy = GUICtrlCreateButton("Copy Selected", 3, $aiGUISize[1] - 23, $aiGUISize[0] - 6, 20)
    	GUICtrlSetResizing($hListView, 102);$GUI_DOCKBORDERS
    	GUICtrlSetResizing($hCopy, $_ARRAYCONSTANT_GUI_DOCKLEFT + $_ARRAYCONSTANT_GUI_DOCKRIGHT + $_ARRAYCONSTANT_GUI_DOCKBOTTOM + $_ARRAYCONSTANT_GUI_DOCKHEIGHT)
    	GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_GRIDLINES, $_ARRAYCONSTANT_LVS_EX_GRIDLINES)
    	GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT)
    	GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE)
    
    
    	; Fill listview
    	Local $aItem
    	For $i = 0 To $iUBound
    		If GUICtrlCreateListViewItem($avArrayText[$i], $hListView) = 0 Then
    			; use GUICtrlSendMsg() to overcome AutoIt limitation
    			$aItem = StringSplit($avArrayText[$i], $sSeparator)
    			DllStructSetData($tBuffer, "Text", $aItem[1])
    
    
    			; Add listview item
    			DllStructSetData($tItem, "Item", $i)
    			DllStructSetData($tItem, "SubItem", 0)
    			DllStructSetData($tItem, "Mask", $iAddMask)
    			GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_INSERTITEMW, 0, $pItem)
    
    
    			; Set listview subitem text
    			DllStructSetData($tItem, "Mask", $_ARRAYCONSTANT_LVIF_TEXT)
    			For $j = 2 To $aItem[0]
    				DllStructSetData($tBuffer, "Text", $aItem[$j])
    				DllStructSetData($tItem, "SubItem", $j - 1)
    				GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETITEMW, 0, $pItem)
    			Next
    		EndIf
    	Next
    	;************************************************************************************
    	$iWidth = _GUICtrlListView_GetColumnWidth($hListView,0)
    	$iColCount = _GUICtrlListView_GetColumnCount($hListView)
    	;ConsoleWrite($aCols)
    	For $i = 1 To $iColCount - 1
    		If IsArray($aCols) Then
    			_GUICtrlListView_SetColumnWidth($hListView, $i, Number($aCols[$i]))
    			ConsoleWrite($i & ": " & $aCols[$i]&@CRLF)
    			If $aCols[$i] = -1 Then
    				;ConsoleWrite(" AutoSize")
    				_GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE)
    			EndIf
    		EndIf
    		$iWidth += _GUICtrlListView_GetColumnWidth($hListView,$i)
    		ConsoleWrite('With: ' &$iWidth&@CRLF)
    	Next
    	;************************************************************************************
    
    
    	#cs
    	; adjust window width
    	$iWidth = 0
    	For $i = 0 To $iSubMax + 1
    		$iWidth += GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH, $i, 0)
    	Next
    	#ce
    
    
    	If $iWidth < 250 Then $iWidth = 230
    	$iWidth += 20
    
    
    	If $iWidth > @DesktopWidth Then $iWidth = @DesktopWidth - 100
    
    
    	WinMove($hGUI, "", (@DesktopWidth - $iWidth) / 2, Default, $iWidth)
    
    
    	; Show dialog
    	GUISetState(@SW_SHOW, $hGUI)
    
    
    	While 1
    		Switch GUIGetMsg()
    			Case $_ARRAYCONSTANT_GUI_EVENT_CLOSE
    				ExitLoop
    
    
    			Case $hCopy
    				Local $sClip = ""
    
    
    				; Get selected indices [ _GUICtrlListView_GetSelectedIndices($hListView, True) ]
    				Local $aiCurItems[1] = [0]
    				For $i = 0 To GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMCOUNT, 0, 0)
    					If GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMSTATE, $i, 0x2) Then
    						$aiCurItems[0] += 1
    						ReDim $aiCurItems[$aiCurItems[0] + 1]
    						$aiCurItems[$aiCurItems[0]] = $i
    					EndIf
    				Next
    
    
    				; Generate clipboard text
    				If Not $aiCurItems[0] Then
    					For $sItem In $avArrayText
    						$sClip &= $sItem & @CRLF
    					Next
    				Else
    					For $i = 1 To UBound($aiCurItems) - 1
    						$sClip &= $avArrayText[$aiCurItems[$i]] & @CRLF
    					Next
    				EndIf
    				ClipPut($sClip)
    		EndSwitch
    	WEnd
    	GUIDelete($hGUI)
    
    
    	Opt("GUIOnEventMode", $iOnEventMode)
    	Opt("GUIDataSeparatorChar", $sDataSeparatorChar)
    
    
    	Return 1
    EndFunc   ;==>_MyArrayDisplay
    Alles anzeigen

    Lag am Resizing, die mir unbekannte Konstante durch eine MagicNumber ersetzt. Außerdem mußte ich noch ein GuiSetState einfügen(@SW_Hide). Ich bin am überlegen ob ich wirklich eine eigene ArrayDisplay schreibe. Bisher zusätzlich angedacht: Sortierung durch Spaltenklick, individuelle Sortierung über mehrere Spalten, ganze Zeilen einfärben mit GUICtrlSetTip Info zu jeweiliger Spezialzeile anzeigen. Weitere Vorschläge sind willkommen.

    Zitat von ugt100

    Dann harre ich mal der Dinge die kommen und warte auf das 'solved' flag.

    Thema auf gelöst mußt du immer noch selber setzen.


    mfg autoBert

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • autoBert
    • 9. April 2016 um 22:39
    Zitat von RWarnecke

    Ich gehe im Moment davon aus, dass der Sleep-Befehl nicht greift, weil die Anwendung in den Status "Keine Rückmeldung" geht nach dem STRG+A und deswegen das AutoIT Script ins Schwanken kommt. Denn selbst nach mehr als 5 Minuten kommt kein Kontextmenü.

    wie soll eine App die mehr als ausgelastet ist noch auf (autimatisierte) Eingaben reagieren? Unmöglich oder zumdinest nicht sinnvoll. Das is als wolltest du dich mit deinem Urgroßvater (sorry) unterhalten, er hat aber sein Hörgerät vergessen auftzuladen. Deshalb taugen hier nach kurzer Wartezeit abfgefeurte Eingaben auch gar nichts, sie erzeugen nur Stress für den Rechner. Deshalb WinWaitActive + evtl. WinWaitClose verwenden oder gleich wieder mit WinWaitActive auf das nächste Fenster warten. Dies ist sicherer als sich darauf zu verlassen, daß das Programm nach X Sekunden bereit für die nächste Anweisung ist. Du hättest bei dem ganzen künstlich aufgebautem Stress schon einen Herzinfarkt oder Nervenzusammenbruch, würdest danach durch einen noch flexibleren und leistungsfägigeren Mitarbeiter ausgetauscht, sprich ein Hardware- tausch oder -aufrüstung wäre auch kein Fehler, zuvor sollte aber ein Spezialist schauen von welchen Aufgaben der Computer so beschäftigt wird, daß er die Routineaufgaben nicht erledigen kann.

    Das ein Fenster existiert heist noch lange nicht, daß es auch aktiv ist. Du solltest besser abfragen ob das nächste Fenster aktiv geworden ist (WinWaitActive) in diesen Zwischenzeiten sollte dein Skript also nicht versuchen etwas einzugeben, die Kunst besteht daran das richtige Timing zu finden. Besser etwas zu lange warten als in einem undefiertem Zustand der fernzusteuernden Anwendung eine Anweisung zu geben, die zu diesem (weil nicht im erwarteten Zustand) etwas anderes bewirkt als beabsichtigt.

    Xorianator: hast du die (mir unbekannte) zu fernsteuernde Anwendung auf deinem Rechner installiert oder bist du per Fernwartungssofware verbunden? Nein, dann kannst du nur davon ausgehen, daß es funktionieren sollte aber nicht behaupten. Der TE ging bei der Skripterstellung auch davon aus, trotzdem geht etwas schief!

    Abhilfe für das Chaos können imho nur WinWait*- in Zusammenarbeit mit Control*-Funktionen schaffen. Ich beneide dich nicht um diese Aufgabe und sehe leider eine große Gefahr, daß die Arbeit irgenwann in der Tonne landet.

  • Variable deklarieren - isdeclared

    • autoBert
    • 9. April 2016 um 21:52
    Zitat von AutoMit

    ... autoBert, wenn ich unveränderliche Werte wollte, hätte ich Konstanten genommen .

    ich sehe du mußt noch viel meh lernen als ich gedacht habe. Wenn ich von

    Zitat von autoBert

    da eine UDF imho nur Sinn macht wenn sie mehrfach verwendet wird, ist es am sinnvollsten die Variable in der UDF Global zu deklarieren.

    Variablen rede meine ich Variablen und keine Konstanaten!

    Zitat von Merksatz

    Eine Variable heißt Variable weil ihr variable Werte zugewiesen werden können. Nicht zu verwechseln mit einer Konstante, hier würde eine 2. Wertzuweisung einen Fehler erzeugen. Eine Konstante heißt also Konstante weil die 1. Wertzuweisung unwiederruflich ist!

  • (Standard)FensterGrösse des _ArrayDisplay Fenster beeinflussen (MyArrayDisplay - von AutoBert)

    • autoBert
    • 9. April 2016 um 15:43

    welche AutoItversion benutzt du denn aktuell und funktioniert meine Funktion dort noch. Gerade beim _ArrayDisplay wurde vor kurzem etwas geändert. Immer wieder schön wenn man Frühwerke sieht, auch wenn sie nicht unbedingt meinem heutigen Programmierstil entsprechen.

    Mit der aktuellen AutoItversion habe ich auch das Problem, jetzt heisst es suchen. Ich tippe auf konstanten die sich evtl verändert haben, jedenfalls klappt weder die automatische noch die mauelle LV-Breitenermittlung bzw. das Resizing. Poblem sollte lösbar sein allerdings kann ich dir (noch) keinen Termin nennen bis wann.

  • An die Mathematiker

    • autoBert
    • 9. April 2016 um 13:11

    Ups, erwischt ich hab doch glatt das falsche Skript gestartet. Aber im 2. Anlauf:

    Code
    For $x = 1 To 120
    	ConsoleWrite($x & " | " & Mod($x-1, 4)+1 & " | " & Ceiling($x / 4)+1 & @CRLF)
    Next

    immer noch für Ungeübte lesbarer, schlanker? Aber jetzt mit hoher Warscheinlichkeit langsamer.

  • An die Mathematiker

    • autoBert
    • 9. April 2016 um 10:46

    Ich würde ganz auf den ternären Operator verzichten und grundsätzlich eins auf result von Mod zählen, ich bin mir noch nicht einmal sicher was schneller abgearbeitet wird, lesbarer ist es für Ungeübte aber auf jeden Fall und schlanker auch:

    Code
    For $x = 1 To 120
    	ConsoleWrite($x & " | " & Mod($x, 4)+1 & " | " & Ceiling($x / 4)+1 & @CRLF)
    Next

    das Ergebnis ist nachweislich identisch, 120 mal die Auswertung des ternären Operators und 90 mal die 2. Mod Auswertung gespart, dafür 120 zusätzlich Additionen.

    [OT]Die Perversion im Schreiben von Einzeilern habe ich auf dem C64 gesehen, die komplette Osterformel mit Datum vom Ostersonntag als Ausgabe. Bin mir aber nicht sicher ob die Simon's Basic Erweiterung Voraussetzung war[/OT]Damals hatte ich noch gute Augen, aber lesbarer Code ist etwas anderes.

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™