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.

Code: Alles auswählen

<meta name='author' content='' />
Ü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

Code: Alles auswählen

<test/>
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 :allright:

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 :freak:

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