Laden...

Brennen mit der Nero Api

Erstellt von maume vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.528 Views
maume Themenstarter:in
11 Beiträge seit 2006
vor 16 Jahren
Brennen mit der Nero Api

Ich habe mir das Tutorial zum Brennen mit Nero mal zu gemüte geführt.

[Tutorial] CDs Brennen mit C# und Nero API

Aber ich stehe nun vor dem Problem:
Wie kann ich mehrere Dateien in einen Ordner zum brennen packen?

Ich habe zwar die Klasse NEROLib.NeroFilesClass gefunden, weiss aber leider nicht, wie ich sie vernünftig anwenden kann.

Ich stelle mir vor, dass ich alle Dateien, die ich in einen Ordner gebrannt haben möchte darüber zuweise.

die Ordner auf der CD sind immer gleich nur die Anzahl der Dateien variiert, deswegen muss ich das zur Laufzeit zusammenpacken.

Hat jemand eine Idee, wie ich das am besten veranstalte?

maume

1.820 Beiträge seit 2005
vor 16 Jahren

Hallo!

Ich versteh' noch nicht genau, was du willst...

Wie kann ich mehrere Dateien in einen Ordner zum brennen packen?

Was meinst du mit packen: Als ZIP-Archiv?

Ich hatte mithilfe des Tuts mal ein kleines Testprogramm geschrieben, welches mir dann - nach zahlreichen mittlerweile zu Bierdeckeln umfunktionierten Fehlbrennungen - einen Ordner auf CD gebrannt hat, indem ich alle Dateien über eine Schleife in die Liste zum Brennen eingefügt hatte.

die Ordner auf der CD sind immer gleich nur die Anzahl der Dateien variiert, deswegen muss ich das zur Laufzeit zusammenpacken. .
Wieso sind die Ordner auf CD immer gleich? Willst du eine inkrementelle Sicherung durchführen? Dann musst du logischerweise vor jedem Brennvorgang die Dateilisten von CD und Platte vergleichen.

Nobody is perfect. I'm sad, i'm not nobody 🙁

maume Themenstarter:in
11 Beiträge seit 2006
vor 16 Jahren

Hallo,

es geht bei mir nicht darum, die Daten zu packen (Zip, Rar), sondern einfach nur eine erst zur Laufzeit bekannte Anzahl Dateien in einen Ordner zu packen und zu brennen.

Die Dateien liegen alle fertig sortiert auf der Festplatte.

Ordner für Nero zum Brennen kann ich auch anlegen, da es sich immer um die gleichen handelt.

Mein Problem liegt nun darin der Nero Api mitzuteilen, dass ich X Dateien habe und die zu dem Ordner Y gehören sollen.

Als Beispiel:

- Ordner 1
- Datei 1
- Datei 2
- Datei 3
- ...

- Ordner 2
- Datei 1
- Datei 2
- Datei 3
- ....

- ...

Ich hoffe nun ist klar, was ich machen möchte und mir kann jemand einen Anstoss geben, wie ich das umsetzen kann.

Danke.

maume

M
402 Beiträge seit 2005
vor 16 Jahren

Ich frag mich grad was die Nero-API damit zu tun hat?!

Ich würde die Dateien die gebrannt werden sollen einfach
mit .net-Mitteln ("File.copy") in den gewünschten Ordner
kopieren.

Das Brennen der Dateien auf CD/DVD übernimmt dann die Nero-API

lg

R
258 Beiträge seit 2007
vor 16 Jahren

Dann liegen die Dateien ja zusammen in einem Ordner auf der Festplatte, der dann gebrannt wird, aber eigentlich sollen sie ja ihren Pfad behalten und nur auf der CD/DVD in einem Ordner vorhanden sein.

@themenstarter:
Gibts keine funktion, die den eingebauten nero-Dateisystemeditor steuert?
Sollte quasi ein CDFS-Dateisystemeditor sein, der eine CDFS-Tabelle erstellt, die dann der Brenn-Methode übergeben wird. Die Lösung, einfach die Dateien schon vorher, nämlich auf der Platte in einen Ordner zu packen, funktioniert zwar, ist allerdings nicht wirklich gut, da man entweder die Dateien doppelt hat oder Sie am Ursprungsort gelöscht werden müssen(Es sei denn, man macht den Vorgang wieder rückgängig, aber dann werden größere Datenmengen nutzlos durch die Gegend kopiert).

Wenn du Dokumentation zur Nero-API findest, dann such da einfach mal nach "Directory" und "CDFS", vllt findest du, was du suchst.

mfg, Rasta

Sogar meine Mailadresse ist .NET 🙂

maume Themenstarter:in
11 Beiträge seit 2006
vor 16 Jahren

Mein einziges Problem besteht derzeit darin, dass es zwar NeroFileClass gibt, aber ich wahrscheinlich einfach nicht in der Lage bin sie vernünftig zu nutzen, da mein geistiger horizont dafür zu knapp ist. X(


// NeroFile nfile erstellen
NEROLib.NeroFileClass nfile = new NEROLib.NeroFileClass();
// nfile eine Datei zuweisen
nfile.SourceFilePath = "C:\test.txt";
// Dateien den Verzeichnissen hinzufügen
nsecondfolder.Files.Add(nfile);

Ich hatte mithilfe des Tuts mal ein kleines Testprogramm geschrieben, welches mir dann - nach zahlreichen mittlerweile zu Bierdeckeln umfunktionierten Fehlbrennungen - einen Ordner auf CD gebrannt hat, indem ich alle Dateien über eine Schleife in die Liste zum Brennen eingefügt hatte.

@tom-essen:
Kannst du die Schleife evtl. mal posten?

R
258 Beiträge seit 2007
vor 16 Jahren

mh, dein code erscheint ziemlich einleuchtend.

// Dateien den Verzeichnissen hinzufügen
nsecondfolder.Files.Add(nfile);

ist nsecondfolder ein Objekt, das du erstellt hast, und dem du mit files.add die datei hinzufügst?
Aus meiner Sicht muss das klappen, vllt liegt ja der Fehler woanders.

Was produziert das Programm denn im Moment? Leere CD's(bzw images)? Oder wirds überhaupt nicht ausgeführt?

mfg Rasta

Sogar meine Mailadresse ist .NET 🙂

maume Themenstarter:in
11 Beiträge seit 2006
vor 16 Jahren

An sich fuktioniert das auch; für eine Datei.

ich möchte aber nun auf diese Art eine beliebige Anzahl Dateien einfügen.

tom-essen hat das wohl schon geschafft, daher kann er mir sicherlich helfen;
wenn sonst noch jemand weiss, wie ich das machen kann nehme ich die Hilfe gerne an.

1.820 Beiträge seit 2005
vor 16 Jahren

Hallo!

@maume:
Den Code hab' ich leider nicht mehr (Festplatte abgeraucht 😭), aber ich kann's ja nochmal versuchen, evtl. krieg' ich das nochmal hin.

Nobody is perfect. I'm sad, i'm not nobody 🙁