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

  • Fehler, bzw. Erfolg bei _IELinkClickByText auslesen?

    • autoBert
    • 13. Juli 2016 um 09:01

    _IELinkClickByText setzt doch das @Error Makro bei Nichterfolg also sollte

    Code
    for $i = 1 To 100
    	_IELinkClickByText($IE, $i & ". Link")
    	If Not @error Then ExitLoop
    Next

    genau das tun was du willst.

  • Filtern einer Array - Teil-String - instring

    • autoBert
    • 13. Juli 2016 um 08:25

    Wenn schon ein Array vorhanden ist, warum benutzt du dann nicht _ArraySearch oder _ArrayFindAll? Beide können nach Teilstrings innerhalb von SubItems (Spalten) suchen.

  • "Alte Kiste" als 24/7 Server?

    • autoBert
    • 12. Juli 2016 um 00:12
    Zitat von alpines

    Einen Arduino, paar Motoren, Blechstangen, Steckverbindungen und schon haste einen Roboter der deinen Müll entsorgt.

    Gibt's das nicht schon fertig bei OPI?

  • Hilfe bei Array !

    • autoBert
    • 11. Juli 2016 um 00:50
    Zitat von NewProgger

    Oder hast DU meine Posts nicht gelesen ?

    ich deine schon, du aber hast mind. 1 überlesen: https://autoit.de/index.php/Thre…5503#post675503 geschweige denn getestet was ich als Demo eingestellt habe. Von daher halte ich

    Zitat von autoBert

    BugFix : bezweifle, daß er das liest ich habe ihm in meinem vorhergehenden Post etwas ähnliches demostriert, allerdings nicht mit Checkboxen.

    diese Bemerkung für gerechtfertigt, im Gegensatz zu:

    Zitat von NewProgger

    autoBert, Dich mögen bestimmt ganz viele Menschen oder ? kleiner Stinkstiefel !

    damit macht man sich hier sicher Freunde.

  • Filtern einer Array - Teil-String - instring

    • autoBert
    • 10. Juli 2016 um 09:40

    Oscar : Full ack, würde ich auch so nie verwenden, war nur zur Demo um Lottichs Einwand zu widerlegen.

  • Filtern einer Array - Teil-String - instring

    • autoBert
    • 10. Juli 2016 um 08:48
    Zitat von Lottich

    Das kann so eigentlich gar nicht funktionieren. Stringsplit liefert keinen String zurück, sondern ein Array.

    Es kann funktionieren, siehe dieses Testskript:

    Code
    $sTestString='Dies ist ein Test'
    MsgBox(0,'StringSplit-Test',StringSplit($sTestString,' ')[1])
    MsgBox(0,'StringSplit-Test',StringSplit($sTestString,' ')[2])
    MsgBox(0,'StringSplit-Test',StringSplit($sTestString,' ')[3])
    MsgBox(0,'StringSplit-Test',StringSplit($sTestString,' ')[4])

    und es funktioniert wenn wie oben und auch im Snipet von @AutoMit direkt auf ein Element des zurügegebenen Arrays zugegriffen wird. Da kein Errorhandling eingebaut (und in der Kurzschreibweise auch nicht einbaubar), setzt es aber voraus das die Daten 100% dem erwartenten Muster enstsprechen.

  • Seltsames Leuchten in den Wolken

    • autoBert
    • 9. Juli 2016 um 19:00

    Mars: das war ein IQ-Test von den ausseridrischen Headhunters. Auch im Paralleluniverusm werden fähige Leute gesucht.

  • IE: Browser has been deleted prior to operation.

    • autoBert
    • 9. Juli 2016 um 12:00
    Zitat von Eryk122

    ich habe ein Script, das eine https Seite öffnet, sich anmeldet und dann ein paar Sachen macht und sich wieder abmeldet.

    Poste dein Skript,welches bei dir den Fehler verursacht und pushe nicht dein Thema. Pusher, werden hier gerne ignoriert. Solange keine 24 Stunden vorbei und auch niemand geantwortet hat, wird hier üblicherweise der Beitrag editiert und kein neuer erstellt.

    mfg (auto)Bert

  • Hilfe bei Array !

    • autoBert
    • 9. Juli 2016 um 11:46
    Zitat von NewProgger

    wenn nun PflichtCheckboxen nicht ausgefüllt worden sind sollen diese aufgelistet werden welche es sind und dann Return zur GUI

    könnte alles so einfach sein, hierfür nimmt man Radio's und belegt einen der Werte vor. Dies habe ich so ähnlich schon ein paar Mal in deinem anderen Thema bemerkt:

    Zitat von autoBert

    Scheiß auf das Layout, die Funktionalität zählt und mit deinem (für dich) Superlayout kommen nur dumme Fragen, denn

    Checkbox=Mehfachauswahl möglich, Radio=nur eine Antwort möglich. Man sollte Windowscontrols so verwenden wie sie vorgesehen sind, alles andere verunsichert nur den Anwender.

    und wie man sieht, nicht nur den Anwernder. Der Programmierer ist sicher auch nicht sicher hat er oder hat er nicht?:

    Zitat von NewProgger

    Habe es selber hin bekommen

    Zitat von NewProgger

    leider doch noch nicht fertig


    BugFix : bezweifle, daß er das liest ich habe ihm in meinem vorhergehenden Post etwas ähnliches demostriert, allerdings nicht mit Checkboxen.

  • Hilfe bei Array !

    • autoBert
    • 8. Juli 2016 um 15:31

    Hat jetzt zwar nichts mit Checkboxen zu tun, aber bei einer Auftragsprogrammierung habe ich folgendes Schema verwendet:

    AutoIt
    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #comments-start
    	verwendetes Schema für Variablen Namen:
    	$a  = Arrays
    	$h  = Handles z.B. hForm für GuiHandle
    	$id	= für ControlID's gefolgt von 3 Buchstaben für den Controltyp
    	Btn = Button
    	Cbo = ComboBox
    	Inp	= Input
    	Lbl = Label
    	$i			Integer
    	$n			Number
    	$s			String
    #comments-end
    #Region Hintergrundfarben für Eingabe
    Const $iDichte = 7.850
    Const $iNegativ = 0xFF0000
    Const $iPositiv = 0x000000
    Const $iFehler = 0xFFAA00
    Const $iNormal = 0xFFFFFF
    #EndRegion Hintergrundfarben für Eingabe
    #Region GUI
    Global $hForm = GUICreate("Infotool", 579, 456, 192, 124)
    GUICtrlSetState(-1, $GUI_SHOW)
    GUICtrlCreateGroup("Form&nestzahl", 32, 50, 250, 60)
    Global $idInpFNZ_n = GUICtrlCreateInput("", 57, 72, 200, 21, $ES_Number)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("&Zykluszeit in Sek.", 32, 120, 250, 60)
    Global $idInpZyklus_n = GUICtrlCreateInput("", 57, 142, 200, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("Tagesproduktion (24 Std.)", 32, 190, 250, 60)
    Global $idLblProd24_n = GUICtrlCreateLabel("", 57, 212, 200, 21)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    ;GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    Global $idBtnCalcProd_n = GUICtrlCreateButton("Tagesproduktion &berrechnen", 32, 260, 250, 30, $BS_DEFPUSHBUTTON)
    GUISetState(@SW_SHOW)
    #EndRegion GUI
    Global $iMsg
    While 1
    	$iMsg = GUIGetMsg()
    	Switch $iMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    			#comments-start
    				Case $Tab1
    				$iTab = GUICtrlRead($Tab1)
    				Switch $iTab
    				Case 0
    				ControlFocus($hForm, '', $idInpFNZ_n)
    				Case 1
    				ControlFocus($hForm, '', $idInpFNZ_e)
    				Case 2
    				ControlFocus($hForm, '', $idCboMaschinen)
    				Case 3
    				ControlFocus($hForm, '', $idInpLaenge)
    				EndSwitch
    			#comments-end
    		Case $idBtnCalcProd_n
    			_ProdCalc()
    	EndSwitch
    WEnd
    #Region Berechnungen
    Func _ProdCalc()
    	Local $iFNZ = Int(GUICtrlRead($idInpFNZ_n))
    	;FormNestzahl ganzzahlig auslesen und zuweisen
    	Local $nZyklus = _CommaToPeriod(GUICtrlRead($idInpZyklus_n))
    	;Zykluszeit als Kommazahl (1 Nachkommastelle) auslesen und zuweisen
    	Local $iError = 0
    	;Fehlervariable initialisieren
    	If $iFNZ <= 0 Then
    		;Fehler
    		$iError += 1
    		;also Fehlervaraible um 1 erhöhen 2^(ntes Eingabecontrol-1) => 2^(1-1)
    		GUICtrlSetBkColor($idInpFNZ_n, $iFehler)
    	Else
    		GUICtrlSetBkColor($idInpFNZ_n, $iNormal)
    	EndIf
    	If $nZyklus <= 0 Then
    		$iError += 2
    		;also Fehlervaraible um 2 erhöhen 2^(ntes Eingabecontrol-1) => 2^(2-1)
    		GUICtrlSetBkColor($idInpZyklus_n, $iFehler)
    	Else
    		GUICtrlSetBkColor($idInpZyklus_n, $iNormal)
    	EndIf
    	Local $iProd24 = Int($iFNZ * 24 * 3600 / $nZyklus)
    	;Tagesproduktion errechnen und auf ganze Zahl abrunden
    	If Not $iError Then
    		;Alle Eingabefelder sind ausgefüllt
    		GUICtrlSetData($idLblProd24_n, $iProd24)
    		;also Tagesproduktion anzeigen
    	Else
    		_MyErrorBox($iError, 'Formnestzahl|Zykluszeit', String($idInpFNZ_n & '|' & $idInpZyklus_n))
    		;ansonsten auf fehlende Eingaben hinweisen
    	EndIf
    EndFunc   ;==>_ProdCalc
    #EndRegion Berechnungen
    #Region Hilfsfunktionen
    Func _MyErrorBox($iErr, $sErr, $sCtrls = '')
    	#comments-start
    		Hiermit werden Eingaben überprüft
    		Parameter:	$iErr Summe der Fehlerwerte
    		1. Fehler (2^0)
    		2. Fehler (2^1)
    		...
    		n. Fehler (2^(n-1))
    		$sErr	String aller möglichen Meldungen mit "|" getrennt
    		$sCtrls optionaler Parameter enthält alle möglichen Fehler auslösenden ControlIDs
    		in einem String mit "|" als Trennzeichen
    		gleiche Reihefolge wie bei $iErr einhalten
    		Autor:		autoBert (autoit.de)
    	#comments-end
    	Local $iFocusCtrl, $bFirst = False
    	Local $aCtrls = StringSplit($sCtrls, '|', 2)
    	Local $aErr = StringSplit($sErr, '|', 2)
    	Local $sMsg = 'Folgende(r) Wert(e): ' & @CRLF & @CRLF
    	For $x = 0 To UBound($aErr) - 1
    		If BitAND(2 ^ $x, $iErr) = 2 ^ $x Then
    			$sMsg &= $aErr[$x] & @CRLF
    			If Not $bFirst Then
    				$bFirst = True
    				$iFocusCtrl = Int($aCtrls[$x])
    			EndIf
    		EndIf
    		;ConsoleWrite($x&': '&$bFirst&@TAB&$iFocusCtrl&@CRLF)
    	Next
    	$sMsg &= @CRLF & 'überprüfen!'
    	MsgBox(16, "Eingabe", $sMsg, 0, $hForm)
    	If $bFirst Then ControlFocus($hForm, '', $iFocusCtrl)
    EndFunc   ;==>_MyErrorBox
    Func _MyFormatedSetData($iCtrlID, $iWert)
    	GUICtrlSetData($iCtrlID, $iWert)
    	If $iWert < 0 Or Not (IsNumber($iWert)) Then
    		GUICtrlSetColor($iCtrlID, $iNegativ)
    	Else
    		GUICtrlSetColor($iCtrlID, $iPositiv)
    	EndIf
    EndFunc   ;==>_MyFormatedSetData
    Func _CommaToPeriod($Var, $iDecPlaces = 1)
    	$Var = StringReplace($Var, ',', '.')
    	Return Round(Number($Var), $iDecPlaces)
    EndFunc   ;==>_CommaToPeriod
    #EndRegion Hilfsfunktionen
    Alles anzeigen

    ist nur ein kleiner Ausschnitt, da auf weitere Tabs u.U. schützenswertes Interesse des Kunden.

  • auf Event aus anderem Skript reagieren

    • autoBert
    • 7. Juli 2016 um 21:23

    wie wäre es wenn du etwas mehr Angaben machst:

    • wie, wo werden die Daten gespeichert (txt, ini, excel, SQLite)
    • sollen Daten von mehreren Arbeitsplätzen aus erfasst werden

    am besten zeigst du uns einmal was du bisher hast.

  • Eintrag von Listenfeld in Zwischenablage kopieren

    • autoBert
    • 7. Juli 2016 um 15:43
    Zitat von DerSchatten

    Wie stelle ich es jetzt noch an das ich nur den ersten Teil davon herausbekomme?

    _GUICtrlListView_GetItemTextString returned ohne einen weiteren Paramter den Text von Col0 des aktuell sektierten Items. Wenn du aus diesem nur einen Teil brauchst, helfen alle Funktionen die mit String bzw. _String anfangen.

  • Eintrag von Listenfeld in Zwischenablage kopieren

    • autoBert
    • 7. Juli 2016 um 13:29

    Benutze:

    Code
    Case $Menue_ListView_1 ; Auswahl kopieren
    	ClipPut(_GUICtrlListView_GetItemTextString($idListview)
  • Listenfeld mit unterschiedlichen Daten füllen

    • autoBert
    • 7. Juli 2016 um 11:31

    leeren übernimmt __GUICtrlListView_DeleteAllItems. Du solltest dir übrigens auch _GUICtrlListView_AddArray und _ArraySort anschauen. Mit diesen beiden funcs kannst du noch Zeit einsparen.

  • Spotify ControlSend

    • autoBert
    • 6. Juli 2016 um 14:18

    Ist das nicht eine Anwendung die im Browser läuft?

  • TCPRecv liefert komische Zeichen

    • autoBert
    • 5. Juli 2016 um 22:44

    Homer J. S. wenn's hier einen LikeButton gäbe würde ich in klicken. Fühl dich also geehrt und füge ein Sir oder einen sonstigen Titel (außer Kaiser, König) vor deinem Namen ein!

  • Checkboxen gegenseitig ausschließen

    • autoBert
    • 5. Juli 2016 um 22:37
    Zitat von NewProgger

    Tweaky's antwort hat genau das Problem gelöst. Es geht jetzt lediglich um "Fine tuning" die "Funktionalität" ist auf jeden Fall gegeben.

    was du da machst ist ähnlich wie wenn du in der BRD in einer einzigen Stadt Linksverkehr einführst!

  • PayPal Abfrage

    • autoBert
    • 5. Juli 2016 um 22:34

    wenn ja sollte der Status des Themas als erledigt gekennzeichnet werden.

  • TCPRecv liefert komische Zeichen

    • autoBert
    • 5. Juli 2016 um 15:15
    Zitat von Lottich

    Das könnte bereits die Lösung sein. Der Flag 1 gibt an, dass die Daten binär empfangen werden sollen.

    und wenn es dann immer noch nicht klappt: BinaryToString kann mit 4 verschiedenen Flagwerten aufgerufen werden:

    Zitat von Helpfile


    Parameters

    expression An expression to convert into a string.
    flag [optional] Changes how the binary data is converted:
    $SB_ANSI (1) = binary data is ANSI (default)
    $SB_UTF16LE (2) = binary data is UTF16 Little Endian
    $SB_UTF16BE (3) = binary data is UTF16 Big Endian
    $SB_UTF8 (4) = binary data is UTF8


    Constants are defined in StringConstants.au3.
    Alles anzeigen
  • Array / Zahlen vergleichen - Lösungsansatz

    • autoBert
    • 5. Juli 2016 um 15:05

    in Pseudocode tue ich mich schwer, also gleich AutoIt:

    Code
    #include <Array.au3>
    
    
    Dim $Array1[]=[10, 20, 20, 100, 100, 100, 100]
    Dim $Array2[]=[20, 20, 100, 100, 50]
    
    
    For $i=UBound($Array2) -1 to 0 Step -1
    	$iFound=_ArraySearch($Array1,$Array2[$i])
    	ConsoleWrite($i&': '&$iFound&@CRLF)
    	If $iFound <> -1 Then
    		_ArrayDelete($Array1,$iFound)
    		_ArrayDelete($Array2,$i)
    	EndIf
    Next
    _ArrayConcatenate($Array1,$Array2)
    _ArraySort($Array1)
    _ArrayDisplay($Array1)
    Alles anzeigen

    idealerweise sollte immer durch das kleinere Array gelaufen werden

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™