Hi jungs ![]()
ich habe ein problem
und zwar möchte ich für eine AG in der schule ein programm schreiben, welches den inhalt der Festplatte mit einem vorherigen speicherstand vergleicht.
Also irgendwann wird der speicherstand aktualisiert und wenn man später checkt ob er noch gleich ist soll er mir die pfade der dateien ausspucken die fehlen bzw neu dazu gekommen sind.
im moment erkennt er zwar wenn die inhlate nichtmehr übereinstimmen, aber wenn ich versuche die inhalte mit StringReplace von einander "abzuziehen" dann spuckt er eine rießige liste aus ![]()
hoffe ihr könnt mir helfen
[autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <_GetFilesFolder_Rekursiv.au3>
#include <Array.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 766, 553, 268, 309)
$Button1 = GUICtrlCreateButton("Durchsuchen...", 56, 464, 219, 57, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Go", 488, 472, 219, 57, $WS_GROUP)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 729, 433)
GUICtrlSetData(-1, "Edit1")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$pfad = FileSelectFolder("Pfad aussuchen","")
if $pfad <> "" Then
GUICtrlSetData($Edit1,'"'&$pfad&'" wurde ausgewählt')
$string = _GetFilesFolder_Rekursiv($pfad,-1,0,1)
$text = GUICtrlRead($Edit1)
GUICtrlSetData($Edit1,$text&@CRLF&"Daten wurden in das Array eingelesen."&@CRLF)
IniWrite("C:\speicher.ini","1","string",$string)
IniWrite("C:\speicher.ini","2","pfad",$pfad)
EndIf
Case $Button2
GUICtrlSetData($Edit1,GUICtrlRead($Edit1)&@CRLF&"Daten werden verglichen...")
$string2 = _GetFilesFolder_Rekursiv($pfad,-1,0,1)
if $string==$string2 Then
GUICtrlSetData($Edit1,GUICtrlRead($Edit1)&@CRLF&"Daten stimmen überein!")
Else
If StringCompare($string,$string2) > 0 Then
$file = StringReplace($string2,$string,"")
Else
$file = StringReplace($string,$string2,"")
EndIf
GUICtrlSetData($Edit1,GUICtrlRead($Edit1)&@CRLF&"Daten stimmen NICHT überein!"&@CRLF&$file&@CRLF)
EndIf
EndSwitch
WEnd