Beiträge von AnMa
-
-
-
Ich habe das jetzt mal noch mit eingebaut.
Zu sehen bekam ich, dass vor und nach den Verzeichnissen noch die Slshes bzw. Backslashes gefehlt haben. Diese habe ich jetzt inkl. @ScriptDir mit eingebaut. In der Console bekomme ich jetzt den korrekten Pfad zum file inkl. aller Zugangsdaten ausgegeben. Wenn ich diesen kopiere und im FF einfüge, lande ich auch sofort an der korrekten Stelle und bekomme das File.
Trotzdem will die Funktion nicht arbeiten.
[autoit]
Aktuell:Func _NewsDownload($sOpener, $sCloser)
[/autoit]
Local $_S1_Conn = ("ftp://" & $sOptFtpUser & ":" & $sOptFtpPasswd & "@" & $sOptFtpServer)
ConsoleWrite($_S1_Conn & "/News/" & $sCloser & @ScriptDir & "\temp" & "Closer.mp3" & @CRLF)
Local $hDownload[3]
$hDownload[0] = InetGet($_S1_Conn & "/News/" & $sOpener, @ScriptDir & "\temp" & "Opener.mp3", 1, 1)
$hDownload[1] = InetGet($_S1_Conn & "/News/" & $sCloser, @ScriptDir & "\temp" & "Closer.mp3", 1, 1)
$hDownload[2] = InetGet($_S1_Conn & "/News/" & $sOptFtpZugang, @ScriptDir & "\temp" & $sOptFtpZugang, 1, 1)
Return $hDownload
EndFuncIch frag mich was den Unterschied ausmacht, denn die alte Funktion mit der integrierten Progressbar läuft nachwievor.
Spoiler anzeigen
[autoit]#Region ### DOWNLOAD ###
[/autoit]
Func _NewsDownload($sOpener, $sCloser)
Local $_S1_Open = _FTP_Open('MyFTP Control')
Local $_S1_Conn = _FTP_Connect($_S1_Open, $sOptFtpServer, $sOptFtpUser, $sOptFtpPasswd, 0, $INTERNET_DEFAULT_FTP_PORT, $INTERNET_SERVICE_FTP, 0)
ProgressOn ( "News Download", "Aktuelles OnAirDesign wird geladen")
_FTP_ProgressDownload($_S1_Conn, "temp" & "Opener.mp3", "News/" & $sOpener, "_UpdateProgress")
Sleep(1000)
ProgressOff ( )
ProgressOn ( "News Download", "Aktuelles OnAirDesign wird geladen")
_FTP_ProgressDownload($_S1_Conn, "temp" & "Closer.mp3", "News/" & $sCloser, "_UpdateProgress")
Sleep(1000)
ProgressOff ( )
_FTP_ProgressDownload($_S1_Conn, "temp" & $sOptFtpZugang, "../_func/" & $sOptFtpZugang, "_UpdateProgress")
Sleep(1000)
_FTP_Close($_S1_Open)
EndFunc
#EndRegion ### DOWNLOAD ### -
-
-
Ich bin gerade dabei das ganze Script nochmal zu überarbeiten und übersichtlicher zu gestalten, auch um eventuelle Fehlerquellen auszuschließen.
Allerdings verweigert diese Function trotz korrekter Übergabe der Variablen noch ihren Dienst.
[autoit]#Region ### DOWNLOAD ###
[/autoit]
Func _NewsDownload($sOpener, $sCloser)
Local $_S1_Conn = ("ftp://" & $sOptFtpUser & ":" & $sOptFtpPasswd & "@" & $sOptFtpServer)
Local $hDownload = InetGet($_S1_Conn & "News/" & $sOpener, "temp" & "Opener.mp3", 1, 1)
Local $hDownload = InetGet($_S1_Conn & "News/" & $sCloser, "temp" & "Closer.mp3", 1, 1)
Local $hDownload = InetGet($_S1_Conn & "News/" & $sOptFtpZugang, "temp" & $sOptFtpZugang, 1, 1)
EndFunc
#EndRegion ### DOWNLOAD ### -
Na da schließ ich mich doch glaich mal mit den besten Wünschen an
Häppy Börthday
-
Nun hab ich nochmal eine blöde Frage.... :pinch:
Es geht noch immer um die Declaration der Variablen.
In einem au3-Script, in dem ich einige Funktionen ausgelagert habe, stellt sich innerhalb der ersten Funktion folgender Ablauf dar.
1. Funktion: Nachrichten
- Wochentagabfrage
- Uhrzeitabfrage incl. aufrufen einer weiteren Funktion für die Uhrzeit
- aufrufen der Funktion für den ersten Download
- aufrufen der Funktion für die Ini-Read der Zugangsdaten
- Download des zusätzlichen Contents mit den Zugangsdaten
- Normalisierung der Daten
usw...2. Funktion erster Download
3. Funktion: auslesen der ZugangsdatenVorab, das Script funktioniert soweit, der erste Download wird ausgeführt aus der mit geladenen ini-Datei werden die Zugangsdatenausgelesen und der zweite Download vollzogen.
Trotzdem aber alles funktioniert, bekomme ich in der 1. Funktion unter Punkt "Download des zusätzlichen Contents" die Errormeldung [WARNING: §xmedia_user: possibly used before declaration]. Kann es sein, dass diese Warnug nur deshalb kommt, weil die Variablen chronologisch im Script vor der Funktion stehen in dem sie declariert werden und kann ich diese Warnung ignorieren?
-
Zudem geht es hier ja darum nicht alles zu schließen, sondern nur die Regions, der Rest soll ja offen bleiben.
-
Also außer dem ist da ja nix drin ..
Das oben ist der komplette Inhalt.
-
Guten Abend,
ich weiß nicht was ich schon wieder falsch gemacht habe, aber bei mir wills nicht
Bin wie gesagt in die SciUser.properties rein und habe das wie folgt eingefügt.
Code
Alles anzeigenimport au3.UserUdfs import au3.keywords.user.abbreviations # 23 Un/Fold #Region command.name.23.$(au3)=Toggle Fold #Region command.23.*.au3=dostring local text = editor:GetText() tReg = {} pos, iEnd = text:find('#[Rr][Ee][Gg][Ii][Oo][Nn]') \ if pos ~= nil then table.insert(tReg, pos) while true do \ pos, iEnd = text:find('#[Rr][Ee][Gg][Ii][Oo][Nn]', iEnd) \ if pos == nil then break end table.insert(tReg, pos) end \ for i=1, #tReg do editor:GotoPos(tReg[i]) editor.CurrentPos = tReg[i] \ scite.MenuCommand(IDM_EXPAND) end end command.mode.23.*=subsystem:lua command.shortcut.23.*.au3=Ctrl+Alt+R
Aber keine Reaktion auf Sreg + Alt + R ...
-
-
-
Nachdem ich feststellen mußte, dass ich mit meinem Wissen über einige Basics noch schwer hinterherhinke habe ich mich noch mal auf die Variablen gestürzt. Beim abarbeiten der Hilfe bin ich über folgendes Beispiel gestolpert und ein Teil will sich mir nicht so recht erschließen.
[autoit]Local $w = Number(1 + 2 + 10) ; Gibt 13 zurück
[/autoit]
Local $x = Number("3.14") ; Gibt 3.14 zurück
Local $y = Number("24/7") ; Gibt 24 zurück
Local $z = Number("tmp3") ; Gibt 0 zurück1, 2 und 4 sind mir klar, aber bei 3 habe ich ein Problem. Warum bekommt man hier nicht 24/7 als Wert zurück, sondern nur 24 ?
-
Also ....
Ich habe ja nun einige Funktionen ausgegliedert und bekomme in den ausgegliederten Funktionen die Meldung, dass diverse Variablen noch nicht declariert sind.
Im Hauptscript rufe ich zuerst die config.ini auf:
Spoiler anzeigen
[autoit]#Region ### INI-READ ###
[/autoit] [autoit][/autoit] [autoit]
Global $sInifile = @ScriptDir & "\data\config.ini"
;~ [Program-Info];~ [Options]
[/autoit] [autoit][/autoit] [autoit]
Global $sOptFtpZugang = IniRead($sInifile, "Options", "OptFtpZugang", "default")
Global $sOptFtpServer = IniRead($sInifile, "Options", "OptFtpServer", "default")
Global $sOptFtpUser = IniRead($sInifile, "Options", "OptFtpUser", "default")
Global $sOptFtpPasswd = IniRead($sInifile, "Options", "OptFtpPasswd", "default")usw.....
[/autoit]Danach rufe ich die Includes auf:
Spoiler anzeigen
[autoit]#Region ### INCLUDES ###
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>
#include <GroupEx.au3>usw....
[/autoit]Das Script scheint soweit auch zu funktionieren, aber ich bekomme eben die Error-Meldungen.
Setze ich nun die Include-Gruppe vor die IniRead-Gruppe, werden andere Variable als nicht declariert angezeigt.
Das ist wie: "Wer war zuerst da, das Hihn oder das Ei?"
-
hmpf ...
Nun hab ich den Functionsteil in eine .au3 ausgegliedert aber ein Problem.
Im Hauptscript rufe ich ja die ganzen Includes auf und auch die ReadIni für das config-File. Und obwohl ich jetzt die config.ini vor den Includes auslesen lasse und die Variablen als "Global" declariert habe bringt er mir im Fungionsscript die Meldung, dass die Variablen nicht declariert wären.
-
-
Ich habe nochmal eine grundlegende Frage zum Scriptaufbau.
Das anfänglich kleine Progrämmchen wird ja nun immer größer und größer und je mehr ich mich in die Materie einarbeite um so mehr Ideen kommen mir, um aus dem Tool ein Programm entstehen zu lassen. Aber ich muß aufpassen, dass das Ganze übersichtlich bleibt.
Auf anraten habe ich ja nun alles in folgender Reihenfolge in ein Script gepackt
- Includes
- Ini-Read
- Startscreen
- Main Gui
- Option Gui
- Workaround
- Free Recources
Exit
- FuntionsDas alles habe ich mit Region und #EndRegion in übersichtliche Bereiche eingeteilt und zusätliche Regionen darin eingerichtet, wenn ein Teil besonders umfangreich ist.
Aber:
Das reicht so langsam nicht mehr um das Script übersichtlich zu halten, ständiges scrollen, offenen und schließen von Regionen wird langsam zu Last. Gerade die Funktionen werden immer größer.Macht es wirklich Sinn weiter alles in ein einziges Script zu packen?
oder
Ist es doch sinnvoll einen Teil auszulagern und was wäre dann die beste Lösung? -
Also nach knapp 4 Stunden Rechnerei, habe ich bechlossen bis zur klärung der nötigen Formel, die Normalisierung vorläufig noch mit mp3Gain ausführen zu lassen.
Die Umrechnung der Schallpegeländerung auf eine prozentuale Angabe ist eine harte Nuss.
Diese nonlineare Berechnung bricht mir gerade das Genick, aber ich bleibe dran.
-
Den Stream gibt in dem Fall der Sender vor. Insofern geht es darum die entsprechenden Daten aus dem Shoutcast auszulesen
Ähnlich dem Schema der RadioToolbox.
Man kann das wohl sicher über IP und Port direkt auslesen, aber ich habe noch nicht gefunden wo und wie.
Mir kam nur die Idee, da RadioToolbox anscheinend dazu anscheinend die "Bass.dll", "Bass_aac.dll", "Basswma.dll" und die "Bass.Net.dll" verwendet wird.