Frage von Wissididom, 91

Wie kann man SongBeamer-HTML auslesen?

Ich habe einen SNG-Maker programmiert, sodass man kein Geld ausgeben muss, wenn man mal eine SNG-Datei erstellen will, nur habe ich jetzt das Problem (alles mit generieren und speichern funktioniert) das ich auch eine Datei lesen lassen will, falls man mittedrin aufhört.

Vielen Dank im voraus.

PS: Es sind 4 Formulare

Antwort
von CrystalixXx, 65

Ich habe keine Ahnung, was das für ein Dateiformat ist, aber da hier sonst niemand antwortet: was meinst du denn mit "falls man mitten drin aufhört"?

Ich habe mal im Internet geschaut und gelesen, dass SNG Dateien MIDI Daten enthalten und von KORG Geräten erzeugt/genutzt werden. Das heißt du willst die Musik abspielen und dann mitten drin wieder anfangen oder meintest du im Erstellungsprozess der Datei?

Was hat das Ganze dann eigentlich mit der im Titel gestellten Frage SongBeamer-HTML zu tun?

Kommentar von Wissididom ,
Kommentar von Wissididom ,
Kommentar von CrystalixXx ,

Jetzt habe ich zumindest ein Bild von dem Dateiformat. Danke!

Ich weiß aber leider immer noch nicht so recht, was du jetzt möchtest. Soll der HTML-Code, der in dem Dateiformat erlaubt ist, auswerten und z.B. Text in <b> und </b> Tags als fett markieren?

Ansonsten kannst du eine vorhande Datei einfach öffnen und in deinem Form4 anzeigen, wie du es jetzt auch schon beim Erstellen machst.

Kommentar von Wissididom ,

Ich will nur die Eigenschaften festlegen, denn das Formatieren geht in SongBeamer

1. leichter

2.kann ich das ja mit dem xml reader und xml writer machen

Beispiel: #Title=[Titel], #OTitle=[Original Titel]

Kommentar von CrystalixXx ,

Die Eigenschaften kannst du ja einfach so festlegen. Aber mit dem XmlReader und XmlWriter wirst du wenig Erfolg haben, weil die Daten keiner XML-Struktur folgen.

Kommentar von Wissididom ,

Was meinst du mit einfach so festlegen

Kommentar von CrystalixXx ,

Du kannst deine Datei zeilenweise über ein IO.StreamReader und der ReadLine-Methode einlesen. Die Zeile musst du entsprechend auswerten (Name, Trennzeichen, Wert) und kannst anhand des Namens die jeweilige Eigenschaft mit dem gelesenen Wert setzen.

So kannst du eine vorhande Datei öffnen und anzeigen lassen.

Kommentar von Wissididom ,

Ich will jetzt doch noch das mit dem z. B. <b>...</b> machen, habe auch schon auf Google nach einem HTML-Parser gesucht, aber nur gefunden, wie man an den HTML-Code rankommt, nicht wie man ihn modifiziert. Ich bitte um Hilfe dabei

Kommentar von CrystalixXx ,

Ich bin mir nicht sicher, ob du mit HTML-Parser überhaupt viel Erfolg haben wirst, weil die Datei an sich kein HTML ist, sondern nur ein beschränkter Befehlssatz zur Verfügung steht.

Da wirst du wohl selbst die Tags modifizieren müssen. Es gibt viele Zeichenketten-Operationen wie .IndexOf, .Substring, .Replace oder ähnliche Methoden für Strings.

Kommentar von Wissididom ,

Ich habe jetzt diesen Code verwendet, denn ich habe noch nie selbst mit .IndexOf und Substring gearbeitet (mit .Replace schon):

Konnte ich nicht in ein Codefeld tun, deshalb hier: http://www.mediafire.com/download/sou9r4zt2u08943/Teilcode_SNGMaker.txt

Ich denke aber, dass es professioneller auch geht

Kommentar von Wissididom ,

PS: bei dem, wo ich nicht wusste wie ich es machen sollte (ich hatte irgendwann keinen Bock mehr) habe ich

MsgBox(Type)

geschrieben.

Kommentar von Wissididom ,

Ich habe gerade bemerkt, dass, wenn ein Großbuchstabe hinter z. B. Vers steht es immernoch markiert wird, bei mehreren jedoch nicht. Zwischen dem Großbuchstaben und z. B. Vers muss aber ein Leerzeichen sein.

Kommentar von Wissididom ,

meinen letzen Kommentar habe ich behoben, indem ich beim RegEx das \d durch [0-9A-Z] ersetzt habe und die RegExOptions.IgnoreCase entfernt habe

Kommentar von Wissididom ,

Außerdem habe ich die Buchstaben des Wortes in Character-Classes geändert (z. B. Vers zu [Vv][Ee][Rr][Ss]) um das IgnoreCase vor der Zahl oder dem Großbuchstaben immernoch IgnoreCase zu halten

Keine passende Antwort gefunden?

Fragen Sie die Community