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. horphi

Beiträge von horphi

  • Exit aus Funktion über If Abfrage

    • horphi
    • 17. Juli 2017 um 15:59

    Kann ich den Löschantrag irgendwo rückgängig machen?

  • Exit aus Funktion über If Abfrage

    • horphi
    • 17. Juli 2017 um 15:54

    warum, ist dieser Post hilfreich? Eher nicht...

  • Exit aus Funktion über If Abfrage

    • horphi
    • 17. Juli 2017 um 15:39

    Genau in dem Moment hab ichs gefunden... DANKE ALPINES

  • Exit aus Funktion über If Abfrage

    • horphi
    • 17. Juli 2017 um 15:34

    Hallo,

    ich durchsuche in meinem Skript 2Spaltige-Tabellen und und wenn ein Wertepaar gefunden wird, möchte ich aus der Suchfunktion wieder in die Hauptschleife zurück und den nächsten Wert zum suchen anstoßen.
    Wie komme ich aus der If Abfrage komplett aus der Funktion raus zurück in die For-Schleife?


    AutoIt
    For $i = 0 to $aRaySize
    	_deepSearchcompareParallel($aRay, $sRayStrVorg, $sRayStrNachf) ; STARTE die SUCHE
    	If $deepSearchcompareParallel = 1 Then
    		ConsoleWrite('Ergebnis --> ein Duplikat gefunden: DP1 = ' & $deepSearchcompareParallel & @CRLF)
    	EndIf
    	If $i = $aRaySize Then
    		ExitLoop
    	EndIf
    	$deepSearchcompareParallel = 0
    Next
    
    
    Func _deepSearchcompareParallel(ByRef $aRetArrayloop, ByRef $sRayStrVorgloop, ByRef $sRayStrNachfloop) ;hier wird untersucht, ob der Vor und Nachfolger jeweils in dem Array existieren
    	For $i = 0 To $iRowi
    		$sRowSingleV ;Wert1 ausgeben
    				For $j = 0 To $iRowj	
    					$sRowSingleN ;Wert2 ausgeben
    			If $sRowSingleV = $sRowSingleN Then			
    				Global $deepSearchcompareParallel = 1
    				ExitLoop ;>>>>>>>>>>>>>>>>>>>>HIER MÖCHTE ICH AUS DER FUNKTION AUSSTEIGEN UND IN DIE FOR-SCHLEIFE ZURÜCK WENN DAS WERTEPAAR ÜBEREINSTIMMT<<<<<<<<<<<<<<<<<<<<<<<<<
    			EndIf
    		Next
    	Next
    EndFunc
    Alles anzeigen

    Danke und Gruß,

    horphi

  • 2D Array - ersetzen von Werte

    • horphi
    • 18. Juni 2017 um 17:59

    Hallo @alpines,

    habe es so wie du sagst, einfach mit einer for Schleife gelöst.

    VG

    horphi

  • 2D Array - ersetzen von Werte

    • horphi
    • 16. Juni 2017 um 22:46

    Hi,

    haben wir sowas irgendwo als UDF?

    AutoIt
    Func _ArrayReplace(ByRef $aRepArray, $vValue, $iStart = 0, $iEnd = 0, $iSubItem = 0, $vValue1 = '"')
    
    
    	#cs
    		Parameters
    		$aRepArray The array to replace
    		$vValue replace value
    		$iStart [optional] Index of array to start  row replace
    		$iEnd [optional] Index of array to end  row replace
    		$iSubItem [optional] Sub-index to search on in 2D arrays
    		$vValue1 [optional] Text limiter for special strings
    	#ce
    
    
    	; Default values
    	If $iStart = Default Then $iStart = 0
    	If $iEnd = Default Then $iEnd = 0
    	If $iSubItem = Default Then $iSubItem = 0
    	If $vValue1 = Default Then $vValue1 = '"'
    
    
    	If StringLeft($aRepArray[$iStart][$iSubItem], 1) = '"' Then
    		For $i = $iStart To $iEnd
    			$aRepArray[$i][$iSubItem] = $vValue1 & $vValue & $vValue1
    		Next
    	Else
    
    
    		For $i = $iStart To $iEnd
    			$aRepArray[$i][$iSubItem] = $vValue
    		Next
    	EndIf
    
    
    EndFunc   ;==>_ArrayReplace
    Alles anzeigen
  • 2D Array - ersetzen von Werte

    • horphi
    • 15. Juni 2017 um 12:01

    Lieber nicht, habs über insert und push etc versucht...vergebens...

  • 2D Array - ersetzen von Werte

    • horphi
    • 13. Juni 2017 um 21:46

    :Face: .... man man man wie peinlich...

    Ich versuchs mit allenmöglichen umwegen und dabei ist es sooooo einfach.....bitte lösch den Thread... :rofl:

  • 2D Array - ersetzen von Werte

    • horphi
    • 12. Juni 2017 um 21:39

    Hallo,

    irgendwie krieg ich es nicht auf die Kette.

    Wie kann ich in einem gegebenen 2D Array eine bestimmte Position mit einem neuen Wert überschreiben?

    Vielen Dank und Gruß,

    horphi

  • Teilstring einer Variable ab letztem Zeichen

    • horphi
    • 31. Mai 2017 um 13:08

    Hi

    ich muss noch mal nachfragen.

    Beim StringRegExp funktioniert der Ausdruck.

    Wenn ich aber StringRegExpReplace benutze, wird mir der gänderte Wert und der Rest der Zeile ausgegeben.

    Wie kann ich das ändern, dass der ganze geänderten outputstring = dem inputstring entsprichtg?

    AutoIt
    $url = 'CN_OP;71507;false;"0620";"SD";0;8;;0.0;1091;1;39.0;23.4;"IM";false;1;8099;0;true;"";0.0;;;"";;"Dz";"V5";"6W";"O45";"A002";100.0;"00038.999";"P";"0";0.0;false;false;false;0.0;false;"ASSY";false;"V5";"B";279;false;"";"Type1";"";"V5";;;"";0.0;false;false;"";"";"";true'
    $icol = 10
    $sFirst = StringRegExp ($url, '(?:[^;]*;){45}([^;]+)', 1)
    ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & "   var: $sFirst --> " & $sFirst[0] & @LF)
    
    
    $sLast = StringRegExpReplace($url, '(?:[^;]*;){45}([^;]*[^;])', 'true',1)
    ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & "   var: $sLast --> " & $sLast & @LF)

    Gruß,

    horphi

  • Teilstring einer Variable ab letztem Zeichen

    • horphi
    • 29. Mai 2017 um 21:19

    @BugFix

    Mensch...was ein paar kleine Zeichen so schon ausmachen können.

    VIELEN DANK! :)

  • Teilstring einer Variable ab letztem Zeichen

    • horphi
    • 29. Mai 2017 um 11:47

    Hallo Alpines,

    ich würde das gerne im StringRegExpReplace ausführen, da ich aus einem Textfile lese und nicht vorher einen Array erstellen möchte.

    AutoIt
    StringRegExpReplace($url, '([^;]*;){4}[^;]*?')

    --> ich möchte hier erst den Wert NACH dem 4. Semikolon ausgegeben bekommen. Er zählt mir aber alles inkl des 4. Semikolons...


    Ich weiß nicht, wie ich das ändern kann.

    VG

    horphi

  • Teilstring einer Variable ab letztem Zeichen

    • horphi
    • 28. Mai 2017 um 18:43

    Hallo,

    ich hätte dazu ein Frage:

    Kann man den Suchausdruck auch so anpassen, das er erst am dem 3. Punkt anfängt zu suchen und alles bis zum nächsten Punkt ausgibt?

    Grüße,

    horphi

  • Array durchsuchen, auslagern und wieder einfügen --> beschleunigen

    • horphi
    • 21. Dezember 2016 um 23:13

    Danke für die Rückmeldung.

    Aber wie kann ich einen _arrayextract loop in einen Array halten, ohne ihn vorher in einem String zu sammeln?


    Code
    For $i = 0 To $aRaySize
    
    
    		$aRayExtrVorg2 = _ArrayExtract($aRetArray, $i, $i, 3, 4) ; der 2. Vorgänger wird genommen und gesucht
    
    
    		$sRayStrExtr = _ArrayToString($aRayExtrVorg2, ';')
    
    
    		$string &= $sRayStrExtr & @CRLF
    	Next
    Alles anzeigen

    VG

    horphi

  • Array durchsuchen, auslagern und wieder einfügen --> beschleunigen

    • horphi
    • 21. Dezember 2016 um 16:03

    Hallo zusammen,

    ich habe ein Suchfunktion gebastelt, mit der ich Beziehungen untersuche, die Falschen Knotenpunkte aus der Datei lösche, die Datei neu Aufbaue und wieder nach den richtigen Beziehungsknoten suche.

    Dabei verfahre ich so, das ich den Array aus der Datei lese, den Wert suche, lösche und den Rest als Array wieder in die Datei schreibe.

    Mein Frage: werden Tempdateien schneller gelesen und beschrieben als normale TXT Dateien?

    Bsp.
    Wertepaare (Vorgänger; Nachfolger) --> in einer Schleife suche ich Redundanzen und will bei Knoten die nicht in Beziehung zu dem Gesuchten Knoten stehen löschen.

    1;2
    2;3
    3;4
    1;4 (der ist redundant und wird markiert)
    1;6 (der läuft in einen anderen Nachfolger und soll gelöscht werden)

    Danke und Gruß,

    horphi

  • Performance bei der Funktion _GUICtrlListView_AddArray

    • horphi
    • 6. April 2016 um 21:41

    Danke dir.

    Werde ich bei Gelegenheit einarbeiten.

    Viele Grüße,

    horphi

  • Performance bei der Funktion _GUICtrlListView_AddArray

    • horphi
    • 1. April 2016 um 21:00

    Hallo Kanashius,

    ist ja ne Top Listenbefüllung. :)

    Frage dazu: geht das auch mit $g_idListView = _GUICtrlListView_Create()?

    DAnke und Gruß,

    horphi

  • Performance bei der Funktion _GUICtrlListView_AddArray

    • horphi
    • 30. März 2016 um 17:34

    Hallo @Kanashius,

    was ist das für eine Funktion? Ist die in einer UDF verankert, oder von dir?

    VG

    horphi

  • Performance bei der Funktion _GUICtrlListView_AddArray

    • horphi
    • 29. März 2016 um 23:15

    Hallo noch mal,

    nach einer Zeitmessung ist der größte Teil wie schon von @Andy vermutet in der DLLStructSetData .

    Gibt es noch eine andere Listenfunktion, um aus SQLite GUI Listen zubefüllen?

    Danke und Gruß,

    horphi

    AutoIt
    Func _GUICtrlListView_AddArray($hWnd, ByRef $aItems)
    	Local $bUnicode = _GUICtrlListView_GetUnicodeFormat($hWnd)
    	Local $dtStart
    
    
    	Local $tItem = DllStructCreate($tagLVITEM)
    	Local $tBuffer
    	If $bUnicode Then
    		$tBuffer = DllStructCreate("wchar Text[4096]")
    	Else
    		$tBuffer = DllStructCreate("char Text[4096]")
    	EndIf
    	DllStructSetData($tItem, "Mask", $LVIF_TEXT)
    	DllStructSetData($tItem, "Text", DllStructGetPtr($tBuffer))
    	DllStructSetData($tItem, "TextMax", 4096)
    
    
    	Local $iLastItem = _GUICtrlListView_GetItemCount($hWnd)
    	_GUICtrlListView_BeginUpdate($hWnd)
    	$dtStart = TimerInit()
    ;~ 	*****************************************************************************************************************************************
    ;~	Zeitfresser
             If IsHWnd($hWnd) Then
    		If _WinAPI_InProcess($hWnd, $__g_hLVLastWnd) Then
    
    
    			For $iI = 0 To UBound($aItems) - 1
    				DllStructSetData($tItem, "Item", $iI)
    				DllStructSetData($tItem, "SubItem", 0)
    				DllStructSetData($tBuffer, "Text", $aItems[$iI][0])
    				_SendMessage($hWnd, $LVM_INSERTITEMW, 0, $tItem, 0, "wparam", "struct*")
    				For $iJ = 1 To UBound($aItems, $UBOUND_COLUMNS) - 1
    					DllStructSetData($tItem, "SubItem", $iJ)
    					DllStructSetData($tBuffer, "Text", $aItems[$iI][$iJ])
    					_SendMessage($hWnd, $LVM_SETITEMW, 0, $tItem, 0, "wparam", "struct*")
    				Next
    			Next
    ;~ 	*****************************************************************************************************************************************
    	$dtStart = TimerDiff($dtStart)
    	ConsoleWrite("DLL: " & $dtStart & @CRLF)
    
    
    			Else
    
    
    			Local $iBuffer = DllStructGetSize($tBuffer)
    			Local $iItem = DllStructGetSize($tItem)
    			Local $tMemMap
    			Local $pMemory = _MemInit($hWnd, $iItem + $iBuffer, $tMemMap)
    			Local $pText = $pMemory + $iItem
    			DllStructSetData($tItem, "Text", $pText)
    
    
    			For $iI = 0 To UBound($aItems) - 1
    				DllStructSetData($tItem, "Item", $iI + $iLastItem)
    				DllStructSetData($tItem, "SubItem", 0)
    				DllStructSetData($tBuffer, "Text", $aItems[$iI][0])
    				_MemWrite($tMemMap, $tItem, $pMemory, $iItem)
    				_MemWrite($tMemMap, $tBuffer, $pText, $iBuffer)
    				If $bUnicode Then
    					_SendMessage($hWnd, $LVM_INSERTITEMW, 0, $pMemory, 0, "wparam", "ptr")
    				Else
    					_SendMessage($hWnd, $LVM_INSERTITEMA, 0, $pMemory, 0, "wparam", "ptr")
    				EndIf
    
    
    
    
    
    
    				For $iJ = 1 To UBound($aItems, $UBOUND_COLUMNS) - 1
    					DllStructSetData($tItem, "SubItem", $iJ)
    					DllStructSetData($tBuffer, "Text", $aItems[$iI][$iJ])
    
    
    
    
    					_MemWrite($tMemMap, $tItem, $pMemory, $iItem)
    					_MemWrite($tMemMap, $tBuffer, $pText, $iBuffer)
    					If $bUnicode Then
    						_SendMessage($hWnd, $LVM_SETITEMW, 0, $pMemory, 0, "wparam", "ptr")
    					Else
    						_SendMessage($hWnd, $LVM_SETITEMA, 0, $pMemory, 0, "wparam", "ptr")
    					EndIf
    				Next
    			Next
    			_MemFree($tMemMap)
    			EndIf
    
    
    	Else
    		Local $pItem = DllStructGetPtr($tItem)
    		For $iI = 0 To UBound($aItems) - 1
    			DllStructSetData($tItem, "Item", $iI + $iLastItem)
    			DllStructSetData($tItem, "SubItem", 0)
    			DllStructSetData($tBuffer, "Text", $aItems[$iI][0])
    			If $bUnicode Then
    				GUICtrlSendMsg($hWnd, $LVM_INSERTITEMW, 0, $pItem)
    			Else
    				GUICtrlSendMsg($hWnd, $LVM_INSERTITEMA, 0, $pItem)
    			EndIf
    			For $iJ = 1 To UBound($aItems, $UBOUND_COLUMNS) - 1
    				DllStructSetData($tItem, "SubItem", $iJ)
    				DllStructSetData($tBuffer, "Text", $aItems[$iI][$iJ])
    				If $bUnicode Then
    					GUICtrlSendMsg($hWnd, $LVM_SETITEMW, 0, $pItem)
    				Else
    					GUICtrlSendMsg($hWnd, $LVM_SETITEMA, 0, $pItem)
    				EndIf
    			Next
    		Next
    	EndIf
    	_GUICtrlListView_EndUpdate($hWnd)
    EndFunc   ;==>_GUICtrlListView_AddArray
    Alles anzeigen
  • Performance bei der Funktion _GUICtrlListView_AddArray

    • horphi
    • 29. März 2016 um 07:45

    @Andy und @Kanashius

    Danke für die Hinweise. Das prüfe ich heute Abend und gebe dann Rückmeldung.

    VG

    horphi

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™