DIAdem-Version: 11.1 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: -
Beiträge: 8
Registriert seit: Feb 2011
[ERLEDIGT] Eine Reihe von Daten mit vorgegebenem Namen in eine neue Gruppe kopieren
Hallo erstmal,
ich bin kein sonderlicher DIAdem Script Profi und habe deshalb folgendes Problem, wobei mir hoffentlich jemand helfen kann:
Ich möchte aus einer Gruppe bestimmte Kanäle rauskopieren in eine neue Gruppe, deren Namen ich selbst bestimmen können will. Die Sache ist, das würde ich wahrscheinlich noch hinkriegen, wenn ich jeden einzelnen Kanal mit Ch("[1]/JNBCT101") oder so ansprechen würde. Jedoch handelt es sich um mehr als 100 Kanäle. Was ich also möchte ist, eine Datei, die die Namen aller Kanäle beinhaltet, die ich kopiert haben möchte, so in eine Schleife zu integrieren, dass alle Kanalnamen der reihe nach ausgelesen werden und dann derjenige Kanal rauskopiert wird. Also würden die Kanäle z.B. heißen:
JNBCT101
JNBCT102
JNBCT103
UJACT101
NDDCP101
Dann möchte ich, dass das Programm erkennt, dass er 5 neue Kanäle zu schaffen hat und ohne dass ich Name um Name eingeben muss selbstständig die namen aus den Zeilen liest und anspricht. Die Namen sollen auch in der neuen Gruppe beibehalten werden, nur der Name der neuen Gruppe will ich dann selbst eingeben können.
Wie kann ich diese Idee mit Hilfe einer txt Datei umsetzen, die alle Namen enthält? Oder geht das gar nicht?
Ich hoffe es ist nicht zu schwierig und es kann mir jemand helfen !!!
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 1996
Beiträge: 571
Registriert seit: Oct 2008
[ERLEDIGT] Eine Reihe von Daten mit vorgegebenem Namen in eine neue Gruppe kopieren
Hallo Dr. Zoidberg,
mit DIAdem ist die Aufgabe natürlich lösbar, aber wir können hier natürlich nur unterstützend tätig werden...
Die benötigten Befehle um eine Textdatei zu lesen findest Du in der Hilfe unter Programmierreferenz / Thematische Programmierreferenz / Textdateifunktionen.
Eine neue Gruppe könnte z.B. so erstellt werden:
Code:
Dim myGroupName, myGroup
myGroupName = InputBox("Geben Sie die Gruppe ein")
Set myGroup = Data.Root.ChannelGroups.Add(myGroupName)
myGroup.Activate()
DIAdem-Version: 11.1 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: -
Beiträge: 8
Registriert seit: Feb 2011
[ERLEDIGT] Eine Reihe von Daten mit vorgegebenem Namen in eine neue Gruppe kopieren
Hallo,
dank des Denkanstoßes habe ich es soweit geschafft. Für alle, die auch daran interessiert sind, wie das funktioniert
Code:
Dim intMyHandle, strMyText, intMyError, myGroup
myGroup = GroupCreate(str(GroupName(x))& "_all")
'hier wird eine neue Gruppe mit Gruppennamen der x-ten Gruppe und dem Zusatz "_all" erstellt
intMyHandle = TextFileOpen("C:...",tfRead)
'öffnet die durch den passenden Pfad angegebene Textatei
Do While Not TextFileEOF(intMyHandle)
'Auslesen bis zum Zeilenende
strMyText = TextFileReadLn(intMyHandle)
'Textzeile wird der Variable strMyText zugewiesen
Call ChnCopyExt([x]/"&str(strMyText)&"",GroupIndexGet(myGroup),1)
'Kopieren des durch die Textzeile bezeichneten Kanals der x.ten Gruppe in die neu generierte Gruppe
Loop
'Schleife, bis alle Textzeilen ausgelesen und entsprechenden Kanäle kopiert sind
intMyError = TextFileClose(intMyHandle)
'Schließen der Textdatei