Ja und ja.
[PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien
-
-
Das hast Du aber schön gesagt
Na dann werd ich mich mal an die Arbeit machen ....
-
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?
[autoit]
Um komplette Sektionen einzulesen, kannst du auchIniReadSection()
[/autoit]verwenden.
Damit brauchst du nicht jeden Wert einzeln einlesen, sondern nur deine (drei) Sektionen. -
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?
-
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
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. -
Lies doch mal die Hilfe zu IniReadSection.
Diese Funktion gibt ein 2-dimensionales Array zurück. -
Grummls ... 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?
-
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", "")
[/autoit] [autoit][/autoit] [autoit]
$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", "")$news = IniRead($config, "Audios", "news", "")
[/autoit]
$newsopener = IniRead($config, "Audios", "newsopener", "")
$newscloser = IniRead($config, "Audios", "newscloser", "") -
*grins*
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.
-
Quizfrage, was ist der Sinn dahinter das es in viele einzelne Scripte aufteilst?
-
Öhm ... ich dachte das wäre notwendig?
Oder fahre ich gerade auf dem falschen Zug?
-
Ö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 ;).
-
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?
-
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.
-
OK, dann mal die folgende Frage:
Sehe ich das richtig, dass ich die einzelnen Unterprogramm als Funktion in das Hauptprogramm integriere?
-
Sehe ich das richtig, dass ich die einzelnen Unterprogramm als Funktion in das Hauptprogramm integriere?Joa, dazu sind Funktionen, unter anderem, da.
-
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.
-
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.
-
OK, so langsam beginnt der Nebel sich zu lichten
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.
-