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

Beiträge von Micha_he

  • WinFuture Hotfix Installer

    • Micha_he
    • 22. Dezember 2007 um 16:36

    oder Du liest mit RegRead z.B. den AutoAdminLogon-Wert und wenn der auf "1" steht, überspringst Du den Anfang deines Scriptes.

  • WinFuture Hotfix Installer

    • Micha_he
    • 22. Dezember 2007 um 14:06

    Das mit dem erneuten ausführen nach dem Neustart, ist doch bei Windows eingebaut:

    Das Script/ die Exe nach "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"

    und unter "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

    folgende (glaub ich jedenfalls) Einträge ausfüllen

    DefaultUserName =
    DefaultPassword =
    AutoAdminLogon = 1

    Dann wird automatisch der User eingeloggt und das Script/Programm gestartet. Anschließend sollte die Daten für den automatischen Login wieder gelöscht werden. Der "RunOnce"-Schlüssel bereinigt sich alleine.

  • Text auf/vor Progressbar

    • Micha_he
    • 21. Dezember 2007 um 11:10

    Es soll nur eine Beschreibung des gerade ablaufenden Vorgangs sein, Keine %-Anzeige. Daher müsste ich den Wert, solange die Progressbar läuft, nicht ändern.

  • admininstallation

    • Micha_he
    • 21. Dezember 2007 um 11:07

    Ich weiß jetzt nicht ob Dir das etwas hilft oder ob ich Dich falsch verstehe, ich programmiere das immer wie folgt:

    Spoiler anzeigen
    Code
    #include <GUIConstants.au3>
    
    
    Dim $bar, $pid, $startbefehl, $i
    
    
    GUICreate("Test",200,100)
    $bar = GUICtrlCreateProgress (10,15,180,20,$PBS_SMOOTH)
    GUISetState(@SW_SHOW)
    $startbefehl = "C:\WINDOWS\system32\notepad.exe"
    $pid = Run($startbefehl,"",@SW_SHOW,6)
    
    
    While ProcessExists($pid)
    	$i += 1
    	If $i = 101 then $i = 0
    	GUICtrlSetData($bar,$i)
    	Sleep(100)                                                                                            
    Wend
    
    
    While 1
    	$msg = GuiGetMsg()
    	Select
    
    		Case $msg = $GUI_EVENT_CLOSE
    			Exit
    
    	EndSelect
    Wend
    Alles anzeigen

    Hier als Beispiel mit dem Notepad. In Zeile 11 muss die korrekte PID des Prozesses abgefragt werden. Wenn bei mehreren gleichnamigen Prozessen nicht eindeutig klar ist welcher der gestartete ist, lies vor dem Start eine Processliste mit "ProcessList ([name])" ein und vergleiche sie mit eine Liste nach dem Start. So findest Du die passende PID, wenn sie nicht wie in meinem Beispiel beim Start (Zeile 9) ermittelt werden kann.

  • Worthäufigkeit eines Textes bestimmen

    • Micha_he
    • 20. Dezember 2007 um 19:51

    Wenn Du die Häufigkeit eines Wortes in einem String bestimmen willst,
    könntest Du doch die Funktion "StringReplace" benutzen. In der Variablen
    "@extended"
    steht nach der Ausführung (laut der AutoIt-Hilfe) die Anzahl
    der Ersetzungen.

    Und wenn Du nichts ersetzen möchtest, ersetzt Du das gesuchte Wort
    durch sich selbst.

    Gruß
    Micha_he

  • Text auf/vor Progressbar

    • Micha_he
    • 20. Dezember 2007 um 18:55

    Besten Dank für den Tip ;)

    Dann hätten es aber auch die zwei Zeilen 8 und 19 (ohne Funktion) getan....

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants .au3="">

    [/autoit] [autoit][/autoit] [autoit]

    Dim $i, $bar, $lblproz

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Progresstest",220,100)
    $bar = GUICtrlCreateProgress (10,15,200,20,$PBS_SMOOTH)
    $lblproz = GUICtrlCreateLabel ("Text soll sichtbar bleiben", 10,17,200,20,$SS_CENTER)
    GUICtrlSetBkColor($lblproz,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor($lblproz,0xFFFFFF)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    sleep(2000)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    $i += 1
    If $msg = $GUI_EVENT_CLOSE Or $i = 101 Then ExitLoop
    GUICtrlSetData($bar,$i)
    GUICtrlSetState($lblproz,$GUI_Enable)
    Sleep(100)
    Wend

    [/autoit]

    Gut, flimmern tut es bei mir nicht, schöner wäre es aber, man könnte ein
    Objekt fest vor ein anderes stellen. Dann müsste man nicht ständig das
    Label wieder nach vorne holen.

  • Text auf/vor Progressbar

    • Micha_he
    • 20. Dezember 2007 um 17:32

    Gibt es eine Möglichkeit, auf/vor einer ablaufenden Progressbar, einen
    Text anzuzeigen ? Bei mir verschwindet der Text immer wieder, wenn
    ich der Progressbar ein aktuellen Wert zuweise.

    Hier ein Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants .au3="">

    [/autoit] [autoit][/autoit] [autoit]

    Dim $i, $bar, $lblproz

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Progresstest",220,100)
    $bar = GUICtrlCreateProgress (10,15,200,20,$PBS_SMOOTH)
    $lblproz = GUICtrlCreateLabel ("Text soll sichtbar bleiben", 10,15,200,20,$SS_CENTER)
    GUICtrlSetColor($lblproz,0xFFFFFF)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(2000)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    $i += 1
    If $msg = $GUI_EVENT_CLOSE Or $i = 101 Then ExitLoop
    GUICtrlSetData($bar,$i)
    Sleep(100)
    Wend

    [/autoit]
  • AD PrimaryGroup fehlt

    • Micha_he
    • 26. Juli 2007 um 10:05

    Hier nun meine gesamte Lösung.

    Das Script erstellt eine HTML-Datei über alle Gruppen und deren Mitglieder innerhalb des aktuellen AD.

    Spoiler anzeigen
    [autoit]

    ; Diese Script erstellt eine Übersicht über alle Gruppen einer Domäne.
    ; Zur Ausführung sind Domänen-Admin-Rechte notwendig
    ; Es wird auch die Primär-Gruppe eines Benutzers beachtet
    ;
    ; Es wird die UDF-Datei "ADFunctions.au3" im Unterordner "Include" erwartet
    ;
    ; geschrieben von Michael Schröder, 25.07.2007

    Opt("MustDeclareVars",1)
    #include <include\ADFunctions.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Dim $grparray[1], $userarray[1], $grpindex, $userindex
    Dim $memindex, $memarray[1], $file, $name, $mitglieder
    Dim $outfile = "ADGruppenuebersicht.htm"

    [/autoit] [autoit][/autoit] [autoit]

    SplashTextOn("","Bitte warten, die Datei" & @CRLF & $outfile & @CRLF & "wird erzeugt." ,"400","100","-1","-1",33,"Times New Roman","18","700")
    ; Ein Array wird mit allen AD-Gruppen gefüllt
    _ADGetAllGroups($grparray,$strDNSDomain)
    ; Ein Array wird mit allen AD-Usern gefüllt
    _ADGetAllUsers($userarray,$strDNSDomain)
    ; das User-Array wird um eine Spalte mit der 'PrimaryGroup' erweitert
    $userarray = _PGroupAdd($userarray)
    $file = FileOpen($outfile,1)
    ; die HTML-Datei wird erzeugt
    FileWriteLine($file,"<HTML>")
    FileWriteLine($file,"<BODY>")
    FileWriteLine($file,"<TABLE BORDER=" & chr(34) & "1" & chr(34) & ">")
    FileClose($file)
    For $grpindex = 1 to $grparray[0]
    ; ein Array wird mit den Gruppenmitgliedern gefüllt
    _ADGetGroupMembers($memarray,$grparray[$grpindex],1)
    ; da die User fehlen bei denen diese Gruppe die primäre ist,
    ; durchsuchen wir das User-Array nach primären Mitgliedschaften
    ; und fügen diese User an das Array der Gruppen-Mitglieder an
    For $userindex = 1 to $userarray[0][0]
    If $userarray [$userindex][1] = $grparray[$grpindex] then
    _ArrayAdd($memarray,$userarray[$userindex][0])
    $memarray[0] = UBound($memarray)-1
    EndIf
    Next
    ; sortieren neu
    _ArraySort($memarray,0,1)
    ; und füllen die Tabellenfelder mit Daten
    $file = FileOpen($outfile,1)
    FileWriteLine($file,"<TR>")
    FileWriteLine($file,"<TD>")
    FileWriteLine($file,_ADDNToSamAccountName($grparray[$grpindex]))
    FileWriteLine($file,"</TD>")
    FileWriteLine($file,"<TD>")
    For $memindex = 1 to $memarray[0]
    $name = _ADDNToSamAccountName($memarray[$memindex])
    if $name = "" then
    Select
    Case StringInStr($memarray[$memindex],"S-1-1-0") > 0
    $name = _ADGetWellKnownSIDName($memarray[$memindex])
    Case Else
    $name = $memarray[$memindex]
    EndSelect
    EndIf
    $mitglieder &= $name & ", "
    Next
    If $mitglieder <> "" then
    FileWriteLine($file, StringLeft($mitglieder,StringLen($mitglieder)-2))
    $mitglieder = ""
    Else
    FileWriteLine($file, "&nbsp;")
    EndIf
    FileWriteLine($file,"</TD>")
    FileWriteLine($file,"</TR>")
    FileClose($file)
    Next
    ; und schließen den HTML-Code ab
    $file = FileOpen($outfile,1)
    FileWriteLine($file,"</TABLE>")
    FileWriteLine($file,"</BODY>")
    FileWriteLine($file,"</HTML>")
    FileClose($file)
    SplashOff()

    [/autoit] [autoit][/autoit] [autoit]

    ; hier wird mittels zweier ADFunktionen, ein Array mit Usern
    ; um die primäre Gruppe, in einer zweiten Spalte erweitert
    Func _PGroupAdd($array)
    Dim $arrayneu[UBound($array)][UBound($array)]
    Dim $index
    $arrayneu[0][0] = $array[0]
    For $index = 1 to UBound($array)-1
    $arrayneu[$index][0] = $array[$index]
    $arrayneu[$index][1] = _ADGetPrimaryGroupDN(_ADGetPrimaryGroupID($array[$index]))
    Next
    Return $arrayneu
    EndFunc

    [/autoit]


    Im Anhang ist auch noch eine aktualisierte und erweiterte UDF "ADFunctions.au3" die von obigem Script benötigt wird.

    Viel Spaß damit
    Micha_he

    Edit BugFix: Bitte Spoiler verwenden

    Dateien

    ADFunctions.zip 8,47 kB – 339 Downloads AD_Gruppenuebersicht.zip 1,45 kB – 325 Downloads
  • AutoRun

    • Micha_he
    • 25. Juli 2007 um 21:36

    Ich nutze den USBAgent von "www.withopf.com/tools/usbagent".
    Nur muss er vorher als Admin auf dem Rechner installiert werden und die Datei im Root muss USBAgent.inf heißen.

    Dafür hat das Programm den Vorteil, das man auch ein Programm beim Entfernen ausführen kann.

    Gruß
    Micha_he

  • string umformen

    • Micha_he
    • 24. Juli 2007 um 16:16

    Ich habe auch noch eine Lösung:

    [autoit]

    Dim $string = "ab12cd34ef56gh"
    Dim $index = 1
    Dim $array [8]

    [/autoit][autoit][/autoit][autoit]

    while StringLen($string) >= 2
    $array[$index] = StringLeft($string,2)
    $index += 1
    If StringLen($string) > 2 then
    $string = StringMid($string,3)
    Else
    $string = ""
    EndIf
    wend

    [/autoit]
  • AD PrimaryGroup fehlt

    • Micha_he
    • 24. Juli 2007 um 15:06

    Ein Objekt "PrimaryGroupID" hat jeder User. Aber der Wert dieses Objekts lautet z.B. "1107". Wie kann ich jetzt per LDAP die passende Gruppe zu der Nr. 1107 herausfinden ?

    Lösung gefunden ! Ich werde den Code noch etwas überarbeiten und stelle dann morgen die Lösung hier ein. Besten Dank trotzdem an alle die versucht haben zu helfen.

    Gruß
    Micha_he

  • AD PrimaryGroup fehlt

    • Micha_he
    • 24. Juli 2007 um 14:53

    Ich suchte aber, passend zu den anderen "ADFunctions", eine LDAP Lösung.

    Micha_he

  • AD PrimaryGroup fehlt

    • Micha_he
    • 24. Juli 2007 um 13:32

    Ich habe zu der UDF-Datei "ADFuctions.au3" (http://www.autoitscript.com/forum/index.php?showtopic=37378&hl=adfunctions ) folgende Erweiterungen geschrieben:

    1. Ermitteln aller Gruppen unterhalb eine LDAP-Pfades:

    Spoiler anzeigen
    [autoit]

    ; Function _ADGetAllGroups
    Func _ADGetAllGroups(ByRef $groups,$path)
    Dim $objGroup
    Dim $item
    $objGroup = ObjGet("LDAP://" & $path)
    For $item In $objGroup
    If $item.class = "group" then
    _ArrayAdd ($groups, $item.distinguishedName)
    $groups[0] = Ubound($groups)-1
    Else
    _ADGetAllGroups($groups,$item.distinguishedName)
    EndIf
    Next
    Return
    EndFunc
    ; End Function _ADGetAllGroups

    [/autoit]

    2. Eine WellKnownSID in einen Namen umsetzen:

    Spoiler anzeigen
    [autoit]

    ; Function _ADGetWellKnownSIDName
    Func _ADGetWellKnownSIDName($dn)
    Dim $sid
    $sid = StringMid($dn,StringInStr($dn,"CN=")+3)
    $sid = StringStripWS(StringLeft($sid,StringInStr($sid,",")-1),2)
    Select
    Case $sid = "S-1-5-32-544"
    Return("Administratoren")
    Case $sid = "S-1-5-32-547"
    Return("Hauptbenutzer")
    Case $sid = "S-1-5-32-551"
    Return("Sicherungs-Operatoren")
    Case $sid = "S-1-5-32-545"
    Return("Benutzer")
    Case $sid = "S-1-5-7"
    Return("Anonymous-Anmeldung")
    Case $sid = "S-1-5-11"
    Return("Authentifizierte Benutzer")
    Case $sid = "S-1-5-3"
    Return("Batch")
    Case $sid = "S-1-3-0"
    Return("Ersteller-Besitzer")
    Case $sid = "S-1-3-1"
    Return("Erstellergruppe")
    Case $sid = "S-1-5-1"
    Return("Dialup")
    Case $sid = "S-1-1-0"
    Return("Jeder")
    Case $sid = "S-1-5-4"
    Return("Interaktiv")
    Case $sid = "S-1-5-18"
    Return("System")
    Case $sid = "S-1-5-2"
    Return("Netzwerk")
    Case $sid = "S-1-5-10"
    Return("Selbst")
    Case $sid = "S-1-5-6"
    Return("Service")
    Case $sid = "S-1-5-13"
    Return("TerminalserverBenutzer")
    Case $sid = "S-1-5-1000"
    Return("Andere Organisation")
    Case $sid = "S-1-5-15"
    Return("Diese Organisation")
    Case Else
    Return()
    EndSelect
    EndFunc
    ; End Function _ADGetWellKnownSIDName

    [/autoit]

    Nun ermittele ich alle Mitglieder einer Gruppe mit der Originalfunktion "_ADGetGroupMembers" aus der "ADFunctions.au3". ( Hier der Code: )

    Spoiler anzeigen
    [autoit]

    Func _ADGetGroupMembers(ByRef $members, $groupdn, $sort = 0)
    ;If _ADObjectExists($group) = 0 Then Return 0

    Local $oUsr, $objCommand, $groups

    [/autoit] [autoit][/autoit] [autoit]

    $objCommand = ObjCreate("ADODB.Command")
    $objCommand.ActiveConnection = $objConnection
    $objCommand.Properties ("Searchscope") = 2

    [/autoit] [autoit][/autoit] [autoit]

    Dim $members[1]
    $i = 0

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $rangemodifier = $i * 1000
    $range = "Range=" & $rangemodifier & "-" & $rangemodifier + 999
    $strCmdText = "<LDAP://" & $strHostServer & "/" & $groupdn & ">;;member;" & $range & ";base"
    $objCommand.CommandText = $strCmdText
    $objRecordSet = $objCommand.Execute
    $membersadd = $objRecordSet.fields (0).Value
    If $membersadd = 0 Then ExitLoop
    ReDim $members[UBound($members) + 1000]
    For $j = $rangemodifier + 1 To $rangemodifier + 1000
    $members[$j] = $membersadd[$j - $rangemodifier - 1]
    Next
    $i += 1
    $objRecordSet.Close
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    $rangemodifier = $i * 1000
    $range = "Range=" & $rangemodifier & "-*"
    $strCmdText = "<LDAP://" & $strHostServer & "/" & $groupdn & ">;;member;" & $range & ";base"
    $objCommand.CommandText = $strCmdText
    $objRecordSet = $objCommand.Execute
    $membersadd = $objRecordSet.fields (0).Value

    [/autoit] [autoit][/autoit] [autoit]

    ReDim $members[UBound($members) + UBound($membersadd) ]

    [/autoit] [autoit][/autoit] [autoit]

    For $j = $rangemodifier + 1 To $rangemodifier + UBound($membersadd)
    $members[$j] = $membersadd[$j - $rangemodifier - 1]
    Next

    [/autoit] [autoit][/autoit] [autoit]

    $objRecordSet.Close

    $members[0] = UBound($members) - 1

    If $sort = 1 Then
    _ArraySort($members, 0, 1)
    EndIf

    Return 1
    EndFunc ;==>_ADGetGroupMembers

    [/autoit]

    Diese Funktion gibt mir zwar einige der Mitglieder aus, es fehlen aber die Mitglieder, die die jeweilige Gruppe als PRIMÄRE Gruppe haben ! Das heißt jeder User fehlt in der Gruppe, die seine primäre Gruppe ist.

    Hat jemand eine Idee für eine Erweiterung / Verbesserung ?
    Oder hat jemand zufällig eine eigene Funktion geschrieben ?

    Gruß
    Micha_he

  • Classes bei StringRegExpReplace

    • Micha_he
    • 9. Mai 2007 um 12:14

    Super... das wars

    Aber aus der Hilfe ist das mit dem Konstrukt "[^[:CLASS:]]" nicht zu erlesen !


    Besten Dank für eure Hilfe

  • Classes bei StringRegExpReplace

    • Micha_he
    • 9. Mai 2007 um 09:41

    Scheinbar funktionieren die Classes (wie [:alpha:] oder [:xdigit:]) bei den regulären Ausdrücken nicht richtig. Folgendes Script soll eigentlich alle nicht alphanumerischen Zeichen finden (wie in der zweiten Ausgabe).
    Das haut aber nicht so richtig hin. Auch andere Classes scheinen nicht richtig zu funktionieren oder was mache ich da falsch ?

    Beispiel:

    $text = "ab-AB_äöüß_109"
    msgbox(0,"",StringRegExpReplace($text,"[^:alpha:]","."))
    msgbox(0,"",StringRegExpReplace($text,"[^a-zA-Z0-9]","."))

  • Icon der Exe in das Script

    • Micha_he
    • 9. Mai 2007 um 09:27

    Da ich nicht den AutoIt-Editor zum Schreiben nutze und per Kontextmenü kompiliere, benutze ich folgendes kompiliertes Script per Kontextmenü, anstatt des Standard "Compile"-Befehls:

    [autoit]

    ; Programmname: Aut2Exe_wOpt.au3
    ; Version: 1.03
    ; geschrieben von: Michael Schröder
    ; geschrieben am: 05.04.2007
    ;
    ; Beschreibung:
    ;
    ; Ermöglicht das kompilieren über das Kontextmenü unter
    ; Berücksichtigung foilgender optionen im Quelltext des
    ; Scriptes:
    ;
    ; #compiler_icon=
    ; #compiler_outfile=
    ;
    ; Eingebunden wird die kompilierte Version dieses Scriptes
    ; in der Registry unter :
    ;
    ; [HKEY_CLASSES_ROOT\AutoIt3Script\shell\Compile]
    ; @="Compile Script With Options"
    ;
    ; [HKEY_CLASSES_ROOT\AutoIt3Script\shell\Compile\Command]
    ; @="C:\\Programme\\AutoIt3\\Aut2Exe\\Aut2Exe_wOpt.exe \"%l\""

    [/autoit][autoit][/autoit][autoit]

    #compiler_outfile="Aut2Exe_wOpt.exe"

    [/autoit][autoit][/autoit][autoit]

    Dim $in_id
    Dim $icon = ""
    Dim $out_name = ""
    Dim $path
    Dim $prg
    Dim $inhalt

    [/autoit][autoit][/autoit][autoit]

    $in_id = FileOpen($cmdline[1],0)
    $inhalt = FileRead($in_id)
    FileClose($in_id)
    Sleep(2000)

    [/autoit][autoit][/autoit][autoit]

    if StringInStr($inhalt,@CRLF & "#compiler_icon") > 0 then
    $icon = StringReplace(StringStripWS(StringMid($inhalt,StringInStr($inhalt,@CRLF & "#compiler_icon")+17,StringInStr(StringMid($inhalt,StringInStr($inhalt,@CRLF & "#compiler_outfile")+20),@CRLF)),3),chr(34),"")
    endif

    [/autoit][autoit][/autoit][autoit]

    if StringInStr($inhalt,@CRLF & "#compiler_outfile") > 0 then
    $out_name = StringReplace(StringStripWS(StringMid($inhalt,StringInStr($inhalt,@CRLF & "#compiler_outfile")+20,StringInStr(StringMid($inhalt,StringInStr($inhalt,@CRLF & "#compiler_outfile")+20),@CRLF)),3),chr(34),"")
    endif

    [/autoit][autoit][/autoit][autoit]

    $path = StringLeft($cmdline[1], StringInStr($cmdline[1],"\",0,-1))
    $prg = "Aut2Exe.exe /in " & chr(34) & $cmdline[1] & chr(34)
    if $out_name <> "" then $prg &= " /out " & chr(34) & $path & $out_name & chr(34)
    if $icon <> "" then $prg &= " /icon " &chr(34) & $path & $icon & chr(34)
    $prg &= " /comp 4"
    RunWait($prg,@scriptdir)

    [/autoit]
  • SnmpWalk ohne Cmd-Line-Tool

    • Micha_he
    • 19. April 2007 um 15:06

    Hallo...

    Ich suche nach einer Möglichkeit ohne zusätzliches Commandline-Tool, eine SnmpGet oder SnmpWalk-Anfrage an einen Server zu senden.
    Also z.B. mittels TCPSend oder eines DLL-Aufrufs. Gibt es hierfür einen Lösungsvorschlag ?

    Besten Dank für Eure Ideen...
    Micha

  • Variablengroesse (z.B. FileRead)

    • Micha_he
    • 10. März 2007 um 19:37

    Das mit 2.147.483.647 Zeichen(Byte) passt scheinbar nicht.
    Ich habe mit einem Test-Script

    Code
    dim $i,$x,$y
    
    
    for $i = 1 to 1024
    $x &= "x"
    next
    
    
    GUICreate("Stringtest",400,200)
    $label = GUICtrlCreateLabel("0",20,20,360,20)
    GUISetState()
    
    
    $i = 1
    while $i < 1000000000
    	$y &= $x
    	GUICtrlSetData($label,$i & " kB")
    	$i += 1
    wend
    
    
    msgbox(0,"","fertig")
    Alles anzeigen

    eine Variable mit 1k Stücken gefüllt. Egal welcher Rechner, der Fehler kommt immer bei ca. 512 MB.
    Es ist zwar für mein eigentliches Problem nicht mehr wichtig ( ich lese jetzt kleinere Teile des Files ), aber scheinbar passen NUR 512MB in eine Variable.

    Gruß
    Micha

  • Nix mehr frei.... ?

    • Micha_he
    • 8. März 2007 um 17:03

    Ich meinte natürlich Datenbank-Freischaltung...
    Ich sah gerade das es auch eine Filebase im Forum gibt.

  • Variablengroesse (z.B. FileRead)

    • Micha_he
    • 8. März 2007 um 17:00

    Das wären dann 4095 Byte ?! Das kann aber eigentlich nicht sein.

    Zur Zeit lese ich 10MB-Teile und das scheint zu funktionieren.
    Sogar 100MB gingen scheinbar fehlerfrei.

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™