Okay versteh!
Dann würde ich es so machen !
[autoit]StringRegExpReplace($String, @CRLF & '|' & @CR & '|' & @LF, '')
[/autoit]LG Kleiner
Okay versteh!
Dann würde ich es so machen !
[autoit]StringRegExpReplace($String, @CRLF & '|' & @CR & '|' & @LF, '')
[/autoit]LG Kleiner
Hey!
Das StringReplace reicht doch aus ???
MsgBox(0, 0, 'Hallo' & @CRLF & ' 0x0052698'& @CRLF & ' 0x005285464')
MsgBox(0, 0, CRLF('Hallo' & @CRLF & ' 0x0052698'& @CRLF & ' 0x005285464'))
Func CRLF($String)
Return StringReplace($String, @CRLF, '')
EndFunc ;==>CRLF
Hi SEuBo!
Schöne Idee .... auch ohne fehler bei mir! ![]()
LG Kleiner
Hi AutoBert!
Schöner Code , Läuft bei mir auch super!
Was hälst du davon wenn du noch ein .wav - mp3 wandlung einbaust?? ( erweiterung)
Hätte da ein Code schni´.... ![]()
LG Kleiner
Ich würde dir empfehlen erst mal sich an die Hilfe zu setzen und sich selber weiter entwickel als nach einfachere Möglichkeiten umzuschauen.
Zumal wie du selber sagst wenig Erfahrung hast.
Fang mit was Kleinem an und arbeite dich schritt für Schritt weiter!
Und zu deiner Frage ja das ist möglich aber dann alles auf Basis von editboxen wobei dann aber keine Tabelle mehr entsteht.
LG Kleiner
Wenn es dir nichts ausmacht pack eine zip mit den Verzeichnissen und datein und Poste!
LG Kleienr
ZitatDie INI liegt doch im @ScriptDir drin, oder stehe ich mir gerade selber auf der Leitung?
JA
!
Bei jeder ausleseoperation solten die FUnktionen schon wissen wo ligt die datei und wie heißt sie.
LG Kleiner
Soweit mir bekannt ist es nicht möglich!
Möglichkeit Form($GUI) vergrössern und mit :
_GUICtrlListView_SetColumnWidth('', '', $LVSCW_AUTOSIZE)
[/autoit]
anpassen!
LG Kleiner
Hi!
In den momenten wo Fehler 0 kommt hast du mal geschaut das die datei nicht gerade benutzt wird geöffnet o. weiteres!
Edit: zu langsam
LG Kleiner
Was ich im groben shen konnte ist das bei
[autoit]$file_1, $inifile_1
[/autoit]
Das Verzeichniss fehlt, das FileOpen weiss was und wo geöffnet wird.
Edit: bei IniReadSection auch !
LG Kleienr
Habe gerade noch gesehen in zeile 107 u. 108, Brauchst du nicht kannst du löschen.
Dim $file = FileOpen($schichtsetz, 2)
FileClose($file)
LG Kleiner
Hast du auch die zweite Version genommen die ich gePostet habe und eine test.ini im selben Verzeichnis erstellt?
Edit: Obwol das mit der .ini nicht wichtig ist den datei wird erstellt wenn der Code geschlossen wird.
LG Kleiner
Hatte ein Fehler in der ersten Version , das zusammen schneiden , da mußt eich noch was anpassen! ![]()
LG Kleiner
Hi!
@Stormrider
Ein ausschnit aus ein Code von mir, nur mal um zu veranschaulichen was alles benötigt wir, es geht noch kürzer aber diesen code habe ich gerade gefunden.
#include <GuiListView.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Opt('GUIOnEventMode', 1)
Local $TabelleKopf = 'Bezeichnung|Wert', $schichtsetz = @ScriptDir & '\test.ini', $iEdit = -1
Local $hLVH, $hListview
Global $GUI5 = GUICreate('Schichtwerte', 163, 345, -1, -1, $WS_SIZEBOX)
GUISetBkColor(0xFFFACD)
GUISetOnEvent(-3, '_gui5exit')
Dim $aEr[3], $in, $in1, $hLis, $hLVH, $hCM, $new, $Be, $Lo
Dim $ae[3][2] = [['Neu Eintrag', 'LiSaEd'],['Bearbeiten', 'LiSaEd'],['Eintrag Löschen', 'LiSaEd']]
Dim $OM1 = GUICtrlCreateMenu(' M&enü ')
For $i = 0 To 2
$aEr[$i] = GUICtrlCreateMenuItem($ae[$i][0], $OM1)
GUICtrlSetOnEvent(-1, $ae[$i][1])
Next
$hListview = GUICtrlCreateListView($TabelleKopf, 1, 1, 159, 299)
$hLVH = GUICtrlGetHandle($hListview)
Dim $hCM = GUICtrlCreateContextMenu($hLis)
Dim $new = GUICtrlCreateMenuItem('Neuer Eintrag', $hCM)
GUICtrlSetOnEvent(-3, 'LiSaEd')
Dim $Be = GUICtrlCreateMenuItem('Bearbeiten', $hCM)
GUICtrlSetOnEvent(-3, 'LiSaEd')
Dim $Lo = GUICtrlCreateMenuItem('Löschen', $hCM)
GUICtrlSetOnEvent(-3, 'LiSaEd')
GUISetState()
Global $GUI6 = GUICreate('Setzen', 260, 140, -1, -1, $WS_SYSMENU)
GUISetBkColor(0xFFFACD)
GUISetOnEvent(-3, '_G6H')
Dim $aH, $hCreate, $nesa
$aH = StringSplit($TabelleKopf, '|')
Dim $aNew[$aH[0]]
For $i = 1 To $aH[0]
GUICtrlCreateLabel($aH[$i], 4 + ($i - 1) * 125, 15, 110, 20)
GUICtrlSetFont(-1, 8, 400, 0, 'Verdana')
$aNew[$i - 1] = GUICtrlCreateInput('', 2 + ($i - 1) * 125, 30, 120, 20, Default, $WS_EX_STATICEDGE)
GUICtrlSetFont(-1, 10, 600, 0, 'Verdana')
Next
$nesa = GUICtrlCreateButton('Eintrag speichern', 60, 65, 120, 25, $BS_DEFPUSHBUTTON)
GUICtrlSetOnEvent(-1, 'LiSaEd')
_GUICtrlListView_RegisterSortCallBack($hLVH)
GUISetState(@SW_HIDE, $GUI6)
Load()
[/autoit] [autoit][/autoit] [autoit]Func LiSaEd()
Dim $sItem = ''
If @GUI_CtrlId = $aEr[0] Or @GUI_CtrlId = $new Then
$iEdit = -1
Return GUISetState(@SW_SHOW, $GUI6)
EndIf
Switch @GUI_CtrlId
Case $aEr[0], $new, $nesa
For $i = 0 To UBound($aNew) - 1
If $iEdit > -1 Then
_GUICtrlListView_SetItemText($hLVH, $iEdit, GUICtrlRead($aNew[$i]), $i)
Else
$sItem &= GUICtrlRead($aNew[$i]) & '|'
EndIf
If GUICtrlRead($aNew[$i]) <> '' Then GUICtrlSetData($aNew[$i], '')
Next
If $iEdit > -1 Then
$iEdit = -1
_GUICtrlListView_SortItems($hLVH, GUICtrlGetState($hListview))
_GUICtrlListView_SortItems($hLVH, GUICtrlGetState($hListview))
Else
If $sItem <> '|' Then
GUICtrlSetState($aNew[0], $GUI_FOCUS)
GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $hListview)
_GUICtrlListView_SortItems($hLVH, GUICtrlGetState($hListview))
_GUICtrlListView_SortItems($hLVH, GUICtrlGetState($hListview))
EndIf
EndIf
Case $aEr[1], $Be
GUISetState(@SW_SHOW, $GUI6)
Dim $aItem
$iEdit = _GUICtrlListView_GetSelectionMark($hLVH)
If $iEdit > -1 Then
$aItem = _GUICtrlListView_GetItemTextArray($hLVH, $iEdit)
For $i = 1 To $aItem[0]
GUICtrlSetData($aNew[$i - 1], $aItem[$i])
Next
EndIf
Case $aEr[2], $Lo
If MsgBox(292, 'Einträge löschen', 'Wollen sie die markierten Einträge wirklich löschen?') = 6 Then _GUICtrlListView_DeleteItemsSelected($hLVH)
EndSwitch
EndFunc ;==>LiSaEd
Func Load()
Dim $hFile = IniReadSection($schichtsetz, 'Data')
_GUICtrlListView_DeleteAllItems($hLVH)
_GUICtrlListView_BeginUpdate($hLVH)
For $i = 1 To UBound($hFile) - 1
ConsoleWrite($hFile[$i][1]& @CRLF)
GUICtrlCreateListViewItem(String($hFile[$i][1]), $hListview)
Next
_GUICtrlListView_EndUpdate($hLVH)
EndFunc ;==>Load
Func Save()
Dim $file = FileOpen($schichtsetz, 2)
FileClose($file)
For $i = 0 To _GUICtrlListView_GetItemCount($hLVH) - 1
IniWrite($schichtsetz, 'Data', '0' & $i + 1, _GUICtrlListView_GetItemTextString($hLVH, $i))
Next
EndFunc ;==>Save
Func _gui5exit()
Save()
Exit
EndFunc ;==>_gui5exi
Func _G6H()
GUISetState(@SW_HIDE, $GUI6)
_GUICtrlListView_UnRegisterSortCallBack($hLVH)
EndFunc ;==>_G6H
While Sleep(10)
WEnd
Edit: Sorry war ein Fehler drin , Ist Behoben ! ![]()
LG KLeiner
Hi eukalyptus
Sehr schöne arbeit.
LG Kleiner
Hi!
AspirinJunkie
Tatsächlich auf großen Array holt deine Version noch ein wenig raus Klasse ![]()
Habe ein Bug in der Version von gestern gefunden: Behoben u. Doppelt so schnell im 2DArray Vergleich
Update: Post#1
LG Kleiner
Hi Leute!
Erstmal Danke schön für euer Interesse und Ideen!
BugFix
An deiner reinen Array such kann man ja nicht mehr viel ändern supper durchdacht nur ist diese Funktion ein wenig zu Langsam!
Habe aber deine Idee der 2D prüfung übernommen für die _ObjektAr2DDubDel ![]()
eukalyptus
Wow verdamt schnell habe die Funktion _ArrayUnique_ eingebunden für die Func _ObjektAr2DDubDel ![]()
Update Post#1 = _ObjektAr2DDubDel
Verarbeitet 1D u. D2 Array und das sehr schnell.
LG Kleiner
Hi Leute!
Habe mir gedacht das diese Beiden Funktionen vielleicht nützlich für den einen o. anderen diese Func sucht in ein 1D-Array noch Doppelt vorkommende Einträge
man kann sie wenn man möchte löschen lassen und das angepasste Array ausgeben lassen.
FindDuplicateDeleteArray:
Ist entstanden aus der Idee und Umsetzung von AspirinJunkie entstanden wo ich schon mal so eine Funktion geschrieben habe.
; #FUNCTION# ;=============================================================================================
;
; Name...........: FindDuplicate_DeleteArray
; Description ...: Findet Elemente deren Name mehrmals vorkommt
; Syntax.........: FindDuplicate_DeleteArray($avArray [, $Rein = 0])
; Parameters ....: $avArray - Array1D [ $Rein - Array Doppelte einträge entfernen 0-nein / 1-Ja]
; Return values .: Erfolg - 1D-Array mit den Doppelten Elemente o. 1D-Array ohne den Doppelten Elemente
; Fehler - Gibt -1 zurück und setzt @error:
; |1 - Fehler beim erstellen der Collections
; |2 - Kein 1DArray
; Author ........: Idee von AspirinJunkie / [ created by Kleiner27 http://www.AutoIT.de ]
; Modified.......:
; Remarks .......: Benötigt .Net für Collections
; Related .......:
; Link ..........;
; Example .......; No
; [ created by Kleiner27 http://www.AutoIT.de ] 01.05.2010
; ;=========================================================================================================
Func FindDuplicate_DeleteArray(ByRef $avArray, $Rein = 0)
Local $iEle = ObjCreate('System.Collections.Queue')
If @error Then Return SetError(1, 1, -1)
Local $iDub = ObjCreate('Scripting.Dictionary')
If @error Then Return SetError(1, 2, -1)
Local $iRad = ObjCreate('Scripting.Dictionary')
If @error Then Return SetError(1, 3, -1)
If (UBound($avArray, 0) <> 1) Then Return SetError(2, 0, '')
Local $iDir, $iTmp, $iCount = 0
For $i = 0 To UBound($avArray) - 1
$iEle.Enqueue($avArray[$i])
$iDir = $iEle.Dequeue
If $iDub.Exists($iDir) Then
If $iRad.Exists($iDir) Then
$iTmp = $iRad($iDir)
$iRad.Remove($iDir)
$iRad.Add($iDir, $iTmp & '[' & $i)
Else
$iRad.Add($iDir, '[' & $iDub($iDir) & '[' & $i)
EndIf
Else
$iDub.Add($iDir, $i)
EndIf
Next
Local $R_Array[$iRad.Count], $Tmp_Array
If ($Rein) Then
For $i In $iRad.Keys
$Tmp_Array = StringSplit(StringTrimLeft($iRad($i), 1), '[')
If IsArray($Tmp_Array) Then
For $i = 1 To UBound($Tmp_Array) - 2
$avArray[$Tmp_Array[$i]] = ''
Next
EndIf
Next
$Tmp_Array = ''
If IsString($Tmp_Array) Then
For $_i_ In $avArray
If ($_i_ > '') Then $Tmp_Array &= '|' & $_i_
Next
EndIf
$Tmp_Array = StringSplit(StringTrimLeft($Tmp_Array, 1), '|')
If IsArray($Tmp_Array) Then
For $i = 0 To UBound($Tmp_Array) - 2
$Tmp_Array[$i] = $Tmp_Array[$i + 1]
Next
ReDim $Tmp_Array[UBound($Tmp_Array) - 1]
Return $Tmp_Array
EndIf
EndIf
For $i In $iRad.Keys
$R_Array[$iCount] = $i & ' ' & $iRad($i)
$iCount += 1
Next
Return $R_Array
EndFunc ;==>FindDuplicate_DeleteArray
ArraySortingFindDuplicateDelete:
Diese Funktion hat mehrere Optionen unter einem Dach
[Sortieren, Doppelte Einträge finden, gegeben falls Array anpassen (Löschen ) , Start u. Ende Bestimmen]
; #FUNCTION# ;=============================================================================================
;
; Name...........: ArraySorting_FindDuplicate_Delete
; Description ...: Findet Elemente deren Name mehrmals vorkommt
; Syntax.........: ArraySorting_FindDuplicate_Delete($avArray[, $Abst [, $Start [, $End [, $Rein [, $Sort ]]]]])
;
; Parameters ....: $avArray - Array1D
; $Abst - Wenn auf 1 gesetzt, sortieren absteigend
; $Start - Index des Array beim Start
; $End - Index der Array beim Ende
; $Rein - Wenn auf 1 gesetzt, Bei der ausgabe alle Doppelte Eldemente Entfernen
; $Sort - Wenn auf 1 gesetzt, Nur Sortiert ausgeben in Kombination mit $Abst ist möglich
;
; Return values .: Erfolg - 1D-Array mit den Doppelten Elemente o. 1D-Array ohne den Doppelten Elemente o.
; 1D-Array nur Sortiert wenn 1=aubsteigend
;
; Fehler - Gibt -1 zurück und setzt @error:
; |1 - Wenn keine Array
; |2 - Wenn Start größer als Ende
; |3 - Wnn kein 1D-Array
;
; Author ........: Kleiner27
; Modified.......:
; Remarks .......:
; Related .......: _Sort()
; Link ..........;
; Example .......;
;
; Integriert u. Modified; _ArrayReverse() u. _ArraySort()-1D
;
;
; [ created by Kleiner27 http://www.AutoIT.de ] 01.05.2010
; ;=========================================================================================================
Func ArraySorting_FindDuplicate_Delete(ByRef $avArray, $Abst = 0, $Start = 0, $End = 0, $Rein = 0, $Sort = 0)
If Not IsArray($avArray) Then Return SetError(1, 0, -1)
If ($Start > $End) Then Return SetError(1, 2, -1)
If (UBound($avArray, 0) <> 1) Then Return SetError(1, 3, -1)
Local $Start_2 = $Start
Local $Tmp, $Tmp_Array, $iSTelle
Local $iUB = UBound($avArray) - 1
Local $iDelim = '|', $Delim = '[', $Leer = ''
If ($End < 1 Or $End > $iUB) Then $End = $iUB
_Sort($avArray, $Start, $End)
If ($Abst) Then
For $i = $Start_2 To Int(($Start_2 + $iUB - 1) / 2)
$Tmp = $avArray[$i]
$avArray[$i] = $avArray[$iUB]
$avArray[$iUB] = $Tmp
$iUB -= 1
Next
EndIf
If ($Sort) Then Return $avArray
For $i = $Start To $End
$iSTelle = $Leer
For $e = $i To $End
If ($avArray[$e] <> $avArray[$i]) Then ExitLoop
$iSTelle &= $Delim & $e
Next
If ($e - $i < 2) Then ContinueLoop
$Tmp_Array &= $iDelim & $avArray[$i] & ' ' & $iSTelle
$i += ($e - $i - 1)
Next
If ($Rein) Then
If ($Tmp_Array = $Leer) Then Return $avArray
$Tmp_Array = StringSplit(StringTrimLeft($Tmp_Array, 1), $Delim)
If IsArray($Tmp_Array) Then
For $i = 1 To UBound($Tmp_Array) - 1
If (StringIsDigit($Tmp_Array[$i]) = 1) Then $avArray[$Tmp_Array[$i]] = $Leer
Next
EndIf
$Tmp_Array = $Leer
If IsString($Tmp_Array) Then
For $_i_ In $avArray
If ($_i_ > $Leer) Then $Tmp_Array &= $iDelim & $_i_
Next
EndIf
EndIf
If ($Tmp_Array = $Leer) Then Return $avArray
$Tmp_Array = StringSplit(StringTrimLeft($Tmp_Array, 1), $iDelim)
If IsArray($Tmp_Array) Then
For $i = 0 To UBound($Tmp_Array) - 2
$Tmp_Array[$i] = $Tmp_Array[$i + 1]
Next
ReDim $Tmp_Array[UBound($Tmp_Array) - 1]
Return $Tmp_Array
EndIf
EndFunc ;==>ArraySorting_FindDuplicate_Delete
Func _Sort(ByRef $avArray, ByRef $iStart, ByRef $iEnd)
Local $Tmp, $K = $iEnd, $G = $iStart
Local $oPru = $avArray[Int(($iStart + $iEnd) / 2)]
If (($iEnd - $iStart) < 15) Then
For $i = $iStart + 1 To $iEnd
$Tmp = $avArray[$i]
For $e = $i - 1 To $iStart Step -1
If ($Tmp >= $avArray[$e]) Then ExitLoop
$avArray[$e + 1] = $avArray[$e]
Next
$avArray[$e + 1] = $Tmp
Next
Return (0)
EndIf
Do
While ($avArray[$G] < $oPru)
$G += 1
WEnd
While ($avArray[$K] > $oPru)
$K -= 1
WEnd
If ($G <= $K) Then
$Tmp = $avArray[$G]
$avArray[$G] = $avArray[$K]
$avArray[$K] = $Tmp
$G += 1
$K -= 1
EndIf
Until $G > $K
_Sort($avArray, $iStart, $K)
_Sort($avArray, $G, $iEnd)
EndFunc ;==>_Sort
Diese Funktion ist erst mal auf 1D-Array aufgebaut möchte auf Feedback warten vielleicht hat jemand noch Ideen
Verbesserungsvorschläge und dann werde ich die Func auf 2d-Array erweitern.
_ObjektAr2DDubDel:
Ubdate : Bug Behoben und Doppelt so schnell wie vorher im 2DArray Vergleich.
; #FUNCTION# ;=============================================================================================
;
; Name...........: _ObjektAr2DDubDel
; Description ...: Findet Elemente deren Name mehrmals vorkommt und Löst dies aus ein 1D o. 2D Array
; Syntax.........: _ObjektAr2DDubDel($avArray)
; Parameters ....: $avArray - Array1D o. Array2D
; Return values .: Erfolg - 1D-Array o. Array2D mit den Doppelten Elemente
;
; Fehler - Gibt -1 zurück und setzt @error:
; |1 - Fehler beim erstellen der Collections
;
; Author ........: Kleiner27 http://www.AutoIT.de
; Modified.......:
; Remarks .......:
; Related .......:
; Link ..........;
; Example .......; No
; [ created by Kleiner27 http://www.AutoIT.de ] 06.05.2010
; ;=========================================================================================================
Func _ObjektAr2DDubDel(ByRef $avArray)
Local $ScripDict = ObjCreate('Scripting.Dictionary')
If @error Then Return SetError(1, 1, -1)
Local $iTmp
Local $TmpArray
Local $iTmp_Save
Local $TmpArrayReturn[1][2]
Local $iEnd = UBound($avArray)
Local $1D2D = UBound($avArray, 2)
If @error = 2 Then
$ScripDict.RemoveAll
For $For In $avArray
If Not $ScripDict.Exists($For) Then $ScripDict.Add($For, 0)
Next
Return $ScripDict.Keys()
Else
For $1D = 0 To $iEnd - 1
$TmpArray &= '|'
For $2D = 0 To $1D2D - 1
$TmpArray &= $avArray[$1D][$2D]
Next
Next
$TmpArray = StringSplit(StringTrimLeft($TmpArray, 1), '|')
For $i = 1 To UBound($TmpArray) - 1
$iTmp = $TmpArray[$i]
If Not $ScripDict.Exists($iTmp) Then
$ScripDict.Add($iTmp, 0)
$iTmp_Save &= '|' & $i - 1 & $iTmp
EndIf
Next
$1D = 0
ReDim $TmpArrayReturn[$iEnd][$1D2D]
$TmpArray = StringSplit(StringTrimLeft($iTmp_Save, 1), '|')
For $i = 1 To UBound($TmpArray) - 1
For $2D = 0 To $1D2D - 1
$TmpArrayReturn[$1D][$2D] = $avArray[Number($TmpArray[$i])][$2D]
Next
$1D += 1
Next
ReDim $TmpArrayReturn[$1D][$1D2D]
Return $TmpArrayReturn
EndIf
EndFunc ;==>_ObjektAr2DDubDel
Test Code für _ObjektAr2DDubDel
#include 'Array.au3'
#include '_ObjektAr2DDubDel.au3'
;$max = 99
;$max = 999
;$max = 9999
$max = 99999
;$max = 999999
;Dim $Zu_Sa[$max]
Dim $Zu_Sa[$max][15]
For $i = 0 To $max - 1
;$Zu_Sa[$i] = Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & '.' & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1))
$Zu_Sa[$i][0] = Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & '.' & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1)) & Chr(Random(65, 67, 1))
$Zu_Sa[$i][1] = $Zu_Sa[$i][0]
$Zu_Sa[$i][2] = $Zu_Sa[$i][0]
$Zu_Sa[$i][3] = $Zu_Sa[$i][0]
$Zu_Sa[$i][4] = $Zu_Sa[$i][0]
$Zu_Sa[$i][5] = $Zu_Sa[$i][0]
$Zu_Sa[$i][6] = $Zu_Sa[$i][0]
$Zu_Sa[$i][7] = $Zu_Sa[$i][0]
$Zu_Sa[$i][8] = $Zu_Sa[$i][0]
$Zu_Sa[$i][9] = $Zu_Sa[$i][0]
$Zu_Sa[$i][10] = $Zu_Sa[$i][0]
$Zu_Sa[$i][11] = $Zu_Sa[$i][0]
$Zu_Sa[$i][12] = $Zu_Sa[$i][0]
$Zu_Sa[$i][13] = $Zu_Sa[$i][0]
$Zu_Sa[$i][14] = $Zu_Sa[$i][0]
Next
sleep(2000)
ConsoleWrite('start' & @CRLF)
Local $iTimer = TimerInit()
Dim $A = _ObjektAr2DDubDel($Zu_Sa)
;_ArraySort($A)
_ArrayDisplay($A , ' Nach u. Time : _ObjektAr2DDubDel' & Round(TimerDiff($iTimer)))
Viel Spass.
LG Kleiner
Moin!
Mir komm da erstmal auch keine Ideen mehr!
Wir haben ja noch den DubellFinder, jetzt werde ich die Func erstmal nach oben stellen! ![]()
LG Kleiner