Seite 1 von 3
String Problem
Verfasst: 29.12.2004 21:12
von ORANGE
Hi
Ich wollte mir ein kleines tool zum erstellen von quicktime playlists basteln.
Dabei brauche viele Einträge wie diesen:
<meta name="author" content=""/>
Die ganzen "" mit chr(34) machen is ja voll assi.
Wie kriege ich das vernünftig in den compiler?
thx
Verfasst: 29.12.2004 21:24
von 125
Hi,
nimm nen anderes Zeichen das garantiert nicht vorkommt aber auf der tastatur ist dann kannstes einfach tippen wennde fertig bist machste ReplaceString .....
mfg
125
Re: String Problem
Verfasst: 30.12.2004 06:01
von freedimension
ORANGE hat geschrieben:<meta name="author" content=""/>
Sieht ja stark nach XHTML aus

Laut XHTML sind nicht nur Hochkomata sondern auch das einzelne ' als Begrenzer für Attributwerte zugelassen.
Übrigens, zwischen dem /> und dem letzten Zeichen im Tag muss zwingend ein Leerzeichen stehen sonst ist's nicht valide dein XHTML
Re: String Problem
Verfasst: 30.12.2004 13:00
von Kiffi
> Übrigens, zwischen dem /> und dem letzten Zeichen im Tag muss
> zwingend ein Leerzeichen stehen sonst ist's nicht valide dein XHTML
sicher? Sowohl FireFox als auch der IE (msxml.dll) erkennen ein
als valide an.
Grüße ... Kiffi
Verfasst: 30.12.2004 13:29
von crX
joa, browser sind da sehr tolerant...
laut w3-validator sollte beides korrekt sein

Verfasst: 30.12.2004 15:37
von bluejoke
@Kiffi: Zwischen den Sachen, die Browser noch so darstellen wie sie gedacht sind, und denen, die korrekt sind, ist nochmal ein ziemlicher Unterschied.
Verfasst: 30.12.2004 16:10
von Kiffi
> Zwischen den Sachen, die Browser noch so darstellen wie sie gedacht sind,
> und denen, die korrekt sind, ist nochmal ein ziemlicher Unterschied.
da magst Du bzgl. des HTML-Parsens wohl recht haben. Beim XML-Parsen
jedoch sind die Browser ziemlich genau.
Grüße ... Kiffi
Verfasst: 30.12.2004 16:25
von bluejoke
geht doch aber um XHTML, das is IMHO in dem Zusammenhang eher HTML als XML
EDIT: Um nicht nochmal einen neuen Offtopic-post zu bringen: Kiffi hat recht

sry für den verplanten post von mir, musste irgendwie mein nicht vorhandenes Wissen an den Mann bringen

Verfasst: 30.12.2004 16:27
von ORANGE
Also mit ' anstatt " hat Quicktime nen XML Syntax Fehler gemeldet.
Obwohl es an sich auch ein übles rumgeficke ist, hab ich es ma mit replacestring gemacht. Funzt soweit auch bloß der source sieht gamlig aus.
Code: Alles auswählen
If OpenWindow(0, 100, 200, 290, 200, #PB_Window_SystemMenu, "Quicktime Playlist")
If CreateGadgetList(WindowID())
StringGadget (0, 10, 10, 202, 24, "")
SetGadgetText (0, "C:\")
ButtonGadget (1, 220, 10, 60 , 24, "Create")
ListViewGadget(2, 10, 40, 270, 150)
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_EventGadget
If EventGadgetID() = 1 ; Read
ClearGadgetItemList(2) ; Clear all the items found in the ListView
path$ = PathRequester("Choose folder",path$)
If ExamineDirectory(0, path$, "*.mov")
Repeat
FileType = NextDirectoryEntry()
If FileType
FileName$ = DirectoryEntryName()
If FileType = 2 ; Directory type
FileName$ = "(DIR) "+FileName$
EndIf
AddGadgetItem(2, -1, FileName$)
EndIf
Until FileType = 0
Else
MessageRequester("Error","Can't examine this directory: "+GetGadgetText(0),0)
EndIf
; abc$ hieß erst 5$ für 5x space, da gab es aber nen syntax error, deshalb abc$ gg
stringfuck:
OpenFile(0,path$ + "1quicklist.mov")
Delay(20)
abc$ = " "
str$ = "SMILtext<smil xmlns:qt=@http://www.apple.com/quicktime/resources/smilextensions@ qt:autoplay=@true@ qt:time-slider=@true@ qt:immediate-instantiation=@false@ qt:chapter-mode=@clip@>"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(string$)
WriteStringN("<head>")
str$ = "<meta name=@full@ content=@test@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+string$)
str$ = "<meta name=@author@ content=@@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+string$)
str$ = "<meta name=@copyright@ content=@@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+string$)
str$ = "<meta name=@qt-userdata-swr@ content=@Made with QT Quicklist@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+string$)
WriteStringN(abc$+ "<layout>")
str$ = "<root-layout width=@480@ height=@360@ background-color=@black@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+abc$+string$)
Delay(20)
realcontent:
count = CountGadgetItems(2)
Delay(20)
For k = 1 To count
str$ = "<region id=@SpatialContent" + Str(k) + "@ width=@480@ height=@360@ top=@0@ left=@0@ fit=@fill@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+abc$+string$)
Next
WriteStringN(abc$+"</layout>")
WriteStringN("</head>")
WriteStringN("<body>")
WriteStringN(abc$+ "<seq>")
For c = 1 To count
SetGadgetState(2,0)
file$ = GetGadgetText(2)
RemoveGadgetItem(2,0)
str$ = "<video id=@mediaFile" + Str(c) + "@ src=@"+ file$ +"@ qt:chapter=@"+ file$ +"@ region=@SpatialContent" + Str(c) +"@ />"
string$ = ReplaceString(str$,"@",Chr(34))
WriteStringN(abc$+abc$+string$)
Next
WriteStringN(abc$ +"</seq>")
WriteStringN("</body>")
WriteStringN("</smil>")
CloseFile(0)
EndIf
EndIf
Until EventID = #PB_EventCloseWindow
EndIf
End
Wer bock hat kann es ja ma testen.
Hat jemand noch ne Idee das Problem zu umgehen?
edit redacid: Code-Tags gesetzt.
Verfasst: 30.12.2004 16:29
von Kiffi
> geht doch aber um XHTML, das is IMHO in dem Zusammenhang
> eher HTML als XML
nöh, XHTML ist dem XML näher verwandt als dem HTML. Aus diesem Grund
müssen hier auch alles Tags ordnungsgemäss geschlossen werden (im
Gegensatz zu HTML).
http://de.wikibooks.org/wiki/XHTML
@ORANGE:
Bitte Code-Tags setzen!
Grüße ... Kiffi