[PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

  • Das heißt, wennich das komplette script später compilieren möchte komm ich um IniRead und IniWrite nicht rum?

    und um Variable aus einer Ini-Datei auszulesen muß ich jede Einzelne in jedem Script separat mit IniRead einlesen?


    Um komplette Sektionen einzulesen, kannst du auch

    [autoit]

    IniReadSection()

    [/autoit]

    verwenden.
    Damit brauchst du nicht jeden Wert einzeln einlesen, sondern nur deine (drei) Sektionen.

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Und wie wird das dann den Variablen zugeordnet?

    In der config.ini steht ja nur ftp_server=ft_server.com dort fehlt also das $-Zeichen und die "-Zeichen, denn für eine Variable müßte es ja $ftp_server="ftp_server.com" heißen?

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)

  • Die "-Zeichen sind nur dazu da um Strings im Skript zu kennzeichnen. Ansonsten sind die nicht relevant. Wenn in der Config nur "ftp_server=" steht darfst du bei IniRead als Key natürlich auch nur "ftp_server" verwenden.

  • Ich glaube irgendwie reden wir gerade aneinander vorbei :D

    Wenn ich mit IniWrite einen Eintrag schreibe, steht dort ja dann zum Beispiel folgendes:

    [Options]
    variable=C.\Test 1\test\

    Wenn ich dann wiederum mit IniRead den Eintrag auslese passiert folgendes:

    IniReadSection("config.ini", "Options")
    MsgBox(0, "test", §variable")

    WARNING: $variable: posibly used bevore declaration.

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)

  • Lies doch mal die Hilfe zu IniReadSection.
    Diese Funktion gibt ein 2-dimensionales Array zurück. :D

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Grummls :D ... Da hab ich mal wieder verpennt ...

    Nun habe ich also zwei Möglichkeiten.

    Erste Variante, ich lese in jedem Dokument mit IniRead alle Secions ein und lebe damit dass die Variablen etwas unübersichtlicher sind "$varOptions[1][1]" usw.

    Oder ich baue eine config.au3 die aus der config.ini die Variablen mit IniRead ausließt und ihnen dann neue Variablen zuweist. Diese config.au3 kann dann über #include einglesen werden. Dann müßte ich bei Änderungen oder Erweiterungen nicht mehr alle einzelenen Sub-Programme überarbeiten.

    oder?

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)

  • Ich weiß echt nicht warum die da so unnötige Gedanken drüber machst. Was ist denn das Problem daran wenn einmal ganz am Anfang des Scriptes das reinschreibst.

    Spoiler anzeigen
    [autoit]

    $config = "config.ini"

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

    $ftp_server = IniRead($config, "Options", "ftp_server", "")
    $zugang = IniRead($config, "Options", "zugang", "")
    $ftp_user = IniRead($config, "Options", "ftp_user", "")
    $ftp_passwd = IniRead($config, "Options", "ftp_passwd", "")
    $audiopath = IniRead($config, "Options", "audiopath", "")
    $db = IniRead($config, "Options", "db", "")

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

    $news = IniRead($config, "Audios", "news", "")
    $newsopener = IniRead($config, "Audios", "newsopener", "")
    $newscloser = IniRead($config, "Audios", "newscloser", "")

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • *grins* :D

    Nun mein script besteht ja aus vielen einzelnen scripten und ich muß die Variablen dann in jedem Script extra einlesen. Zu dem möchte ich das Script ja nach und nach für viele andere Dinge weiter entwickeln, das heißt es komen evtl. neue Variablen hinzu usw., dann müßte ich das in jedem scrit ändern. So muß ich nur die config.ini und und die configread.au3 anpassen.

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)

  • Quizfrage, was ist der Sinn dahinter das es in viele einzelne Scripte aufteilst?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Öhm ... ich dachte das wäre notwendig?

    Und auf die Idee, dass es notwendig ist kommst wodurch? Gerade als Anfängerin machst es dir dadurch unnötig schwer und baust dir selbst mögliche Fehlerquellen ein. Alleine schon wenn ein Problem mit deinem Programm hast und das auf x Dateien aufgeteilt ist bezweifel ich das sich jeman das antut und sich dann da durchkaut ;).

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Gute Frage ...

    Irgendwie kam das mal irgendwo zu Tage und ich hatte das bei meinem CMD-Script auch so gelöst.

    Deinen Worten entnehme ich, dass das totaler unfug ist :)

    Das heißt für mich .... Kommando zurück und alles neu aufbauen?

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)

  • Unfug nicht, nur unnötig komplex ;). Zumindest wenn das wirklich vollwertige Einzelscripte sind und nicht nur Funktionen welche dann aufrufst. Wobei ich ersteres Vermute sonst müsstest nicht überall die config.au3 einbinden.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (13. September 2013 um 13:23)

  • OK, dann mal die folgende Frage:

    Sehe ich das richtig, dass ich die einzelnen Unterprogramm als Funktion in das Hauptprogramm integriere?

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)


  • Sehe ich das richtig, dass ich die einzelnen Unterprogramm als Funktion in das Hauptprogramm integriere?

    Joa, dazu sind Funktionen, unter anderem, da.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Ich seh schon .. irgendwie hänge ich hier noch in irreführenden Gedankengängen fest :(

    Vermutlich muß ich mich erst nochmal mit dem Gedanken des Aufbaus geneuer auseinander setzen.

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)

  • Denke eher das ist ein Verständnissproblem bei dir. Beim ausführen/kompilieren werden an genau der Stelle an der das include setzt der Inhalt der Datei die includiert wird "reinkopiert". Sprich es macht im Finalen Programm komplett keinen unterschied ob die Programmteile mal in seperaten Dateien waren oder nicht. Sprich wenn jetzt in deinem Hauptscript 10 Nebenscripte mit include einbidnest und in diesen 10 Nebenscripte jeweils noch deine config.au3 hast du Final 10 mal den Inhalt deiner config.au3 drin stehen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • OK, so langsam beginnt der Nebel sich zu lichten :D

    Das heißt alles was ich in meiner "Haupt.au3" aufrufe wird beim compilieren mit eingelesen und in die spätere Exe-Datein eingebaut? Es würde also später nur noch die Exe existieren udn darinwären alle Subprogram integriert.

    Das macht natürlich jetzt einiges klar, warum diverse Dinge nicht so gelaufen sind wie ich dachte.

    Ein Tag ist schön, wenn am ende vom "exit" alles gut gelaufen ist :)