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

Beiträge von James

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 8. September 2013 um 21:13

    Nein, es sollten alle vier Downloads nacheinander angezeigt werden. (Erst 0% bis 100%, dann wieder 0% bis 100%...)

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 8. September 2013 um 20:16
    Zitat von AnMa

    Kann es sein, dass sich die zwei Downloads ins Gehege kommen?

    Dass ich irgendeine Warteschleife einbauen muß, bevor der zweite Download auf die selbe Funktion zugreift?


    Nein, es scheint als würde _FTP_ProgressDownload das Skript selbstständig pausieren, bis der Download beendet ist. Die 4 Downloads sollten also bereits nacheinander ablaufen.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 8. September 2013 um 19:41
    Zitat von AnMa

    WOW .. ich hab sogar alles verstanden was Du geschrieben hast :) *schulterklopf*

    War das bei vorherigen Beiträgen nicht so? Sollte ich mich unklar oder (wie so oft) viel zu kompliziert ausdrücken, frag einfach nochmal nach.

    Zitat von AnMa

    Mir kommt es so vor, als würde die "While-Schleife" garnicht erst durchlaufen.

    Vor dem Ausschnitt oben steht aber schon ProgressOn, oder?

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 8. September 2013 um 19:16
    Zitat von AnMa

    Was ich nun aber garnicht verstehe ich Deine Aussage "Eigene Funktionen lassen sich übrigens genauso aufrufen wie alle anderen, d.h. Call ist nicht nötig." Das mit dem Aufrufen der Funktionen entzieht sich mir.

    Du hast es aber trotzdem richtig gemacht. :D

    $DL_state ist vielleicht etwas ungünstig benannt, aber ansonsten sollte es funktionieren. Wie viel schon heruntergeladen wurde bräuchtest du eigentlich vor der Schleife nicht abfragen, da der Download in den paar Millisekunden sowieso nicht fertig wird. Dann müsstest du allerdings While $DL_state < $DL_size durch While InetGetInfo($DL_Get, 2) ersetzen. Das sind aber nur Kleinigkeiten, wichtig ist, dass es funktioniert.
    Wie du die Prozent berechnest verstehe ich irgendwie noch nicht so ganz, was aber nicht heißt, dass es falsch ist. Ich hätte da einfach ($DL_state / $DL_size) * 100 benutzt.
    Zeile 9 ist übrigens wieder unnötig, da deine Funktion immer 1 zurückgibt und du diesen Wert sowieso nicht verarbeitest. Zeile 6 könnte eigentlich auch vor die Schleife, da sich da auch nichts ändert.

    Zitat von AnMa

    Aber irgendwo liege ich noch falsch.

    Fehler finde ich aber auch keine mehr.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 8. September 2013 um 16:27

    Du lässt dir vor der Schleife die Informationen über den Download geben und dann nie wieder. Die Anzahl der heruntergeladenen Bytes ändert sich aber (hoffentlich). Also muss das in die Schleife. Außerdem versuchst du [Download fertig?] mit [heruntergeladene Bytes] zu vergleichen, was überhaupt keinen Sinn macht.
    Eigene Funktionen lassen sich übrigens genauso aufrufen wie alle anderen, d.h. Call ist nicht nötig.
    $percent musst du auch noch in der Schleife berechnen. Du verwendest die Variable zwar, deklarierst sie aber nirgends. AutoIt sollte da eigentlich auch eine Fehlermeldung ausgeben.

    Einige Sachen stimmen in deiner Liste sogar, wieso sind sie dann im Skript falsch? Und für InetGetInfo lohnt sich ein Blick in die Hilfe.

    Und AntiSpeed hat höchstwahrscheinlich aus Versehen im falschen Thema gepostet, anders kann ich mir den Text nicht erklären.

  • Mac Auslesen und Rechnername anpassen

    • James
    • 8. September 2013 um 15:57

    Genau, was ist eigentlich das Problem mit der WMI Lösung?

    Hier mal eine angepasste Version um die richtige MAC Adresse zu erhalten. Dafür brauchst du dann allerdings den Namen oder irgendeinen anderen Wert des Adapters.

    [autoit]

    Func GetMACAddress($sKey, $sValue, $sComputer="localhost")
    Local $oWMI, $oItems, $oItem
    $oWMI = ObjGet("winmgmts:\" & $sComputer & "")
    If @error Then Return SetError(1, 0, "")
    $oItems = $oWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", 0x30)
    If (Not IsObj($oItems)) Then Return SetError(2, 0, "")

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

    For $oItem In $oItems
    If Execute("$oItem." & $sKey) = $sValue Then
    Return $oItem.MACAddress
    EndIf
    Next
    Return SetError(3, 0, "")
    EndFunc

    [/autoit]

    Beispiel:

    [autoit]

    MsgBox(0, "", GetMACAddress("Name", "Realtek RTL8168B/8111B Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)"))

    [/autoit]
  • Problem mit Fußzeilenlinie in Word

    • James
    • 8. September 2013 um 11:18

    Das Seitenlayout darf leider nicht verändert werden.
    Sie hat es mittlerweile auch aufgegeben, danke trotzdem für deine Hilfe. :)

  • C++ DLL - String

    • James
    • 8. September 2013 um 09:45

    Die Funktion DllCall unterstützt als Datentyp für die Parameter und den Rückgabewert str.

  • [Mini-WB] Verschlüsselungs-Algo umkehren

    • James
    • 8. September 2013 um 09:43
    Zitat von monkey

    Ich denke da gehen Daten verloren


    Oder der String wird einfach komprimiert.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 7. September 2013 um 23:45
    Zitat von AnMa

    Ist folgendes richtig?
    - Eine Funktion steht normal nach dem Exit ?
    - Die Funktion kann über ihre Bezeichnung (in meinem Fall "_UpdateProgress") auch öfter aufgerufen werden?

    1) Der Übersichtlichkeit halber ja. 2) Ja.

    Zitat von AnMa
    [autoit]

    Local $Ftpc = _FTP_Close($Open)

    [/autoit]

    Da du diese Variable nirgends verwendest kannst du alles bis auf _FTP_Close($Open) weglassen.

    Zitat von AnMa
    [autoit]

    While Local $DLstate = InetGetInfo($DLGet, 1)

    [/autoit]

    Das funktioniert so nicht, du kannst keine Variablen in einem Schleifenkopf deklarieren. Lösung: While InetGetInfo($DLGet, 2) (1 wäre nur die Größe des Downloads, und bei Zahlen ist <> 0 eigentlich immer True --> Endlosschleife)

    In der Schleife liest du "einfach" die schon heruntergeladen Bytes und die Größe des Downloads (wobei das vor die Schleife kann da sich der Wert nicht ändert) aus, teilst die beiden und rufst damit dann deine Funktion auf (wie jede andere auch).

  • Problem mit Fußzeilenlinie in Word

    • James
    • 7. September 2013 um 20:16

    Screenshot ist im Anhang

    Die zweite Seite ist nicht drauf, aber ich weiß, dass es einfach weiterhin Fließtext ist. Ich hoffe das reicht, da es ist etwas umständlich Screenshots zu machen, da ich kein Word habe und das Problem nicht bei mir auftritt, sondern ich nur beim Suchen einer Lösung mithelfe.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 7. September 2013 um 19:01

    Genau, denn eine Funktion ist ja eigentlich dazu da um Anweisungen zusammenzufassen und das Skript kürzer und übersichtlicher zu machen, was in deinem Versuch nicht gegeben wäre.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 7. September 2013 um 17:37

    Fast.
    1) Du musst den Rückgabewert von InetGet einer Variable zuweisen und diese dann auch bei InetGetInfo verwenden.
    2) Du musst bei jedem Schleifendurchlauf abfragen, ob der Download fertig ist, d.h. InetGetInfo in den Schlefenkopf packen.
    3) $DLstate not True funktioniert nicht, richtig wäre Not InetGetInfo($Download, 1).
    4) Du kannst Funktionen nicht in Schleifen deklarieren. Die Funktionen sollten alle am Ende des Skriptes stehen, du musst sie nur in der Schleife aufrufen. Dafür brauchst du dann natürlich wieder einen Wert von InetGetInfo.

  • Problem mit Fußzeilenlinie in Word

    • James
    • 7. September 2013 um 15:45

    Guten Tag liebe Community.

    Heute wurde mir zum ersten Mal ein Problem präsentiert, das auch ich nicht lösen konnte. Und da Google in diesem Fall auch nicht helfen wollte, frage ich einfach mal die MS-Office Experten, von denen es hier im Forum hoffentlich ein paar gibt.
    Das Problem ist, dass zwischen dem Textende und der Fußzeilenlinie eigentlich noch genug Platz ist um noch eine weitere Zeile Text unterzubringen. Word ist das anscheinend egal, denn der Text geht einfach auf der nächsten Seite weiter.
    Die Frage wäre jetzt, wie man Word klar macht, dass dort noch eine Zeile dazwischenpasst. Über andere Lösungen, die dieses rein optische Problem auch lösen können wäre ich allerdings auch erfreut.

    MfG James

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 7. September 2013 um 15:12

    Die letzten beiden Parameter von InetGet sind options und background, wobei für background nur die Werte 0 oder 1 in Frage kommen, eben je nach dem, ob der Download im Hintergrund laufen soll.
    Du musst also selbst mit InetGetInfo prüfen, ob der Download noch läuft und wie viel schon heruntergeladen wurde und aus diesen beiden Infos eine Schleife bauen, die deine Funktion _UpdateProgress aufruft.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 6. September 2013 um 08:49
    Zitat von AnMa

    Nein, bisher habe ich Koda direkt gestartet. Da hakt es eben schon, dass ich das mit AutoIt garnicht in Verbindung bekomme.

    Der Button zum Einfügen sollte aber trotzdem vorhanden sein, nur dann eben nicht funktionieren. (Der Button hat an der Seite einen kleinen Pfeil um die anderen Optionen auswählen zu können.) Das Einfachste wäre es wahrscheinlich Koda über Alt+m direkt aus SciTE zu starten.

    Zitat von YaeroxXO

    Mir wurde zu beginn hier immer ins Gewissen gesprochen, dass ich den "Mehraufwand" zum erstellen der Oberflächen in kauf nehmen soll, dafür den Code aber selber schreibe. Also ich würde es so jedem anderen auch nun ans Herz legen. Wenn man es auch einige male gemacht hat, geht es von Hand ziemlich genau so fix finde ich

    Ich hatte mir auch kurz überlegt, ob ich das nicht vielleicht ansprechen sollte, dachte dann aber, dass das Projekt ja wahrscheinlich in näherer Zukunft fertig sein soll und es eben schon ein bisschen Zeit in Anspruch nimmt GUIs selbst zu programmieren bzw. das zu Lernen. (Das Programmieren selbst geht dann natürlich schneller als das Zusammenklicken mit Koda.) Aber du hast natürlich Recht.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • James
    • 5. September 2013 um 22:46

    Du startest Koda doch über SciTE, oder?
    Dann kannst du in Koda unter Tools auf Generate Form Code klicken um das Fenster mit dem Skript zu öffnen. Dort müsste unten ein Button sein auf dem Insert into Scite steht, oder bei dem man das zumindest auswählen kann.

  • AutoIT und ABD.exe for Android

    • James
    • 4. September 2013 um 15:38

    Dafür brauchst du eigentlich "nur" folgende Befehle:

    [autoit]

    Run
    ProcessExists
    StdinWrite
    StdoutRead

    [/autoit]

    (Wobei du die letzten Befehle nur für die Shell brauchst, oder eben um die Rückgabe von ADB auszulesen.)

    Dieses Thema könnte dir auch helfen.

  • Eine weitere Neue

    • James
    • 3. September 2013 um 15:13

    Auch von mir ein herzliches Willkommen. :)

  • Timestamp der neuesten Datei auf einem FTP-Server auslesen und eMail senden, wenn diese älter als 5 Minuten ist.

    • James
    • 2. September 2013 um 19:13

    Um Emails zu schicken haben wir die Funktion _INetSmtpMail.
    Da diese aber anscheinend nicht immer zuverlässig funktioniert solltest du hier im Forum nach Alternativen suchen, davon gibt es genug.

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™