Laden...
Avatar #avatar-2814.jpg
Benutzerbeschreibung

Forenbeiträge von laptor Ingesamt 95 Beiträge

29.08.2009 - 19:11 Uhr

Komisch, dass ich nicht früher darauf gekommen bin. Einfach:

string.Remove(code.IndexOf("<"), code.IndexOf(">") - code.IndexOf("<") + 1);

Gruss Thomas

29.08.2009 - 18:25 Uhr

Danke für die Antworten, werde die Vorschläge mal ausprobieren.

27.08.2009 - 20:25 Uhr

Also, ich lade auf einer Website den Html- Code runter, bzw. ich lese ihn aus. Ein Ausschnitt sieht so aus:

		<td align="right" valign="top" style="white-space:nowrap;">Spielfeld:&nbsp</td><td valign="top" colspan="3">Ri-Au, Bad Ragaz - Platz 1</td>

	</tr><tr>
		<td align="right" valign="top" style="white-space:nowrap;">Umkleideort:&nbsp;</td><td valign="top" colspan="3">Ri-Au, Bad Ragaz</td>
	</tr><tr>
		<td align="right" valign="top" style="white-space:nowrap;">Tel. Restaurant:&nbsp;</td><td valign="top" colspan="3">+41 (81) 3024641</td>
	</tr><tr>
		<td align="right" valign="top" style="white-space:nowrap;">Tel. Vereinslokal:&nbsp;</td><td valign="top" colspan="3">+41 (81) 3024641</td>

	</tr><tr>
		<td align="right" valign="top" style="white-space:nowrap;">Vereinsaufgebot:&nbsp;</td><td valign="top" colspan="3">Mullis Beat   +41 (79) 7903440</td>
	</tr><tr>

Ich möchte jetzt aus diesem nur die Angaben, also z.B. "Ri-Au, Bad Ragaz" auslesen. Klar könnte ich es mühsam mit IndexOf raussuchen, doch dafür ist es einfach zu viel Code. Gibt es da eine einfachere Möglichkeit?

25.08.2009 - 18:30 Uhr

Mein Lieblingsfilm ist "Die Verurteilten". Ist meiner Meinung nach nicht umsonst auf Platz eins bei IMdB.

Dann kommen noch:

Gran Torino
21
A beautiful mind
herr der ringe
the dark knight
Death Race
Der Soldat James Ryan
The Green Mile

Und noch Big Stan, der ist einfach witzig.

06.08.2009 - 19:00 Uhr

Also meine Idee wäre:

Die Datei Bytweise einzulesen und dann einfach in genau der verkehrten Reihenfolge wieder einzuschreiben.
Klingt absurd und ich weiss auch nicht ob es geht..

Gruss Thomas

15.07.2009 - 18:36 Uhr

Hallo laptor,

stell dir vor die Klasse List<T> würde die Klasse kennen, von der aus sie benutzt wird, und auf sie zugreifen. Nehmen wir an das wäre die Klasse Person. Das würde bedeuten, dass man die Klasse List<T> nicht benutzen könnte, wenn man keine Person hat. Die Klassen wären wechselseitig hart verdrahtet. Das ist natürlich Mist.

Daher sollte keine Klasse die Klasse kennen, von der sie benutzt wird, damit sie von jeder Klasse aus verwendet werden kann. Das hat nichts speziell mit Forms zu tun, gilt aber natürlich auch für Forms.

herbivore

Ja das stimmt... Vielen Dank für die Antworten.

14.07.2009 - 20:33 Uhr

Ich habe jetzt schon oft gelesen: Die Forms dürfen sich gegenseitig nicht kennen, bzw. nur die eine die andere. Also in dem Buch, in dem ich mir die Grundlagen beigebracht habe, stand nichts darüber. Kann mir jemand eine Erklärung geben oder besteht dieser Thread hier schon? Habe ihn jedenfalls nicht gefunden.

Gruss Thomas

12.07.2009 - 17:40 Uhr

Hallo,

Ich weiss, dass dies das wahrscheinlichst häufigst besprechene Thema ist. Ich hab ja eigentlich noch nie ein Problem damit gehabt, doch jetzt plötzlich schon. Zur Anschauung hab ich das ganze aufs nötigste beschränkt.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();

