hey autobert, ich bekomme dein script nicht ans laufen.
bei mir hapert es in der zeile
- $sSearchingFor = $aIni[Random(0, UBound($aIni) - 1)][0]
da hast du was geschrieben, dass eine zufallsreihe rausgesucht wird. wie kann ich das ändern, dass ich da eine buchstabeneingabe abrufen kann ?
z.b. ich gebe in die inputbox ein "Lw"
Bc,123,44,99,22,44
Ji,0.22,33.4,14,774,21
Lw,48,30.3,22.1,22.3,1
Ni,11.4,55,44,86,42
Hk,68,44,51.2,15,75
dann soll er mir die werte aus Lw in variable speichern.
die zahlen hinter den buchstaben ändern die anzahl, wie macht man das, dass man kein fehler bei der ausgabe bekommt wenn man jedes mal "Alle" zahlen in arrays speichern will ?
wenn z.b. nur 2 zahlen hinter den buchstaben stehen, sollen nur 2 arrays erstellt werden.
bei 5 zahlen sollen 5 arrays erstellt werden.
wie kann ich diese dann abrufen ?
bei mir sieht das ganze so aus: wobei $aini keine random zahl im array ist sondern buchstaben( in diesem fall : "Lw")
Global $aini = $input[0] & $input[1] ; =Lw
MsgBox(0,"",$aini)
$sData=ClipGet() ;Daten aus Zwischenablage auslesen
#cs
$hFile=FileOpen('Pseudo.Ini',$FO_OVERWRITE)
FileWrite($hFile,$sData)
FileClose($hFile)
#ce
;$sData=FileRead('Pseudo.Ini')
_PseudoIniCreate($sData) ;PseudoIni als 2D-Array erzeugen
$sSearchingFor=$aIni[Random(0,UBound($aIni)-1)][0]
$sFound=_PseudoIniRead($sSearchingFor)
$bIsStrinArray=@extended
If Not @error Then
MsgBox(0,'für '&$sSearchingFor&':', $sFound&@CRLF&@CRLF&'Teilstrings: '&$bIsStrinArray)
Else
ConsoleWrite(@CRLF&$sSearchingFor&' = '&$sFound&@TAB&'Fehler: '&@error&' Extended: '&@extended&@CRLF&@CRLF)
EndIf
If $bIsStrinArray Then
$aRes=StringSplit($sFound,'|',1+2)
_ArrayDisplay($aRes,$sSearchingFor)
EndIf
EndFunc
Func _PseudoIniCreate($sIniText)
$aIni = StringSplit($sIniText, @CRLF, 1 + 2) ;=> 1D Array aller kopierten Zeilen
_ArrayColInsert($aIni,1) ;aus 1D 2D machen
For $i = UBound($aIni)-1 To 0 Step -1 ;Zeilen durchgehen
$aIni[$i][0] = StringReplace($aIni[$i][0], ',', '=', 1) ;1. Komma mit Gleichzeichen ersetzen
$split = StringSplit($aIni[$i][0], '=', 1 + 2) ;Zeile mit = trennen
If UBound($split) > 1 Then ;Datenwerte eintragen
$aIni[$i][0] = $split[0]
$aIni[$i][1] = $split[1]
Else
_ArrayDelete($aIni,$i)
EndIf
Next
_ArrayDisplay($aIni)
EndFunc ;==>_PseudoIniCreate
Func _PseudoIniRead($sKey)
;Syntax _PseudoIniRead('DerGesuchteString')
;
;Parameter: $sKey enthält den zu suchenden "Key" im PseudoIni-Array
;
;Rückgabe: bei Erfolg: einen | getrennten String = "Value" des "Keys"
; @error = 0
; @extended = Anzahl der Teilstrings
;
; bei Fehler: @error = 1
; @extended = 0
;gibt bei Erfolg für $sKey zurück
Local $sRet, $iErr=1, $iExt=0
For $i = 0 To UBound($aIni) - 1 Step 1
If $aIni[$i][0] = $sKey Then
$sRet=StringReplace($aIni[$i][1],',','|')
$iExt=@extended+1
$iErr=0
ExitLoop
EndIf
Next
SetError($iErr,$iExt)
Return $sRet
EndFunc ;==>_PseudoIniRead
Alles anzeigen