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

Beiträge von Runa

  • EBNF für reelle Zahlen - kann mal wer drüberschauen?

    • Runa
    • 14. November 2014 um 19:45

    Das Thema hatte ich zuletzt im Informatik-Leistungskurs im Bereich der theoretischen Informatik... eigentlich ganz witzig! :)

    Digit ::= ["-","+"] ("0"|(["1"|…|"9"]{"0"|…|"9"}))

    Anführungszeichen, da du die Zahlen nicht als nichtterminale, sondern als terminale Zeichen verwenden möchtest. Bin mir unsicher, ob das mit der Wiederholung an der Stelle so "erlaubt" war. Habe meine Materialien leider nicht mehr hier. Ich betrachte die "..." als reines "Hier war ich zu faul zum tippen" - denn eigentlich gehören sie dazu. ;)

    Komma ::= ","["0"|...|"9"]{"0"|...|"9"})

    Spitzklammern sind mir überhaupt nicht bekannt... kann sein, dass wir die nicht verwendet haben, da wir eine andere Notationsform verwendeten... ;) Diese "Aussage" bezeichnet alle Wörter, die mit "," beginnen und mindestens eine Zahl zwischen 0 und 9 folgend haben.

    Zahl ::= Digit[Komma]

    Dieser Grammatikteil behandelt alle Zahlen. Digit kann eine beliebige ganzzahlige Zahl sein (egal ob + oder - oder ohne Vorzeichen) und hat dann ein optionales Komma mit mindestens einer Zahl dahinter. Daher deckt es alle Zahlen - insbesondere deiner genannten - ab.

    Meine komplette Fassung:

    Digit ::= ["-","+"] ("0"|(["1"|…|"9"]{"0"|…|"9"}))
    Komma ::= ","["0"|...|"9"]{"0"|...|"9"})
    Zahl ::= Digit[Komma]

    Die von dir genannte Grammatik umfasst momentan nichts, ein +, ein - [wobei ich mir hier nicht sicher bin, ob ein einzelnes Anführungszeichen erlaubt ist :P] und daraufhin beliebig viele Nichtterminale, die niemals terminiert werden. Daher würde dir ein Programm der theoretischen Informatik (wie Prolog) wird dir zwar sagen "true", allerdings wird es das auch bei "+Hallo!", einfach weil die Nichtterminalen alles sein könnten. Auch muss deine Zahl aus der Nichtterminalen ( der Nichtterminalen Vorkommateil, der Nichtterminalen ), der Nichtterminalen und der Nichtterminalen Nachkommateil zusammengesetzt werden. Die einzige *vielleicht* Terminale in dem ganzen ist meines Wissenstandes her das optionale "+" bzw. "-".

    Ich hoffe, dass das aufschlussreich war, obwohl ich das Thema mit einer anderen Form hatte und hierzu nur spärliche Internetartikel verwenden konnte, um zu prüfen, inwieweit dass von den von mir behandelten Chromsky-Grammatiken abweicht... ;)

  • $WM_NOTIFY, TVN_SELCHANGEDW in TreeView meldet bei Mausclick zweimal

    • Runa
    • 14. November 2014 um 16:58

    Was passiert:

    Ein Druck auf der Tastatur wechselt sofort das "selektierte" Element.

    Ein Klick mit der Maus löst das Element zu recht zwei Mal aus: Einmal, weil die Selection auf "null" wechselt, und danach, weil die Selection auf das angeklickte Item wechselt. Wenn du während der Messageboxen hinguckst, siehst du es. ;)

    Um den "Fehler" zu verhindern bleiben dir zwei Möglichkeiten. Mit anderen Events arbeiten, oder abfangen, ob derzeit überhaupt ein Element markiert ist. Ein Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>
    #include <listviewconstants.au3>
    #include <GUITreeView.au3>
    #Region - GUI Create
    GUICreate('treeview', 550, 400)
    $TreeView1 = GUICtrlCreateTreeView(10, 10, 200, 380)
    $hTreeView = GUICtrlGetHandle($TreeView1)
    $item1 = GUICtrlCreateTreeViewItem("Root Item 1", $TreeView1)
    $item2 = GUICtrlCreateTreeViewItem("Root Item 2", $TreeView1)
    For $i = 1 To 10
    GUICtrlCreateTreeViewItem("Child Item " & $i, $item1)
    GUICtrlCreateTreeViewItem("Child Item " & $i, $item2)
    Next
    $ListView1 = GUICtrlCreateListView("test|test", 220, 10, 320, 380)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 150)
    For $i = 1 To 50
    GUICtrlCreateListViewItem("List Item" & $i & "|List Item " & $i & " Column 2", $ListView1)
    Next
    GUISetState()
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    #EndRegion - GUI Create
    #Region - GUI SelectLoop
    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
    Local $tNMHDR, $IdFrom, $iCode
    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $IdFrom = DllStructGetData($tNMHDR, "IdFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hTreeView
    Switch $iCode
    Case $TVN_SELCHANGEDW ; <---------------
    If _GUICtrlTreeView_GetSelection($TreeView1) <> 0 Then
    MsgBox($MB_SYSTEMMODAL, "", "changed")
    EndIf
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Gaming Headsets - Sennheiser PC323D vs. Logitech G930 - Eure Meinung ist gefragt!

    • Runa
    • 14. November 2014 um 16:48

    Da stimme ich dir ausnahmslos zu, BugFix. "Gute Anlagen" im Auto heißen im Fachjargon meistens "LAUT" - nicht qualitativ hochwertig. Das erkennst du bereits daran, dass Auto-Anlagen "Wettbewerbe" bloß auf Lautstärke fokussiert sind, als auf Qualität. Viele in meiner Generation haben allerdings bereits das Problem, dass sie bestimmte Frequenzen kaum noch wahrnehmen, da ihr Gehör-Apperat durch schlechte Musik derart verkommen ist, dass sie keinen Unterschied zwischen Live-Musik und Musik auf dem MP3-Player erkennen können.

    @YaeroxXO: Aus eigener Erfahrung kann ich dir sagen, dass Luxus-Artikel wie ein eigenes Heimkino oder eine eigene Sauna an Reiz verlieren, wenn man sie denn immer zur Verfügung hat. Ich sollte mir daher niemals einen Pool zulegen - der verbraucht zu viel Platz um wenig reizvoll zu sein... :P

    Techmix: Respekt - die Boxen hätte ich nicht (mehr) selbst bauen können - dazu fehlt die Zeit. Aber danke dir für die Zustimmung. :)

  • Gaming Headsets - Sennheiser PC323D vs. Logitech G930 - Eure Meinung ist gefragt!

    • Runa
    • 13. November 2014 um 11:51

    YaeroxXO: uRage ist die Gaming-Tochter von Hama. ;) Gibt es nun seit 4 Jahren und verdrängt mehrere "Möchtegerngiganten" derzeit gehörig vom Markt. Schlicht weil sie günstiger und stabiler sind - und dabei exakt die selben Funktionen bieten. Als Beispiel nenne ich hier mal die uRage MMORPG, die das Gegenstück zur Razer Naga ist... nur in besser eben.

    Meine Erfahrung mit ROCCAT (von der ich Tastatur und Headset habe) sind bisher eigentlich positiv. Habe noch keinerlei Probleme mit diesen Produkten gehabt. Mit uRage habe ich durchweg positive Erfahrungen sammeln können. Egal ob das jetzt meine uRage MMORPG ist, mein uRage Paradox 7.1 oder meine uRage Exodus - die Qualität ist immer Top und ich würde sie gegen keine Marke der Welt dauerhaft eintauschen wollen, die nicht mindestens gleichwertig ist... ;)

    Zu dem Qualitätsverlust: Der Qualitätsverlust und die Verzögerung ist definitiv immer gegeben - er ist rational zu erschließen und mehrfach belegt worden. Die Frage ist bloß, ob man ihn selbst wahrnehmen kann. Leute mit empfindlichen Gehör hören es - ich gehöre dazu. Und doch: Die Unterschiede zwischen vergoldeten Steckern und verzinkten hört man in dem Fall auch sehr deutlich :)

  • Gaming Headsets - Sennheiser PC323D vs. Logitech G930 - Eure Meinung ist gefragt!

    • Runa
    • 13. November 2014 um 11:22

    kaesereibe: Aus welchem Material sind denn deine Stecker? ;)

    Silber überzogen? Nee - rostet.
    Kupfer überzogen? rostet auch.
    Gold überzogen? Nein, das ist ja nur Marketing aber rostet nicht.

    Faktisch werden die meisten Stecker mit Chrom oder Zink überzogen. Und wo stehen die in deiner Liste?

    01. Silber
    02. Kupfer
    03. Gold
    04. Aluminium
    05. Natrium
    06. Wolfram
    07. Zink
    08. Messing
    09. Eisen
    10. Chrom

    Ich glaube es ist nicht nur Marketing. ;)

  • Internetcafe PC Strg+Alt+Entf Komplett deaktivieren [AutoIt Only]

    • Runa
    • 13. November 2014 um 10:49

    gpedit.msc --> Benutzerkonfiguration --> Administrative Vorlagen --> System --> STRG + ALT + ENTF (Optionen)

    Dort findest du alles, was du brauchst. Als weitere Sicherheitsmaßnahme musst du dann nur noch den Zugriff auf die lokalen Gruppenrichtlinien verweigern, aber das ist ja ebenso einfach. ;)

    EDIT: "[AutoIt Only]" wirst du hier nicht bekommen. Denn ist es nicht möglich die Gruppenrichtlinien von Hand einzustellen, handelt es sich nicht um eine legale Nutzungsweise, sondern vielmehr um einen "Spaßvirus" der die Kontrolle über den PC übernehmen soll, was man bekanntlich über den Affengriff verhindern kann, da dieser von AutoIt nicht geblockt wird (selbst bei BlockInput(1)).

  • Gaming Headsets - Sennheiser PC323D vs. Logitech G930 - Eure Meinung ist gefragt!

    • Runa
    • 13. November 2014 um 10:42

    Ich empfehle dir - abseits deiner Traumvorstellungen - folgende Marken:

    uRage (Hama Gaming Reihe)
    ROCCAT (Eigenständige Gaming Firma)

    Darüber hinaus empfehle ich dir KEIN wireless Headset. Warum? Bei der kabellosen Datenübertragung müssen die Daten komprimiert werden. Verzögerungen und Verlust an Qualität sind dementsprechend die Folge. Das ist auch der Grund, warum jede Gaming-Maus, jede Gaming-Tastatur und jedes Gaming-Headset ein Kabel hat. In der Regel sogar mit vergoldeten Anschlüssen (diese Leiten besser, dadurch geringere Verzögerung).

    Gute Erfahrungen habe ich vor allem mit der uRage Paradox 7.1 sammeln können. Das Kabel da kaputt zu bekommen erfordert mehr als bloßes Ungeschick. Wie für uRage üblich ist es sauber verarbeitet, und die Kabellänge ist auch lang genug, dass man aufstehen kann, ohne es sich direkt vom Kopf zu reißen. Es ist leider etwas schwerer (liegt am Aufbau, der sehr robust ist) aber es besticht durch den 7.1 Sound, bei dem man in manchen Shootern die Camper sprichwörtlich atmen hören kann. ;)

  • Zahlen in Zahlwörter umwandeln

    • Runa
    • 13. November 2014 um 10:34

    BugFix : Willst du damit sagen, dass du nicht über User im Seiteneigenen IRC herziehst, keine Willküraktionen als Moderator durchführst und alle Screens gefaked sind? Wäre meiner Ansicht nach sehr viel Aufwand nur um einen Moderator eines nicht allzu bekannten Forums schlecht zu machen. ;)

  • Zahlen in Zahlwörter umwandeln

    • Runa
    • 13. November 2014 um 08:13

    @Make: Danke für deine PN. Durchaus aufschlussreich. Deine Vermutung, warum der Code - nicht einmal ansatzweise - gepostet werden kann, ist vollkommen korrekt.

    Andy: Die Informationen sind nicht benötigt. Sie fallen eher in die Kategorie "nice to have". Mein Algorithmus funktioniert problemlos und ist recht schnell.

    kaesereibe: Den Code davon brauche ich nicht. ;)

  • Zahlen in Zahlwörter umwandeln

    • Runa
    • 12. November 2014 um 23:18

    BugFix : Mir ist bereits bekannt, dass Unverschämtheiten hier nur von Langzeitmitgliedern geduldet werden, genau wie kindisches Verhalten von dem Moderatorenteam. Gerade über deine Person kann man so einiges in diversen Foren lesen. Aber das ist nicht Thema des Threads. Oder anders gesagt: Deine Verwarnung ist mir ziemlich egal, gerade da ich zu den wenigen Usern gehöre, die Codetechnisch deutlich weiter sind als viele andere hier.

    Ahnungslos: Das ist interessant, danke, das sollte ich noch berücksichtigen.

    @Make-Grafik: Der Unterschied von dem Kinderchat zu diesem Forum ist, dass viele in dem Kinderchat mit dem Begriff Algorithmus etwas anfangen können. Hier ein Beispiel, damit es wirklich jeder hier kapiert - aus einem anderen Bereich.

    Ich habe einen seltsamen Fleck an meinem Arm entdeckt. Ich gehe zum Arzt (das ist in diesem Beispiel dieses Forum) und bitte um Klärung ob dieser Fleck komisch ist. Als Antwort darauf bittet mich der Arzt mich komplett auszuziehen. Ein kompetenter Arzt hingegen hätte sich kurz den Fleck angeguckt, überlegt ob das komisch ist und dann geantwortet.

    Ich werde den Code hier nicht posten. Wer zu dämlich ist, einen derart simplen Algorithmus zu kapieren, der kann mir ohnehin nicht helfen, ihn zu verbessern. Egal wie begabt er auch zu sein scheint. Und nein: Man braucht den Code nicht um einen Algorithmus zu verstehen. Die Beschreibung oben ist vollkommen ausreichend. Ich bin bereits einige Zeit hier. Einige hier kennen mich auch schon eine sehr viel längere Zeit. Daher kann ich folgendes Statement abgeben, ohne dabei zu spekulieren:

    Autoit.de wie auch Codebot.de verlieren immer weiter ihre aktiven User. Beide Communitys haben zwar überschneidende Mitglieder, allerdings sind sie schon seit ewigen Zeiten mehr oder minder auf dem Kriegsfuß. Das merkt man an den Mitgliedern und auch an der Art der Moderation. Ein Mitglied, das einem PU oder Mod hier nicht passt wird konsequent ausgesperrt - egal ob es sich an die Regeln hält oder nicht. Ein bloßes "hallo" reicht hier bereits aus, dass ein Moderator, der hier auf erwachsen tun möchte, diesen User für über 3 Wochen aus der Shoutbox bannt und einen Admin bittet den User zu löschen - was der Admin auch tut. Und da wundert es euch, dass diese zwei Communitys im Gegensatz zu richtigen Programmiererforen immer wieder um Geldspenden betteln müssen um ihre Kosten decken zu können? Kein gutes Programmiererforum muss das. Nicht einmal autoitscript.com musste das bisher. An der Sprache liegt es also definitv nicht. Ihr habt also die Wahl, ob ihr euch wieder in Infantilität übt und noch einen ausgebildeten Programmierer hier verbannen wollt - wie ihr schon fünf verschiedene hier verbannt habt - oder ob ihr endlich erwachsen werdet. Die Wahl liegt bei euch.

    Ach und noch einmal zu Knuddels und dieser Platform: Der einzige hilfreiche Beitrag hier stammt von Ahnungslos. Auf Knuddels bekommt man auf exakt die selbe Anfrage innerhalb kürzester Zeit 12 hilfreiche Antworten. Und ALLE funktionieren ohne den Code jemals gesehen zu haben. Was sagt das wohl über die Qualität der bisherigen Antworten aus? Bestimmt, dass ich euch beleidigt habe, immerhin sind ja nur User von Knuddels deutlich intelligenter mit dieser Frage umgegangen.

    Edit: Der Beitrag von Schnuffel ist ebenfalls hilfreich. Zwei hilfreiche Antworten in so kurzer Zeit - wird ja besser.

  • Zahlen in Zahlwörter umwandeln

    • Runa
    • 12. November 2014 um 20:37

    Also soll ich mein Vertrauen auf Programmierer stützen, die keine Ahnung haben, was ein Algorithmus ist? Dann kann ich den Code gleich auf Knuddels einstellen und nach Verbesserungsvorschlägen fragen. Falls jemand den Begriff "Algorithmus" hier kennt und der deutschen Sprache mächtig ist, kann er sich gerne beteiligen. Alle anderen sollten es lassen - den Code gibt es nicht.

  • Zahlen in Zahlwörter umwandeln

    • Runa
    • 12. November 2014 um 19:31

    Es mag deiner Aufmerksamkeit entgangen sein, aber es geht hier um einen Algorithmus, nicht um das Script selbst. Das Script selbst ist mit seinen 64 Zeilen und der Unterstützung bis neunhundertneunundneunzigquadrilliardenneunhundertneunundneunzigquadrillionenneunhundertneunundneunzigtrilliardenneunhundertneunundneunzigtrillionenneunhundertneunundneunzigbilliardenneunhundertneunundneunzigbillionenneunhundertneunundneunzigmilliardenneunhundertneunundneunzigmillionenneunhundertneunundneunzigtausendneunhundertneunundneunzig mit rekursiven Aufrufen etc. pp. durchaus recht gut dabei.

    Es geht lediglich um einen Ansatz, nicht um das Script selbst. Meinen Ansatz habe ich erleutert, und da es bisher keine Verbesserungsvorschläge zu diesem gab, ist dieser wohl nicht mehr zu verbessern.

  • Sehr langer Text in Editbox soll nicht umbrechen - wie schaffe ich das?

    • Runa
    • 11. November 2014 um 22:07

    Sorry Vince, aber mit dem Problem hat das nichts zu tun.

    Das Problem befasst sich mit dem automatischen Wordwrap - deine Idee mit dem limitieren des gesamten Edit-feldes auf eine bestimmte Anzahl zeichen.

    MicErd:

    Es tut mir leid, aber mir fällt spontan keine bessere Lösung ein, als einen Slider unter deiner Editbox zu verwenden, die je nach Inhalt eine "neue" Editbox anzeigt mit dem Inhalt. Bei 40.000 Zeichen müsste man bei der Lösung - leider - 11 Editboxen, um den Inhalt normal scrollbar anzeigen zu lassen. Dazu müsste man den entsprechenden String an der entsprechenden Stelle trennen... je nach Einsatzgebiet ist diese Lösung natürlich nicht wirklich anwendbar - denn professionell sieht anders aus.

  • Zahlen in Zahlwörter umwandeln

    • Runa
    • 11. November 2014 um 21:02

    Hallo,

    Ich arbeite gerade an einer Fragestellung, die es von mir verlangt Zahlen in Zahlwörter umzuwandeln. Meine bisherige Lösung ist ziemlich umständlich, daher hier der Thread - vielleicht hat jemand ja einen Verbesserungsvorschlag! :)

    Mein bisheriger Algorithmus zerlegt die Zahl in die einzelnen "Teilzahlen" und verknüpft die einzelnen Werte mit einem "und". Dann werden noch Ausnahmen beachtet und dann das Zahlwort ausgegeben. Geht das eventuell einfacher beziehungsweise sinnvoller?

    Liebe Grüße
    Einexage

  • Nach While-Schleife keine Befehlsannahme mehr

    • Runa
    • 30. September 2014 um 13:58

    Ich empfehle den Code in die entsprechenden Tags zu packen:

    Code
    [autoit]CODE[/autoit]

    ;)

    Ansonsten wurde zu diesem Problem schon alles gesagt, was ich auf die Schnelle sehe.

  • SonicWall SRA Design - CSS mit Willkommensnachricht überschreiben

    • Runa
    • 12. September 2014 um 15:49

    Hallo AutoItler,

    vielleicht hat ja einer von euch eine Idee. Ich versuche im Portal einer SonicWall SRA das Design den Ansprüchen unseres Betriebes anzupassen. Die meisten Elemente (eigentlich alle außer die Bookmarks) lassen sich in den Einstellungen der SRA deaktivieren. Leider wird das Design "verpfuscht", wenn man die "Tips/Help"-Leiste
    ausblenden lässt, was sich in der Form äußert, dass der Rahmen um das
    Content Element (alles unter dem grauen Balken bis zum Copyright) plötzlich schmaler ist, als der Rahmen, der bereits im
    Header verwendet wurde. Im Spoiler ein Bild, wie die Oberfläche im
    "Default"-Zustand - hier sieht man einen Teil des Content-Elementes.

    Die Frage ist nun: Wie kann ich den Interpreter dahinter überzeugen, dass es ein guter Plan wäre, das Design nicht komplett zu zerhauen - mein erster Gedanke war dort über die Willkommensnachricht zu arbeiten (Im Bild "Dell SonicWALL's Virtual Office provides (...)). Dort wird HTML komplett akzeptiert, also eigentlich auch das Style-Tag. Problem hierbei: Er scheint sowohl "width" als auch "min-width" komplett zu ignorieren, selbst wenn ein "!important" dahinter steht. Und meiner Ansicht nach sollte sowohl 'style="min-width: 14000px !important;"' als auch 'style="width: 14000px !important;"' recht auffällig sein. Farbdefinitionen und ähnliches funktionieren allerdings problemlos. Jemand eine Idee, was das Problem sein könnte und wie man das bereinigen kann?


    SonicWall SRA Portaloberfläche im Default-Zustand

    [Blockierte Grafik: http://www.firewalls.com/media/wysiwyg/firewalls/sra-features-2.jpg]

  • Prüfen ob lokaler Benutzer vorhanden ist

    • Runa
    • 8. September 2014 um 11:19

    Warum eigentlich so kompliziert? Net Users gibt die lokalen Benutzer problemlos aus. Da braucht man das ganze Zeug da oben nicht - zumal sich noch bei 300 Benutzern kein wirklicher Geschwindigkeitsvorteil einstellt... einzig und allein eine Sache muss man bei net users tun: Die entsprechende Zeile aus der CMD lesen und sich so formatieren, wie man sie gerne hätte. Ein Beispiel:

    [autoit]

    Func _UserExists($sUser)
    $CMD = Run(@ComSpec & " /c net users", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    While Sleep(50)
    $line &= StdoutRead($CMD)
    If @error Then ExitLoop
    Wend
    $line = StringReplace($line, @LF, "")
    $aString = StringSplit($line, @CR)
    For $i = 1 To $aString[0]
    If StringInStr($aString[$i], "Administrator") Then
    $sTemp = " " & $aString[$i]
    $sTemp = StringReplace($sTemp, " ", " ")
    If StringInStr($sTemp, " " & $sUser) Then Return True
    Return False
    EndIf
    Next
    EndFunc

    [/autoit]

    Getestet auf Windows 7 64bit - funktioniert auch, während man selbst in einer Domäne ist :P

  • FileOpenDialog -> nur lokale Festplatten

    • Runa
    • 12. August 2014 um 15:14

    Hallo!

    Ich brauche für ein Projekt die Möglichkeit, den FileOpenDialog zu öffnen. Problem hierbei: Dieser zeigt auch Netzwerk-Laufwerke an, die ich gerne ausblenden würde. Gibt es hierfür eine Möglichkeit, die ich bisher übersehen habe? Mittels "DriveGetDrive("FIXED")" kann man sich die lokalen Festplatten ausgeben lassen - gibt es so eine Einstellungsmöglichkeit über eine UDF oder eine Option?

    Gruß
    Einexage

    EDIT:

    Bisherige Lösung - aber extrem langsam (~30 Sekunden bei nahezu Neuinstallation) - danke trotzdem für den Ansatz, Oscar :)

    Spoiler anzeigen
    [autoit]

    $hGui = GUICreate('Wählen Sie ein Programm aus:', 300, 210)
    $hTreeView = GUICtrlCreateTreeView(10, 10, 280, 150, Default, 0x00020000)
    _Root(5)
    $hOk = GUICtrlCreateButton('Ok', 150, 170, 60, 25)
    $hCancel = GUICtrlCreateButton('Abbrechen', 220, 170, 70, 25)
    GUISetState()

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

    While True
    Switch GUIGetMsg()
    Case -3, $hCancel
    ConsoleWrite("Exitcode" & @CRLF)
    Exit
    Case $hOk
    ConsoleWrite("OK-code" & @CRLF)
    MsgBox(0,0, ControlTreeView($hGui, '', $hTreeView, 'GetSelected'))
    EndSwitch
    Exit
    WEnd

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

    Func _Root($iMaxtiefe, $iTiefe = 0, $sRoot = "", $hRoot = "")
    If $iTiefe > $iMaxtiefe Then Return
    If $sRoot = "" Then
    $hRoot = GUICtrlCreateTreeViewItem('Arbeitsplatz', $hTreeView)
    $aDrives = DriveGetDrive('FIXED')
    For $i = 1 To $aDrives[0]
    $hNewRoot = GUICtrlCreateTreeViewItem(DriveGetLabel($aDrives[$i]) & ' (' & StringUpper($aDrives[$i]) & ')', $hRoot)
    _Root($iMaxtiefe, $iTiefe+1, $aDrives[$i] & "", $hNewRoot)
    ControlTreeView($hGui, '', $hTreeView, 'Expand', 'Arbeitsplatz')
    Next
    Else
    $hSearch = FileFindFirstFile($sRoot & "*.*")
    While 1
    $sFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    If StringInStr(FileGetAttrib($sRoot & $sFile), "D") Then
    $hNewRoot = GUICtrlCreateTreeViewItem($sFile, $hRoot)
    _Root($iMaxtiefe, $iTiefe+1, $sRoot & $sFile & "", $hNewRoot)
    ElseIf StringRight($sRoot & $sFile, 4) = ".exe" Then
    $hNewRoot = GUICtrlCreateTreeViewItem($sFile, $hRoot)
    EndIf
    WEnd
    Return
    EndIf
    EndFunc

    [/autoit]

    Edit:

    Habe jetzt ein paar Ordner ausgeschlossen, um die Performativität zu erhöhen - die üblichen Verdächtigen: Windows, System Volume Information und natürlich: $RECYCLE.BIN. Jetzt braucht das ganze nur noch etwa ein fünftel der Zeit.

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™