label1.Text = form.TextBoxText;
}
}
}






namespace WindowsFormsApplication1
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Vom Windows Form-Designer generierter Code

/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(109, 91);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(109, 152);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 1;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(435, 340);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();

}

#endregion

private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
}
}


Form2


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();

label1.Text = form.TextBoxText;
}
}
}






namespace WindowsFormsApplication1
{
partial class Form2
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Vom Windows Form-Designer generierter Code

/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(61, 134);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 13);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(64, 80);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Name = "Form2";
this.Text = "Form2";
this.ResumeLayout(false);
this.PerformLayout();

}

#endregion

private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
}
}

Wenn ich jetzt auf den Button auf Form2 klicke, dann ist label1.Text = "". Das ist mir irgendwie unerklärbar, da ich ja im set- Accessor den Wert überprüfe!

Gruss laptor

20.03.2009 - 19:08 Uhr

Also wie ist das? Bekommst du so Rechtecke anstelle der leeren Bytes? Ich hatte mal das gleiche Problem und es hat mit Trim problemlos geklappt. Wie hast du denn Trim benutzt? Bzw. auf welches Zeichen?

Gruss Thomas

06.03.2009 - 18:27 Uhr

Ja, da hast du auch wieder recht...

Gruss Thomas

06.03.2009 - 18:21 Uhr

Aber wenn die Anzahl PictureBox bekannt ist, wäre ein PictureBox Array in der Handhabung fast einfacher... Oder gibt es noch einen anderen Grund, wieso du List<PictureBox> verwenden würdest?

06.03.2009 - 18:17 Uhr

Du musst natürlich nicht ein Integer Array verwenden...

Du brauchst ein PictureBox Array:

PictureBox[]

Gruss Thomas

25.02.2009 - 15:03 Uhr

Ich habs jetzt mit Trim gelöst und als Char hab ich ein null- Byte genommen. Hat perfekt geklappt.

Gruss Thomas

23.02.2009 - 19:01 Uhr

Ok, danke. Werds mal versuchen.

23.02.2009 - 18:57 Uhr

Hallo,

Ich lese mit folgedem Code Mp3 Tag Daten ein, dies funktioniert auch einwandfrei.

try
                    {
                        using (FileStream fs = File.OpenRead(listBox1.Items[i].ToString()))
                        {
                            if (fs.Length >= 128)
                            {

                                MusicID3Tag tag = new MusicID3Tag();
                                fs.Seek(-128, SeekOrigin.End);
                                fs.Read(tag.TAGID, 0, tag.TAGID.Length);
                                fs.Read(tag.Title, 0, tag.Title.Length);
                                fs.Read(tag.Artist, 0, tag.Artist.Length);
                                fs.Read(tag.Album, 0, tag.Album.Length);
                                fs.Read(tag.Year, 0, tag.Year.Length);
                                fs.Read(tag.Comment, 0, tag.Comment.Length);
                                fs.Read(tag.Genre, 0, tag.Genre.Length);
                                string theTAGID = Encoding.Default.GetString(tag.TAGID);

                                if (theTAGID.Equals("TAG"))
                                {

                                    SongName = Encoding.Default.GetString(tag.Title);
                                    Artist = Encoding.Default.GetString(tag.Artist);
                                    Album = Encoding.Default.GetString(tag.Album);
                                    Year = Encoding.Default.GetString(tag.Year);
                                    listBox2.Items.Add(SongName);

                                }

                            }

                        }

                    catch { listBox1.Items.Add("---"); }

                }

            }


        class MusicID3Tag
        {

            public byte[] TAGID = new byte[3];      //  3
            public byte[] Title = new byte[30];     //  30
            public byte[] Artist = new byte[30];    //  30 
            public byte[] Album = new byte[30];     //  30 
            public byte[] Year = new byte[4];       //  4 
            public byte[] Comment = new byte[30];   //  30 
            public byte[] Genre = new byte[1];      //  1

        }

Wie ihr oben sehen könnt habe ich ein Byte- Array für den Titel (30), wenn jetzt der Titel jedoch nur 12 Buchstaben hat, werden die restlichen (18) einfach nur als Vierecke dargestellt.

Gruss Thomas

16.02.2009 - 21:03 Uhr

