Da kommt bei Bedarf das Arbeitsverzeichnis rein. Steht aber auch schön in der Hilfe drin.
Kein Bock zum Lesen?
Beiträge von BugFix
-
-
Da vorhin die Frage im Forum zu einer solchen Funktion war, hier ist sie:
_Array2DDelete(ByRef $ARRAY, $iDEL)
Löscht aus einem 1D/2D -Array eine Zeile an der vorgegebenen Indexposition.
Spoiler anzeigen
[autoit];----------------------------------------------------------------------------------------------------------------------
[/autoit]
; Fuction _Array2DDelete(ByRef $ARRAY, $iDEL)
;
; Description Delete one row on a given index in an 1D/2D -Array
;
; Parameter $ARRAY the array, where one row will deleted
; $iDEL Row-Index to delete
;
; Return Succes -1 ByRef $ARRAY
; Failure 0 set @error = 1; given array are not array
; set @error = 2; index is out of range
;
; Author BugFix ([email='bugfix@autoit.de'][/email])
;----------------------------------------------------------------------------------------------------------------------
Func _Array2DDelete(ByRef $ARRAY, $iDEL)
If ( Not IsArray($ARRAY) ) Then
SetError(1)
Return 0
EndIf
If ( $iDEL < 0 ) Or ( $iDEL > UBound($ARRAY)-1 ) Then
SetError(2)
Return 0
EndIf
Local $UBound2nd = UBound($ARRAY,2)
If @error = 2 Then
Local $arTmp[UBound($ARRAY)-1]
$k = 0
For $i = 0 To UBound($ARRAY)-1
If $i <> $iDEL Then
$arTmp[$k] = $ARRAY[$i]
$k += 1
EndIf
Next
Else
Local $arTmp[UBound($ARRAY)-1][$UBound2nd]
$k = 0
For $i = 0 To UBound($ARRAY)-1
If $i <> $iDEL Then
For $l = 0 To $UBound2nd-1
$arTmp[$k][$l] = $ARRAY[$i][$l]
Next
$k += 1
EndIf
Next
EndIf
$ARRAY = $arTmp
Return -1
EndFunc -
Kurz und knapp:
_Array2DJoin(ByRef $ARRAY, $ARR2JOIN)
fügt den Inhalt des als $ARR2JOIN übergebenen Arrays zum $ARRAY hinzu.
- 1D können mit 2D -Arrays gemischt werden
- 2D -Arrays können unterschiedlich große 2.te Dimensionen habenSpoiler anzeigen
[autoit];----------------------------------------------------------------------------------------------------------------------
[/autoit]
; Fuction _Array2DJoin(ByRef $ARRAY, $AR2JOIN)
;
; Description Join 2 Arrays, 1D/2D can be mixed
;
; Parameter $ARRAY 1st array, will be joined with 2nd
; $AR2JOIN 2nd array
;
; Return Succes -1 ByRef $ARRAY
; Failure 0 set @error = 1; given array(s) are not array
;
; Author BugFix ([email='bugfix@autoit.de'][/email])
;----------------------------------------------------------------------------------------------------------------------
Func _Array2DJoin(ByRef $ARRAY, $AR2JOIN)
If ( Not IsArray($ARRAY) ) Or ( Not IsArray($AR2JOIN) ) Then
SetError(1)
Return 0
EndIf
Local $UB2ndAR = UBound($ARRAY,2)
If @error = 2 Then $UB2ndAR = 0
Local $UB2nd2JOIN = UBound($AR2JOIN,2)
If @error = 2 Then $UB2nd2JOIN = 0
Select
Case $UB2ndAR = 0 And $UB2nd2JOIN = 0
For $i = 0 To UBound($AR2JOIN)-1
ReDim $ARRAY[UBound($ARRAY)+1]
$ARRAY[UBound($ARRAY)-1] = $AR2JOIN[$i]
Next
Return -1
Case $UB2ndAR > 0 And $UB2nd2JOIN = 0
Local $arTmp = $AR2JOIN
ReDim $AR2JOIN[UBound($AR2JOIN)][$UB2ndAR]
For $i = 0 To UBound($arTmp)-1
$AR2JOIN[$i][0] = $arTmp[$i]
Next
Case $UB2ndAR = 0 And $UB2nd2JOIN > 0
Local $arTmp = $ARRAY
ReDim $ARRAY[UBound($ARRAY)][$UB2nd2JOIN]
For $i = 0 To UBound($arTmp)-1
$ARRAY[$i][0] = $arTmp[$i]
Next
Case $UB2ndAR > 0 And $UB2nd2JOIN > 0
Select
Case $UB2ndAR < $UB2nd2JOIN
ReDim $ARRAY[UBound($ARRAY)][$UB2nd2JOIN]
Case $UB2ndAR > $UB2nd2JOIN
ReDim $AR2JOIN[UBound($AR2JOIN)][$UB2ndAR]
EndSelect
EndSelect
For $i = 0 To UBound($AR2JOIN)-1
ReDim $ARRAY[UBound($ARRAY)+1][UBound($ARRAY,2)]
For $k = 0 To UBound($AR2JOIN,2)-1
$ARRAY[UBound($ARRAY)-1][$k] = $AR2JOIN[$i][$k]
Next
Next
Return -1
EndFunc -
Wie soll die Funktion aussehen?
- Angabe ZeilenIndex und diese Zeile aus dem Array löschen? -
Hier mal 2 Beispiele, wie du 1D und 2D-Arrays zusammenfügen kannst.
Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]
; Für 1D-Arrays
Dim $ar1[6]=[0,1,2,3,4,5]
Dim $ar2[6]=[10,11,12,13,14,15]
_ArrayDisplay($ar1, "$ar1")
_ArrayDisplay($ar2, "$ar2"); Array 2 an Array 1 anhängen:
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($ar2)-1
_ArrayAdd($ar1, $ar2[$i])
Next
_ArrayDisplay($ar1, "$ar1 + $ar2"); Für 2D-Arrays (Vorkommen in 2.ter Dimension muß bei beiden Arrays identisch sein!)
[/autoit] [autoit][/autoit] [autoit]
Dim $ar1[6][3]
For $i = 0 To UBound($ar1)-1
For $k = 0 To UBound($ar1,2)-1
$ar1[$i][$k] = 'I' & $i & '-' & $k
Next
NextDim $ar2[8][3]
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($ar2)-1
For $k = 0 To UBound($ar2,2)-1
$ar2[$i][$k] = 'II' & $i & '-' & $k
Next
Next
_ArrayDisplay($ar1, "$ar1")
_ArrayDisplay($ar2, "$ar2"); Array 2 an Array 1 anhängen:
[/autoit]
For $i = 0 To UBound($ar2)-1
ReDim $ar1[UBound($ar1)+1][3]
For $k = 0 To UBound($ar2,2)-1
$ar1[UBound($ar1)-1][$k] = $ar2[$i][$k]
Next
Next
_ArrayDisplay($ar1, "$ar1 + $ar2")...und ja, ich habs gelesen. Ich werde die Funktion noch mit hinzufügen. Kommt beim nächsten Edit. Da werde ich noch einige Funktionen komplettieren, dass sie auch für 2D-Arrays mit beliebiger Größe funktionieren.
-
Warum es nicht klappt ? - Die Antwort gibt dir die Hilfe zu HotKeySet( )
Zitat...Es gilt das selbe Format wie bei Send().
Also schau mal nach.
-
Zitat
Wenn du mal Zeit und Lust hast großes Grinsen kannst du als Array-Gott mal schauen, ob du folgendes schaffst:
Filelisttoarray mit mehreren Dateitypen (az. B. jpg und avi)Das würdest sogar du schaffen . Also wenn ich das richtig verstehe, möchtest du mehrere WildCards gleichzeitig anwenden.
- Liste mit Wildcards übergeben
- FileListToArray für jedes Element ausführen
- Arrays zusammenfügenWillst du mal probieren ? Wenn nicht mach ich es, kein Problem.
-
Wieso hatte ich eigentlich das noch nicht gemacht?
Nun gut, hier also die Suchfunktion für 1D/2D-Arrays.
- Es werden alle Vorkommen eines Suchbegriffs gesucht.
- Rückgabe des FundIndex in einem Array, bei 2D: [IndexZeile | IndexSpalte]
- Array[0] enthält die Anzahl der Treffer
- wird nichts gefunden ist Array[0] = 0
- Suche im ganzen Array oder von StartIndex bis EndIndex
- Suche in allen Spalten oder nur in SpaltenIndex
- Suche case sensitive möglich
- Teilstringsuche möglich
- Alle numerischen Parameter können mit -1 auf Standard gesetzt werden
Edit:
- zusätzlicher Parameter $1stFound, durchsucht Array nur bis zum ersten Treffer(Ich hatte noch die Variante: case sensitive + Teilsuche vergessen. Jetzt ists aber komplett.)
EDIT:
Um es nochmal deutlich zu machen - im Gegensatz zur bekannten Funktion _ArraySearch() für 1D wird nicht auf das erste Vorkommen des Suchbegriffs überprüft und dieser dann zurückgegeben, sondern es wird nach allen Vorkommen im Array gesucht und dann der PositionsIndex der Fundstelle(n) zurückgegeben.
Bei sehr großen 2D Arrays bringt das zwar etwas Geschwindigkeitseinbuße, aber mit der qualitativ besseren Suche wird das m.E. wettgemacht.Hier zum Probieren:
Nicht wundern bei der Ausgabe - ArrayDisplay macht aus '|' ein '~'Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]
Dim $ar[6]=['otto','Paul','Manfred','Fred','Annafred','Pauline']
Dim $ar2[6][3]
$ar2[0][0] = 'Otto'
$ar2[0][1] = 'Fred'
$ar2[0][2] = 'Peter'$ar2[1][0] = 'Peter'
[/autoit] [autoit][/autoit] [autoit]
$ar2[1][1] = 'Paul'
$ar2[1][2] = 'Fred'$ar2[2][0] = 'Peter'
[/autoit] [autoit][/autoit] [autoit]
$ar2[2][1] = 'Fred'
$ar2[2][2] = 'Anna'$ar2[3][0] = 'Annalene'
[/autoit] [autoit][/autoit] [autoit]
$ar2[3][1] = 'Manfred'
$ar2[3][2] = 'Pauline'$ar2[4][0] = 'Marianna'
[/autoit] [autoit][/autoit] [autoit]
$ar2[4][1] = 'Otto'
$ar2[4][2] = 'Annafred'$ar2[5][0] = 'Ottone'
[/autoit] [autoit][/autoit] [autoit]
$ar2[5][1] = 'Marie'
$ar2[5][2] = 'Klaus'_ArrayDisplay($ar, "Suchbegriff: fred")
[/autoit] [autoit][/autoit] [autoit]
_ArrayDisplay(_Array2DSearch($ar, 'fred',-1,0,0,0,True), "1D - Teilsuche / kein CaseSense")
_ArrayDisplay($ar2, "Suchbegriff: fred")
_ArrayDisplay(_Array2DSearch($ar2, 'fred',-1,0,0,0,True), "2D - Teilsuche / kein CaseSense");----------------------------------------------------------------------------------------------------------------------
[/autoit]
;
; Function _Array2DSearch($avArray, $vWhat2Find [, $iDim=-1 [, $iStart=0 [, $iEnd=0 [, $iCaseSense=0 [, $fPartialSearch=False [, $1stFound=False]]]]]])
;
; Description Finds all Entry's like $vWhat2Find in an 1D/2D Array
; Works with all occurences in 2nd Dimension
; Search in all occurences or only in a given column
; To set numeric values for default, you can use -1
;
; Parameter $avArray The array to search
; $vWhat2Find What to search $avArray for
; optional $iDim Index of Dimension to search; default -1 (all)
; optional $iStart Start array index for search; default 0
; optional $iEnd End array index for search; default 0
; optional $iCaseSense If set to 1 then search is case sensitive; default 0
; optional $fPartialSearch If set to True then executes a partial search. default False
; optional $1stFound If set to True, only one match will be searched; default False
;
; Return Succes Array with Index of matches, Array[0] includes the count of matches
; In an 2D Array you got for every match [iRow|iCol]
; Array[0] = 0 if no element found
; If option 1stFound is set, Array[0] = FoundIndex; if no element found Array[0] = -1
; Failure 0 and set @error
; @error = 1 given array is not array
; @error = 2 given dim is out of range
; @error = 4 $iStart is out of range
; @error = 8 $iEnd is out of range
;
; Author BugFix ([email='bugfix@autoit.de'][/email])
;----------------------------------------------------------------------------------------------------------------------
Func _Array2DSearch($avArray, $vWhat2Find, $iDim=-1, $iStart=0, $iEnd=0, $iCaseSense=0, $fPartialSearch=False, $1stFound=False)
Local $error = 0, $1D, $arFound[1]=[0]
If $1stFound Then $arFound[0] = -1
If ( Not IsArray($avArray) ) Then
SetError(1)
Return 0
EndIf
Local $UBound2nd = UBound($avArray,2)
If @error = 2 Then $1D = True
If ( $iEnd = 0 ) Or ( $iEnd = -1 ) Then $iEnd = UBound($avArray)-1
If $iStart = -1 Then $iStart = 0
If $iCaseSense = -1 Then $iCaseSense = 0
If $iCaseSense <> 0 Then $iCaseSense = 1
Select
Case ( $iDim > $UBound2nd ) Or ( $iDim < -1 )
$error += 2
Case ( $iStart < 0 ) Or ( $iStart > UBound($avArray)-1 )
$error += 4
Case ( $iEnd < $iStart ) Or ( $iEnd > UBound($avArray)-1 )
$error += 8
EndSelect
If $error <> 0 Then
SetError($error)
Return 0
EndIf
If $fPartialSearch <> True Then $fPartialSearch = False
If $1D Then
For $i = $iStart To $iEnd
Select
Case $iCaseSense = 0 And (Not $fPartialSearch)
If $avArray[$i] = $vWhat2Find Then
If $1stFound Then
$arFound[0] = $i
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i
$arFound[0] += 1
EndIf
EndIf
Case $iCaseSense = 1 And (Not $fPartialSearch)
If $avArray[$i] == $vWhat2Find Then
If $1stFound Then
$arFound[0] = $i
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i
$arFound[0] += 1
EndIf
EndIf
Case $iCaseSense = 0 And $fPartialSearch
If StringInStr($avArray[$i], $vWhat2Find) Then
If $1stFound Then
$arFound[0] = $i
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i
$arFound[0] += 1
EndIf
EndIf
Case $iCaseSense = 1 And $fPartialSearch
If StringInStr($avArray[$i], $vWhat2Find, 1) Then
If $1stFound Then
$arFound[0] = $i
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i
$arFound[0] += 1
EndIf
EndIf
EndSelect
Next
Else
For $i = $iStart To $iEnd
If $iDim = -1 Then
Select
Case $iCaseSense = 0 And (Not $fPartialSearch)
For $k = 0 To $UBound2nd-1
If $avArray[$i][$k] = $vWhat2Find Then
If $1stFound Then
$arFound[0] = $i & '|' & $k
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $k
$arFound[0] += 1
EndIf
EndIf
Next
Case $iCaseSense = 1 And (Not $fPartialSearch)
For $k = 0 To $UBound2nd-1
If $avArray[$i][$k] == $vWhat2Find Then
If $1stFound Then
$arFound[0] = $i & '|' & $k
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $k
$arFound[0] += 1
EndIf
EndIf
Next
Case $iCaseSense = 0 And $fPartialSearch
For $k = 0 To $UBound2nd-1
If StringInStr($avArray[$i][$k], $vWhat2Find) Then
If $1stFound Then
$arFound[0] = $i & '|' & $k
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $k
$arFound[0] += 1
EndIf
EndIf
Next
Case $iCaseSense = 1 And $fPartialSearch
For $k = 0 To $UBound2nd-1
If StringInStr($avArray[$i][$k], $vWhat2Find, 1) Then
If $1stFound Then
$arFound[0] = $i & '|' & $k
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $k
$arFound[0] += 1
EndIf
EndIf
Next
EndSelect
Else
Select
Case $iCaseSense = 0 And (Not $fPartialSearch)
If $avArray[$i][$iDim] = $vWhat2Find Then
If $1stFound Then
$arFound[0] = $i & '|' & $iDim
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $iDim
$arFound[0] += 1
EndIf
EndIf
Case $iCaseSense = 1 And (Not $fPartialSearch)
If $avArray[$i][$iDim] == $vWhat2Find Then
If $1stFound Then
$arFound[0] = $i & '|' & $iDim
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $iDim
$arFound[0] += 1
EndIf
EndIf
Case $iCaseSense = 0 And $fPartialSearch
If StringInStr($avArray[$i][$iDim], $vWhat2Find) Then
If $1stFound Then
$arFound[0] = $i & '|' & $iDim
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $iDim
$arFound[0] += 1
EndIf
EndIf
Case $iCaseSense = 1 And $fPartialSearch
If StringInStr($avArray[$i][$iDim], $vWhat2Find, 1) Then
If $1stFound Then
$arFound[0] = $i & '|' & $iDim
Return $arFound
Else
ReDim $arFound[UBound($arFound)+1]
$arFound[UBound($arFound)-1] = $i & '|' & $iDim
$arFound[0] += 1
EndIf
EndIf
EndSelect
EndIf
Next
EndIf
Return $arFound
EndFunc ;==>_Array2DSearch -
Wonach hast du ihn denn gefragt?
-7^ (Potenz hat Priorität vor Minussymbol) oder
-7 zum Quadrat (quadriere die Zahl: -7) ?Genau da liegt nämlich der Unterschied.
Geiler Thread, endlich streitet man sich mal um wirklich wichtige Themen.
Kein Gedanke an Vogelgrippe und polensäugende Kanzlerin. -
OK, war nicht ideal
Sollte so besser klappen:Edit: dann können wir noch eine Variable sparen
Spoiler anzeigen
[autoit]While $msg <> $GUI_EVENT_CLOSE
[/autoit]
$msg = GUIGetMsg()
Select
Case $msg = $btnAUS
exit
Case $msg = $btnAN
SUB()
$begin = TimerInit()
EndSelect
If TimerDiff($begin) > 5000 Then; alle 5 Sekunden
SUB()
$begin = TimerInit()
EndIf
Wend -
Klick den Button "bCol Item2", dann siehst du's
-
Guckst du hier Bsp.:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate("listview items",220,250, 100,200,-1,$WS_EX_ACCEPTFILES)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor (0x00E0FFFF)$listview = GUICtrlCreateListView ("col1 |col2|col3 ", 10, 10, 200, 150)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetColor(-1, 0x0000A0)
GUICtrlSetBkColor(-1, 0xBBCCEE)
$button = GUICtrlCreateButton ("bCol Item2", 75, 170, 70, 20)
$item1=GUICtrlCreateListViewItem("item1|col12|col13", $listview)
;GUICtrlSetColor(-1, 0x007000)
GUICtrlSetBkColor(-1, 0xEE9999)
$item2=GUICtrlCreateListViewItem("item3|col22|col23", $listview)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetColor(-1, 0xC00000)
GUICtrlSetBkColor(-1, 0xCCEECC)
$item3=GUICtrlCreateListViewItem("item3|col32|col33", $listview)
GUICtrlSetColor(-1, 0x007000)
GUICtrlSetBkColor(-1, 0xEE9999)
$item4=GUICtrlCreateListViewItem("item4|col42|col43", $listview)
GUICtrlSetColor(-1, 0xC00000)
GUICtrlSetBkColor(-1, 0xCCEECC)GUISetState()
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit]
$msg = GUIGetMsg ()
Select
Case $msg = $button
;~ MsgBox(0, "listview item", GUICtrlRead(GUICtrlRead($listview)), 2)
GUICtrlSetBkColor($item2, 0x00008B)
Case $msg = $listview
MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
EndSelect
Until $msg = $GUI_EVENT_CLOSE -
Das führt jetzt zu Grundsatzdiskussionen. Vielleicht sollten wir dafür einen eigenen Thread aufmachen.
Du mußt zwischen der Aufgabe ( -7 zum Quadrat ) und der Schreibweise ( -7^ ) differenzieren. Das kann dein Matheprof nicht, weil er viel zu sehr in seiner wissenschaftlichen Betrachtungsweise hängt.Ich hab auch schon mal mit 'ner ähnlichen Geschichte meinen Mathelehrer geärgert:
Wieviel ist 3½ ?
Mein Lehrer wollte auf 3,5.
Ist trivial richtig, mathematisch exakt ist aber 1,5. ==> Ganze Zahl vor Bruch bedeutet Multiplikation:In diesem Sinne können wir also hier noch wochenlang weiter machen.
-
[autoit]
$started = 0
[/autoit]
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
Select
Case $msg = $btnAUS
exit
Case $msg = $btnAN
SUB()
$started = 1
EndSelect
If $started = 1 Then SUB()
Wend -
Da kann ich mir eine Bemerkung nicht verkneifen:
Nur ware Schrott-Taschenrechner lassen die Eingabe eines Rechen-Minus ohne vorhergehende Zifferneingabe zu.
Ich habe noch 'nen Taschenrechner aus meinen letzten Schultagen (so 1980). Und selbst der verweigert ein Rechen-Minus, wenn ich nicht vorher eine Ziffer eintippe. -
Zitat
-7^2 ist -7*7
GtaSpider, ich bin erschüttert. Sag mal gehst du nicht aufs Gymnasium.....
Also, hätte nie gedacht dass man solche Selbstverständlichkeiten erläutern muß.
Was bedeutet Quadrat ? - Ich multipliziere eine Zahl mit sich selbst!
Im Fall: -7^ wird also -7 mit sich selbst (wieder -7) multipliziert.
Ergo: heißt -7^= -7 * -7
Regel: minus mal minus gleich plus
daraus folgt: -7^= -7 * -7 = 49quod erat demonstrandum
-
Cooles Thema
-(7^2) = -49
Das bedeutet aber: -1 mal 7 zum Quadrat
Und das wäre wirklich: -49Aber -7 zum Quadrat ist und bleibt +49
-
Hi,
ich hab dir mal ein Skript zum Aufbröseln der Servernachricht erstellt:Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]
Dim $str = '_tutor_look_angle.._tutor_look_distance.200._tutor_message_character_display_tim' & _
'e_coefficient.0.07._tutor_message_minimum_display_time.1._tutor_message_repeats.' & _
'5._tutor_view_distance.1000.'
Dim $arNum[10] = ['0','1','2','3','4','5','6','7','8','9'], $strOut = '', $arOut$str = StringStripWS(StringReplace($str, '.', ' '),3)
[/autoit]
$arChars = StringSplit($str, '')
If IsArray($arChars) Then
For $i = 1 To $arChars[0]
If ( $arChars[$i] = ' ' ) Then
If ( _ArraySearch($arNum, $arChars[$i-1]) <> -1 ) Then ; Zeichen davor eine Ziffer ?
If ( _ArraySearch($arNum, $arChars[$i+1]) <> -1 ) Then _; Zeichen danach eine Ziffer ?
$arChars[$i] = '.'
EndIf
EndIf
$strOut &= $arChars[$i]
Next
;~ ConsoleWrite($strOut)
EndIf
$arOut = StringSplit($strOut, ' _', 1)
For $i = 1 To $arOut[0]
If StringLeft($arOut[$i], 1) <> '_' Then $arOut[$i] = '_' & $arOut[$i]
Next
_ArrayDisplay($arOut) -
So, mal schnell aus dem Ärmel (ohne Garantie,nur damit du die Richtung siehst):
Spoiler anzeigen
[autoit]; 1. Aufruf:
[/autoit] [autoit][/autoit] [autoit]
_Select($reply, $Antwort, $Zahl1, $behalten1)
; 2. Aufruf:
_Select($reply2, $Antwort2, $Zahl2, $behalten2)
; usw.Func _Select($REPLY, $ANTWORT, ByRef $ZAHL, ByRef $BEHALTEN)
[/autoit]
$REPLY=GUICtrlRead($ANTWORT[$z])
select
case $REPLY = $ZAHL
GUICtrlCreatePic("grün.gif", 200, $top, 20, 20)
$BEHALTEN=$REPLY
$ZAHL = "leer"
case $REPLY = $Zahl2 OR $REPLY = $Zahl3 OR $REPLY = $Zahl4
GUICtrlCreatePic("grau.gif", 200, $top, 20, 20)
case $REPLY <> $ZAHL OR $REPLY <> $Zahl2 OR $REPLY <> $Zahl3 OR $REPLY <> $Zahl4
GUICtrlCreatePic("rot.gif", 200, $top, 20, 20)
EndSelect
EndFunc -
Du kannst es glauben, ein "\" fehlt.
Deinem Pfad fehlt am Ende ein Backslash, siehe deine Fehlermeldung.
Also mußt du vor deinem Dateinamen einen Backslash einfügen.