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

Beiträge von Grandpa

  • IniReadSection Größenbeschränkung

    • Grandpa
    • 25. August 2010 um 10:34

    THX @ SEuBo
    Funzt super. Auch wenn ich noch nicht zu 100% Zeile 14 ($aSection = StringRegExp($sText,'(?is)\Q['&$sSection&']\E(.+?)(?:\[|$)',1)) durchschaut habe. Das rote bedeutet doch alles außer [ oder $. Oder verstehe ich das falsch? Bei einem Test mit $ am Anfang gabs keine Probleme, was meinem Verständnis widerspricht.

    Hmm, egal. Hauptsache funzt. :rock:

    Nochmal danke. :thumbup:

  • IniReadSection Größenbeschränkung

    • Grandpa
    • 24. August 2010 um 15:00

    Hmm ...
    Sprenger120
    Da es sich um ein größeres Projekt handelt, kann ich nicht das ganze Konzept über den Haufen werfen und auf txt-Files umschwenken. Es müssen also ini-Files sein.

    SEuBo
    Der Ansatz ist nicht schlecht. Leider ist es damit nicht möglich eine spezielle Sektion auszulesen. Somit also auch suboptimal.

    Dennoch danke an euch beide.

    Ich werde wahrscheinlich was selber schreiben, was erstmal die gesamte ini in ein Array läd (FileReadLine in ner For-Schleife - hab ich bereits ne Funktion für) und anschließend dieses Array nach '[' und dem übergebenen Sektionsnamen parsed. Wird diese Kombi gefunden, wird ein Flag gesetzt. Ist das Flag gesetzt, werden alle nächsten Zeilen (Array-Einträge) bis zum nächsten Array-Eintrag, welcher mit '[' beginnt, in einem anderen Array gespeichert und das Flag anschließend zurücksetzt.
    Diese Version wird zwar wesentlich langsamer sein, dafür mit gleichen Parametern wie IniReadSection arbeiten und gleiche Rückgabewerte haben.

    Gruß, Grandpa

  • IniReadSection Größenbeschränkung

    • Grandpa
    • 24. August 2010 um 13:40

    Moin,
    ich habe folgendes Problem. Ich möchte eine Ini-Sektion auslesen, welche über 600 Zeilen hat. Die Parameter lauten 'Dateixxx', wobei xxx eine fortlaufende Zahl ist. Als Werte stehen dahinter vollqualifizierte Dateinamen (inkl. Pfad). Somit wird ziemlich schnell der Genzwert der Funktion IniReadSection von 32536 Byte überschritten. :cursing:
    Hat sich schon jemand mit dieser Problematik beschäftigt und eine eigene Funktion ohne Größenlimit geschrieben?

    Danke für die schnellen Antworten.

    Gruß, Grandpa

  • Fehlermeldung "rename error"

    • Grandpa
    • 7. Januar 2010 um 11:30

    Moin,
    kannst du mal etwas Source posten. Es sieht so aus, als ob FileOperationen stattfinden sollen (Error openig Destination). Was das genau für Zugriffe sind, kann man so nicht sagen. Der Begriff Destination würde mich aber nach Copy- oder Move-Aktionen suchen lassen.

    Was die ursprünglich gepostete Meldung angeht, steht alles drin. IO-Exception bedeutet immer (zumindest bei Java), dass eine Datei nicht gelesen/geschrieben werden konnte. Häufigster Fall: Datei nicht vorhanden.
    In diesem Fall versuchst du eine Datei namens Client BB.exe mit upx zu packen. Stellt sich die Frage: Kann upx mit Leerzeichen umgehen oder werden diese als Platzhalter zwischen Optionen interpretiert? Ich würde testweise mal die zu komprimierende Datei umbenennen (Leerzeichen entfernen).

    Aber wie gesagt. Etwas SourceCode wäre hilfreich. ;)

  • Textformatierung in einer ComboBox

    • Grandpa
    • 20. März 2009 um 11:36

    Yupp, das wäre eine Möglichkeit. Danke euch beiden. Ich probiers gleich mal aus.

  • Textformatierung in einer ComboBox

    • Grandpa
    • 20. März 2009 um 11:22

    Das ist leider auch nicht so das wahre. Mit Leerzeichen kann man nicht erreichen, dass die Werte der Variable $Beschreibung direkt untereinander stehen, egal wie lang der String der Variable $Client ist.
    Gibt es nicht ne Möglichkeit den Eintrag der Combobox in zwei Felder aufzuteilen? Zum Beispiel durch ein Array?

    Trotzdem Danke ;)

  • Textformatierung in einer ComboBox

    • Grandpa
    • 20. März 2009 um 10:45

    Moinsen,

    ich habe folgende Frage, die wahrscheinlich ganz einfach zu beantworten geht.

    Ich habe eine ComboBox, in die berechnete Werte (Strings) eingefügt bzw. angehangen werden. Je nach Wert soll eine ebenfalls berechnete Beschreibung dahinter stehen. Meine Frage ist, kann ich diese beiden Strings per GUICtrlSetData anhängen und den "Text" per TAB formatieren. Der Test
    GUICtrlSetData($Combo, $Client & @TAB & $Beschreibung)
    probiert. Das bewirkt aber nur, dass ein Pipe zwischen den beiden Variablen steht. :S

    Hat jemand nen kleinen Tip für mich? Danke.

    Granny

  • _Net_Share_ShareCheck - Rückgabewert

    • Grandpa
    • 20. September 2008 um 00:10

    Nabend,

    keine Ahnung, ob ich hier richtig bin. Vielleicht ist es noch niemanden aufgefallen, aber die o.g. Funktion von NetShare.au3 hat, egal ob die Freigabe bereits besteht oder nicht, immer den gleichen Rückgabewert. Nämlich -1. Ein Prüfen, ob die Freigabe existiert, ist somit nicht möglich. Laut Hilfe steht -1 für "Share does not exist.". In einem ausführlichen Test konnte jedoch das Gegenteil bewiesen werden.

    Gibt es eine Art Patch für die Datei NetShare.au3? Offensichtlich wird ja die Netapi32.dll benutzt, um an die Info zu kommen. Leider kenne ich mich mit dieser Schnittstelle nicht aus und kann somit auch nicht sagen, wo der Fehler im Aufruf

    DllCall("NetAPI32.dll", "int", "NetShareCheck", "wstr", $sServer, "wstr", $sShare, "int*", 0)

    liegt. Also wende ich mich an die Profis.

    Vielen Dank im voraus.

  • Freigaben (Shares) und ihre Rechte

    • Grandpa
    • 18. September 2008 um 08:39

    Moinsen,

    mal wieder ich. Mal wieder beschäftigt mich ein Thema.

    In unserem Projekt, automatisierte Installation von mehreren Softwarekomponenten inkl. setzen aller Einstellungen, bin ich jetzt beim Einrichten von Shares angekommen. Im Bereich NetShare Management der Hilfe sind aber nur Funktionen zu finden, die das Anlegen, Löschen oder Checken von Shares ermöglichen (die ganzen Funktionen zum bekommen von Infos mal weggelassen). Was ich jedoch brauche, ist eine Möglichkeit zum Setzen von Permissions eines Shares. Zu diesem Thema waren keine AutoIt-Funktionen zu finden. Gibt es keine, so dass man auf externe Programme zurückgreifen muss oder war ich einfach nur blind?

    Ein kleiner Schubser in die richtige Richtung wäre hilfreich. Aber bitte keinen Quellcode. Ich will von mir behaupten können "Die Logik stammt von mir." :D

    Grandpa

    Nachtrag: Es gibt offensichtlich keine Funktion. Hab letzten Endes das ganze mit RMTSHARE (NT-Ressourcekit) gelöst. Achja, falls es jemanden interessiert. Die Funktion _Net_Share_ShareCheck() (aus der NetShare.au3) funktioniert nicht. Das Ergebnis ist immer -1, egal ob das Share schon vorhanden ist oder nicht. Lösung: Mit _Net_Share_ShareEnum die Info's über alle Shares in ein Array schieben und dort in jeweils in Spalte 1 nach dem Namen suchen.

  • Mehere GUIs in einer datei

    • Grandpa
    • 16. September 2008 um 12:37

    Es wäre auch ganz hilfreich, wenn du deinen Code etwas besser strukturierst. Damit meine ich Codezeilen so einrücken, dass man schnell erkennt, welches z.B. Endif zu welchem If gehört, dann löschen von überflüssigen Leerzeilen ...
    Wenn man möchte, dass andere deinen Code "überarbeiten", dann wären ein paar Kommentare zum/im Quellcode ganz hilfreich, um deinen Gedankengang schnell nachvollziehen zu können.

    [autoit]


    ; ;
    ; (c) 2oo7 by IronX ;
    ; ;
    ; ;
    ; ;
    ; ;
    ; ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    #include
    $parent1= Opt("TrayIconHide", 1)
    Opt("GUIOnEventMode", 1)
    Opt("RunErrorsFatal", 0)
    Opt("TrayMenuMode", 1) ; Traymenü entfernen

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

    Global $iMsgBoxAnswer

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

    GUICreate("Passwort-Abfrage", 350, 350)

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

    $Button_1 = GUICtrlCreateButton ("Pennergame", 120, 30, 100)
    GUICtrlSetOnEvent(-1, "_passwort")
    $Button_2 = GUICtrlCreateButton ("Exit", 120, 110, 100)
    $Button_3 = GUICtrlCreateButton ("Julian Spezial", 120, 70, 100)

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

    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_3
    GuiCreate("test - by IronX", 392, 362,(@DesktopWidth-392)/2, (@DesktopHeight-362)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    EndSelect
    WEnd
    Exit

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


    GUISetOnEvent($GUI_EVENT_CLOSE, "_schliessen")
    GUISetState ()

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

    While 1
    Sleep(20)
    WEnd

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

    Func _passwort()
    Do
    $passwd = InputBox("Passwort-Check", "Bitte geben Sie Ihr Passwort ein.", "", "*M")
    If $passwd = "" Then
    Exit
    ElseIf $passwd = "1" Then
    $parent2= GuiCreate("Tool - by IronX", 392, 362,(@DesktopWidth-392)/2, (@DesktopHeight-362)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    GUISetBkColor (8800000)
    $Button_1 = GuiCtrlCreateButton("DerPennaMc", 130, 20, 100, 20)
    $Button_2 = GuiCtrlCreateButton("vladie", 130, 50, 100,20)
    $Button_3 = GuiCtrlCreateButton("PaulVogelsang", 130, 80, 100, 20)
    $Button_5 = GuiCtrlCreateButton("Melcom", 130, 110, 100, 20)
    $Button_4 = GuiCtrlCreateButton("Exit", 300, 300, 60, 20)
    ; $Button_6 = GUICtrlCreateButton("Nichtklicken", 150, 140, 60, 20)
    $Label_39 = GUICtrlCreateLabel("Admin Tools:", 10, 170, 140, 20)
    ; $Button_5 = GuiCtrlCreateButton("Connect", 1, 300, 60, 20)
    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    $oIE = _IECreate ("http://www.pennergame.de/ref.php?refid=8248041")
    Case $msg = $Button_2
    $oIE = _IECreate ("http://www.pennergame.de/ref.php?refid=1375464")
    Case $msg = $Button_3
    $oIE = _IECreate ("http://www.pennergame.de/ref.php?refid=6065144")
    Case $msg = $Button_5
    $oIE = _IECreate ("http://www.pennergame.de/ref.php?refid=2419897")
    Case $msg = $Button_4
    WinKill ( "Tool - by IronX", "")
    ; Case $msg = $Button_6
    ; GuiCreate("test - by IronX", 392, 362,(@DesktopWidth-392)/2, (@DesktopHeight-362)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    ; GUISetBkColor (0xFF00FF)
    ; Case $msg = $Button_5
    ; Run("C:\Programme\Mozilla Firefox\firefox.exe")
    ; WinWaitActive("Google")
    ; $oIE = _IECreate ("teamspeak://ultimate-sponsorring.ath.cx:5054")
    ; Winkill("Google - ")
    ; Case Else
    EndSelect
    WEnd
    Exit
    Else
    $iMsgBoxAnswer = MsgBox(53, "Anmeldung fehlgeschlagen!", "Ihr Passwort ist falsch!")
    EndIf
    GuiSetState()
    While 2
    $msg = GuiGetMsg() ;Ich behaupte einfach mal, dass hier ein Case fehlt !!!
    Select
    $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_2
    WinKill("Passwort-Abfrage")
    EndSelect
    Wend 2
    Until $iMsgBoxAnswer <> 4
    Return $passwd
    EndFunc

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

    Func _schliessen()
    Exit
    EndFunc

    [/autoit]

    So sieht für mich Struktur aus. ;)
    Und schau dir mal den Kommentar in Zeile 93 an.

  • Variable testen, ob 2-dimensionales Array

    • Grandpa
    • 16. September 2008 um 10:45

    Danke für die schnelle Antwort. ;)

  • Variable testen, ob 2-dimensionales Array

    • Grandpa
    • 16. September 2008 um 10:12

    Moinsen,

    ich bin grad dabei ein etwas größeres Projekt zu verwirklichen. In diesem Skript werden wiederkehrende Sachen per Funktion gelöst. Da man aber nie weiß, welchen Typs die übergebenen Variablen sind, will ich sie testen. Bei String oder Num is das kein Thema. Bei Arrays sieht das schon anders aus. Die Funktion IsArray() testet zwar, ob es sich um ein Array handelt. Es kann mir aber nicht sagen, ob es sich um ein eindimensionales oder x-dimensionales handelt.

    Und genau da liegt das Problem. Wenn ich per $x=array[0] auf ein zweidimensionales Array zugreife, schmiert die Anwendung ab. Weiß jemand Rat? Es muss doch irgendwie möglich sein, dies zu prüfen. :|

    Danke für die zahlreichen Antworten.

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™