Danke, obwohl mein Problem vor allem war, dass ich gedacht habe, dass die Form automatisch aktuallisiert wird, bzw. neu angezeigt wird.

Gruss Thomas

16.02.2009 - 20:53 Uhr

Ah, jetzt ist klar! Hab da etwas komplett falsch verstanden mit dem Konstruktor. Werd mir das ganze nochmals ansehen. Danke!

16.02.2009 - 20:48 Uhr

Naja, dass wenn ich in Form2 auf den Button klicke der Labeltext in Form1 auf "true" geändert wird.

16.02.2009 - 20:43 Uhr
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1(bool x)
        {
            InitializeComponent();
            if (x)
            {
                label1.Text = "true";
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 form = new Form2();
            form.Show();
        }
    }
}


Form2:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form1 frm = new Form1(true);
        }
    }
}


16.02.2009 - 20:36 Uhr

Ich hab ihn nur benutzt, weil er von einer anderen Form aus aufgerufen wird. Aber ich versteh immer noch nicht ganz wieso das nicht gehen sollte?

16.02.2009 - 20:33 Uhr

Ja, das ist mir schon klar. Aber er soll ja während der Laufzeit dynamisch geändert/überschrieben werden.

16.02.2009 - 20:30 Uhr

wenn du auch beim ersten mal in die if gehst, dann muss es funktionieren. daher läuft beim ersten mal etwas anders.

Wie meinst du beim ersten Mal? Beim Start des Programmes wird die If- Abfrage noch nicht durchlaufen, da der wert (x = true), erst nachher geändert wird.

16.02.2009 - 20:27 Uhr

ich würde sagen, das du noch evtl. einen parameterlosen konstruktor hast?

Nein, daran kann es ja nicht liegen, da die If- Abfrage ja durchläuft wird.

16.02.2009 - 20:26 Uhr

Hallo laptor,

hast du mal per Debugger oder MessageBox geguckt, ob er in das if reinläuft? Ich vermute, ja. Wenn ja, hat deine Frage nichts mit dem if zu tun, sondern nur damit warum label7.Text = "true"; "nicht funktioniert".

herbivore

Hmm... Ich dachte es liegt daran, dass das Label nicht aktualisiert wird, bzw. der Wert nicht geändert wird, doch das ist ja nicht möglich, oder doch?

16.02.2009 - 19:30 Uhr

Ja, da muss etwas sein, denn in die If- Schleife läuft es rein. Wenn ich das Fenster dann aber mit .Show() neu öffne, ist der label1.Text auch gleich "true".
An was könnte das liegen. Hab an Invalidate gedacht, ging aber auch nicht.

16.02.2009 - 18:53 Uhr

Also:

Ich hab in meinem Programm eine Form mit dem Konstruktor Form1(bool x);
Das ist noch kein Problem, auch die Wertübergabe funktioniert. Doch folgende If- Abfrage funktioniert nicht:

public Form1(bool x)
        {
            
                InitializeComponent();
                if (x)
                {
                label7.Text = "true";
                }
                 
                
            
            
        }

Ausserdem hab ich mit einer MessageBox probiert ob der Wert übergeben wird, bzw. True ist. Dies ist der Fall und doch passiert nichts! Das ist ja gar nicht möglich!

15.02.2009 - 17:18 Uhr

Anderseits würde ich nicht behaupten, dass dies gut für die Entwicklung des Jungen ist...

08.02.2009 - 19:25 Uhr

Aber die using- Direktive hast du schon hinzugefügt?

08.02.2009 - 19:15 Uhr
  • Es widerspricht den OOP-Regeln, Felder als nicht-private zu deklarieren.

Wieso widerspricht das den OOP-Regeln?

Gruss Thomas

07.02.2009 - 23:14 Uhr

Hallo louski

Obwohl du schon auf die anderen Threads verwiesen wurdest:

In deinem Fall empfehle ich das ganze über den Konstruktor zu lösen.

Gruss Thomas

06.02.2009 - 22:12 Uhr

Und selbst wenn, glaubst du, dass die Staatsangehörigkeitslosen Nomadenvölker, die schon seit Urzeiten in diesem Gebiet leben, einfach so ihr Land, auf das sie zum Überleben angewiesen sind, aufgeben, damit wir ein besseres Gewissen wegen dem "sauberen" Strom haben?

