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

Beiträge von Oscar

  • Function klappt nicht so!

    • Oscar
    • 13. Juli 2011 um 14:05

    Zumindest unter Win7 werden AdminRechte benötigt. Ansonsten schreibt das Skript die Daten nicht in die Registry.

  • Function klappt nicht so!

    • Oscar
    • 13. Juli 2011 um 13:36

    Schnitzel, das geht auch noch kürzer, außerdem werden AdminRechte (#RequireAdmin) benötigt:

    Spoiler anzeigen
    [autoit]


    #RequireAdmin
    #include <GUIConstantsEx.au3>

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

    GUICreate("", 100, 100)
    $Button1 = GUICtrlCreateButton("Button1", 5, 5)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _RegSwitch()
    EndSwitch
    WEnd

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

    Func _RegSwitch()
    Local $sRegPath = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System"
    Local $bRegistry = RegRead($sRegPath, "DisableRegistryTools")
    Local $bTaskmgr = RegRead($sRegPath, "DisableTaskMgr")
    RegWrite($sRegPath, "DisableRegistryTools", "REG_DWORD", Number(Not $bRegistry))
    RegWrite($sRegPath, "DisableTaskMgr", "REG_DWORD", Number(Not $bTaskmgr))
    EndFunc ;==>_RegSwitch

    [/autoit]
  • AutoIt Showroom - Präsentiere deine Programme ohne Source

    • Oscar
    • 8. Juli 2011 um 14:46

    Ich wollte mich eigentlich dieses Mal raushalten, aber das ist ja jetzt völlig unsinnig.
    Alle "Exen" in diesen Thread?
    Das ist total absurd, weil unübersichtlich und wenn jemand einen Kommentar dazu abgibt, dann weiß man nicht wofür das gedacht ist.
    Wir hatten das Thema ja schon öfter und meiner Meinung nach, wäre dann ein Thread (pro Exe) in "Filebase" die beste Wahl.

    Aber generell finde ich, dass man hier (in einem AutoIt-Support-Forum) auch das Skript veröffentlichen sollte. Ansonsten gibt es bereits zahlreiche Software-Archive im Internet (z.B. Heise-Software-Verzeichnis), wo man auch viel mehr User erreichen kann.

  • TCP durch Router schleußen

    • Oscar
    • 4. Juli 2011 um 13:28

    Du verstehst da etwas falsch!
    Wenn der Client die Verbindung zum Server aufgebaut hat, dann kann auch der Server Informationen zum Client schicken (ohne dafür extra eine Verbindung aufzubauen).

  • Mehrfach Ergebnisausgabe in MsgBox oder anders

    • Oscar
    • 4. Juli 2011 um 04:42

    Erstelle eine eigene GUI und benutze diese für die Ausgabe (evtl. auch für die Eingabe).

  • aktueller Währungs-Kurs auslesen

    • Oscar
    • 1. Juli 2011 um 12:52

    Ich weiss nicht genau, ob ich das Javascript richtig interpretiere, deshalb "ohne Gewähr"!

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    $aRates = getWaehrungskurse()
    _ArrayDisplay($aRates)

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

    Func getWaehrungskurse()
    Local $HTML, $sRates, $sCurr, $aRates, $aCurr
    $HTML = InetRead("http://www.oanda.com/lang/de/currency/converter/")
    If @error Then Return SetError(1, 0, 0)
    $HTML = BinaryToString($HTML)
    ;~ ConsoleWrite($HTML & @CR)
    $sRates = StringRegExpReplace($HTML, '(?s).+\{"askRates"\:\[(.+?)\].+', '$1')
    If @error Then Return SetError(1, 0, 0)
    $aRates = StringSplit($sRates, ',')
    $sCurr = StringRegExpReplace($HTML, '(?s).+,"pairs"\:\[(.+?)\].+', '$1')
    If @error Then Return SetError(2, 0, 0)
    $aCurr = StringSplit($sCurr, ',')
    For $i = 1 To $aCurr[0]
    $aRates[$i] = StringReplace($aCurr[$i], '"', '') & ' = ' & StringReplace($aRates[$i], '"', '')
    Next
    Return $aRates
    EndFunc ;==>getWaehrungskurse

    [/autoit]
  • aktueller Währungs-Kurs auslesen

    • Oscar
    • 1. Juli 2011 um 12:10

    Du greifst auch auf eine ganz andere Seite zu. Dort sind die Kurse und Umrechnungen im Javascript gespeichert.
    Das müsstest Du daraus entnehmen.

  • Oscar Datenbank

    • Oscar
    • 1. Juli 2011 um 12:03

    Doch! Du kannst eine Funktion auch von einer Funktion aus aufrufen.

  • Oscar Datenbank

    • Oscar
    • 1. Juli 2011 um 11:57

    TheLuBu: Das beseitigt aber nicht alle Warnungen. Von den anderen Funktionen wird auch auf die globalen Variablen zugegriffen.

  • Oscar Datenbank

    • Oscar
    • 1. Juli 2011 um 11:53

    Ja, wobei Du die globalen Variablen, denen ein Wert übergeben wird einfach vor den Funktionsaufruf verschieben kannst. Die müssen dann nicht nochmal in der Funktion deklariert/definiert werden.

  • Oscar Datenbank

    • Oscar
    • 1. Juli 2011 um 11:42

    Du erhälst keine Fehlermeldungen, sondern Warnungen. ;)

    Wenn Du alle globalen Variablen vor dem Funktionsaufruf als global deklarierst, dann geht es.

  • Liste sortiert ohne Style

    • Oscar
    • 1. Juli 2011 um 11:34

    Benutze als Style einfach:

    [autoit]

    BitOr($WS_BORDER, $WS_VSCROLL)

    [/autoit]
  • aktueller Währungs-Kurs auslesen

    • Oscar
    • 1. Juli 2011 um 10:59

    Warum einen Browser dafür bemühen?
    INetRead holt Dir doch auch den Quelltext der Seite:

    Spoiler anzeigen
    [autoit]


    MsgBox(0, 0, getWaehrungskurse())

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

    Func getWaehrungskurse()
    Local $HTML, $Kurs_NOK, $Kurs_PLN
    SplashTextOn("", "Währungskurse werden von der internationelen EZB-Seite abgerufen", 300, 80)
    $HTML = InetRead("http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html")
    If @error Then Return SetError(1, 0, 0)
    $HTML = BinaryToString($HTML)
    ;~ ConsoleWrite($HTML & @CR)
    $Kurs_NOK = StringRegExpReplace($HTML, '(?s).+>Norwegian krone </td>.+?"rate">(.+?)<.+', '$1')
    $Kurs_PLN = StringRegExpReplace($HTML, '(?s).+>Polish zloty </td>.+?"rate">(.+?)<.+', '$1')
    SplashOff()
    Return $Kurs_NOK & @CR & $Kurs_PLN
    EndFunc ;==>getWaehrungskurse

    [/autoit]
  • Prüfen auf Rechtsklick mit _isPressed

    • Oscar
    • 1. Juli 2011 um 09:07

    Deine Lösung kann nicht funktionieren, da _IsPressed immer nur Null oder Eins zurückgibt. Du fragst aber mit Switch GUIGetMsg ab. Null wäre dann also "kein Event vorhanden" und wird demzufolge immer ausgeführt.

    Die Übersicht über die Events findest Du in der Hilfe bei GUIGetMsg. ;)

  • Prüfen auf Rechtsklick mit _isPressed

    • Oscar
    • 1. Juli 2011 um 08:51

    Warum benutzt Du nicht $GUI_EVENT_SECONDARYUP?

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 454, 192, 114)
    $Button1 = GUICtrlCreateButton("Button1", 192, 192, 211, 97, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While True
    $msg = GUIGetMsg()
    switch $msg
    case $Button1
    MsgBox(1, "Button1", "Button1 wurde gedrückt")
    case $GUI_EVENT_SECONDARYUP
    MsgBox(1, "Rechte Maustaste", "Du hast die rechte Maustaste gedrückt")
    case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • StringRegExpReplace mit Dateipfad

    • Oscar
    • 1. Juli 2011 um 08:33

    So geht's mit StringRegExpReplace:

    [autoit]


    $string = "C:\2. Freigegeben\Player\10.3\test.msi"
    $path = StringRegExpReplace($string, '(.+\\).+', '$1')
    $version = StringRegExpReplace($string, '.+\\(.+)\\.+', '$1')
    MsgBox(0, 'Test', 'Pfad = ' & $path & @CR & 'Version = ' & $version)

    [/autoit]

    Edit: Er wollte die Versionsnummer, nicht die Datei. Geändert!

  • Problem bei Laden/Speichern einer Textdatei

    • Oscar
    • 1. Juli 2011 um 08:25

    Bei dem $neu = StringSplit($text, @CRLF) fehlt ein ",1" da es sich bei @CRLF um zwei Zeichen handelt.
    Es muss also so aussehen:

    [autoit]

    $neu = StringSplit($text, @CRLF, 1)

    [/autoit]
  • JPG einfügen

    • Oscar
    • 1. Juli 2011 um 08:11

    Opt("YYY", 2) gibt es nicht, das Pic überdeckt das Label (nicht deaktiviert), Pfadangabe beim Pic ist absolut (schlecht, weil es dann nur bei Dir funktioniert), die GUIGetMsg-Schleife fehlt und das fehlende EndFunc hat Mich_he schon erwähnt.

    Außerdem solltest Du beim posten von Skripten den AutoIt-Tag sowie den Spoiler benutzen.

  • können es dann auch andere verwenden?

    • Oscar
    • 29. Juni 2011 um 23:21
    Zitat von clezZ

    Ich glaube du solltest dich mal ein bisschen damit beschäftigen, wie AutoIt funktioniert...

    Dazu müsste er ja mal die Hilfe lesen. :D

  • Eigener Zufallsalgorhythmus - Fertig

    • Oscar
    • 29. Juni 2011 um 22:59

    Ein Zufallszahlen-Algorithmus sollte bei einer großen Anzahl an zufällig ausgewählten Zahlen eine möglichst gleichmäßige Häufigkeitsverteilung erreichen.
    Das heißt: wenn man die Funktion 10000 mal aufruft und jedes Mal eine Zahl zwischen 0 und 9 generieren lässt sollte am Ende jede Zahl ungefähr 1000 mal vorhanden sein.
    Wenn das nicht gegeben ist, dann bevorzugt die Funktion einen bestimmten Zahlenbereich, was für viele Anwendungsgebiete schlecht ist.

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™