Naja, wenn man ein solch riesiges Projekt startet, wird das das kleinste Problem sein, denn man wird sicher irgendwo genug "unbewohntes" Land finden.

06.02.2009 - 22:09 Uhr

@kubi, hab zuerst gedacht, dass du geschrieben hättest die Temperatur für einen Supraleiter sei bei 0 Grad Celsius. Entschuldige, ungenau gelesen. X(

Sicherlich ein Vorteil wäre, wenn alle Länder mitmachen würden, nicht nur, z.B. Amerika und Europa. Denn dann würden sich die Terroristen ins eigene Fleisch schneiden wenn sie dem Projekt schaden würden.

Aber wie gesagt, es ist nicht einfach und ich persönlich glaube, dass es theoretisch möglich, praktisch aber nicht möglich ist.

06.02.2009 - 21:55 Uhr

Klar ist es nicht einfach, doch durch die Zusammenarbeit aller ist es realisierbar. Nehmen wir jetzt mal an, dass alles störungfrei laufen würde, alle Grossmächte sich an dieser Sache beteiligen würden, dann würde das Ganze trotzdem noch mindestens 20 Jahre dauern.

@kubi

Das mit der Supraleitung stimmt nicht ganz, die Temperatur ist noch um einiges tiefer:

http://www.golem.de/0802/57690.html

06.02.2009 - 21:42 Uhr

Der Sand wäre für diese Solarzellen sehr schlecht... Da könnten ein paar 100000 Leute angestellt werden die ständig die Solarzellen mit einem Besen vom Staub befreien 😃

Ihr missachtet da ein wichtiges Detail, nicht die ganze Sahara ist voller Sand! Es gibt ja auch noch Fels/Kieswüste!

06.02.2009 - 21:41 Uhr

Wenn sie in der Wüste stehen würden, bräuchte man diese Fläche.

Klar kann man dem Strom nicht irgendwie durch Leitungen in reiner Form auf der ganzen Welt verteilen, wenn, dann müsste man ihn z.B. in Form von Wasserstoff verteilen. Die Idee mit der Gewinnung durch Strom in der Sahara ist sicher ein guter Ansatz, jedoch nur durch Mithilfe aller Länder möglich, nur schon wegen den enormen Kosten.
Das mit dem Sand ist ausserdem auch kein grosses Problem, da man dieses sicherlich umgehen kann...

05.02.2009 - 20:12 Uhr

Andererseits stellt sich die Frage, wieso du überhaupt einen Integer deklarierst, wenn du ihn nur ausgeben willst?! Da kannst du ja gleich einen String deklarieren.
Aber für den Fall, dass du mit der Eingabe rechnen willst, kannst du auf TryParse zurückgreifen.

Gruss Thomas

05.02.2009 - 20:11 Uhr

Wie kann ich den eingegebenen Wert ausgeben ?

Wie ich gerade gemerkt habe ist das ganze ja gar nicht nötig, oder?!

Console.WriteLine("Geben Sie eine Zahl ein: ");
int var = Console.ReadLine();
Console.WriteLine(var.ToString());

So wie du die Frage gestellt hast brauchst du die TryParse Methode ja gar nicht.

Gruss Thomas

05.02.2009 - 19:24 Uhr

Jetzt stimmts, ich würde dir aber trotzdem diese Lektüre empfehlen:

🛈

05.02.2009 - 19:09 Uhr

Hallo sinso

PS: Am Anfang muss ich doch var einen Wert zuweisen, da ist es dann eh egal welcher, da der Anfangswert mit der Eingabe eines neuen Wertes doch überschrieben sein sollte, oder ?

Nein, du kannst auch nur:

int var;

schreiben und dann den Wert zuweisen, bzw. es wäre auch besser/richtig so.

Gruss Thomas

05.02.2009 - 18:53 Uhr

Hallo Pommel

Ich sehe dein Problem nicht ganz...
Wenn du die Eingaben mit dem Text_Changed Event abfängst und dann mit einer If- Abfrage nach den 5 Zahlen durchläufst und den Zähler der eingegeben Zahl dann um eins erhöhst. Das sollte doch kein Problem sein, oder habe ich die Frage falsch verstanden?

Gruss Thomas

05.02.2009 - 18:34 Uhr

Das müsste eigentlich gehen. Was passiert wenn du es im Eigenschaftsfenster änderst?

Gruss Thomas

05.02.2009 - 14:23 Uhr

Also bei mir geht das problemlos, wüsste nicht wieso es bei dir nicht geht.

Gruss Thomas

04.02.2009 - 17:46 Uhr

Hallo Sizzla

War bei mir auch so, habs einfach mit einem anderen Browser versucht und dann hats geklappt.

Gruss Thomas

31.01.2009 - 20:15 Uhr

Nein, das Event wird nicht abonniert bevor das Objekt erzeugt ist.

Wie gesagt ist das Event von DirectXAudioVideoPlayback, welches im DirectX Sdk enthalten ist.

Gruss Thomas

31.01.2009 - 19:50 Uhr

Die in der Assembly "Playertest1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" definierte Instanz von "Window1" kann nicht erstellt werden. Exception has been thrown by the target of an invocation. Fehler in Markupdatei "Window1.xaml", Zeile 1, Position 9.

Das wären die Infos

P.S. Am XAML Code habe ich nichts geändert. Und er tritt genau dann auf, nachdem ich das Event hinzufüge.

31.01.2009 - 19:34 Uhr

Hallo,

Ich habe hier im Forum schon ein paar andere Threads mit diesem Fehler gefunden, jedoch hatte er bei allen einen anderen Ursprung.
Bei mir wird er immer ausgelöst, wenn ich ein neues Event hinzufüge, bzw. bestimmte Events.

Also:

Ich hab folgendes Event hinzugefügt:


player.Ending += new EventHandler(player_Ending);


Wenn ich dies gemacht habe tritt der Fehler auf.

EDIT: player ist ein DirectXVideoAudioPlayback Objekt

Gruss Thomas

31.01.2009 - 14:50 Uhr

Also ich persönlich würde das so machen:

 class MusicID3Tag

{

    public byte[] TAGID = new byte[3];      //  3
    public byte[] Title = new byte[30];     //  30
    public byte[] Artist = new byte[30];    //  30 
    public byte[] Album = new byte[30];     //  30 
    public byte[] Year = new byte[4];       //  4 
    public byte[] Comment = new byte[30];   //  30 
    public byte[] Genre = new byte[1];      //  1

}


        



    class Program
    {
        static void Main(string[] args)
        {
            string filePath = @"C:\Lied.mp3";

            using (FileStream fs = File.OpenRead(filePath))
            {
                if (fs.Length >= 128)
                {
                    MusicID3Tag tag = new MusicID3Tag();
                    fs.Seek(-128, SeekOrigin.End);
                    fs.Read(tag.TAGID, 0, tag.TAGID.Length);
                    fs.Read(tag.Title, 0, tag.Title.Length);
                    fs.Read(tag.Artist, 0, tag.Artist.Length);
                    fs.Read(tag.Album, 0, tag.Album.Length);
                    fs.Read(tag.Year, 0, tag.Year.Length);
                    fs.Read(tag.Comment, 0, tag.Comment.Length);
                    fs.Read(tag.Genre, 0, tag.Genre.Length);
                    string theTAGID = Encoding.Default.GetString(tag.TAGID);

                    if (theTAGID.Equals("TAG"))
                    {
                        string Title = Encoding.Default.GetString(tag.Title);
                        string Artist = Encoding.Default.GetString(tag.Artist);
                        string Album = Encoding.Default.GetString(tag.Album);
                        string Year = Encoding.Default.GetString(tag.Year);
                        string Comment = Encoding.Default.GetString(tag.Comment);
                        string Genre = Encoding.Default.GetString(tag.Genre);

                        Console.WriteLine(Title);
                        Console.WriteLine(Artist);
                        Console.WriteLine(Album);
                        Console.WriteLine(Year);
                        
                        
                        Console.ReadLine();
                    }
                }
            }

        }
    }
30.01.2009 - 17:04 Uhr

Genau das ist es! Danke. Zum ersten Punkt kann ich leider auch nicht viel mehr Angaben machen, da eigentlich nichts speziell war. Wie auch immer, ist jetzt nicht mehr nötig.

Gruss Thomas