Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-11-2004, 10:49   #1 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
[Denkansatz] simple Datenstruktur

hallo boardies!

das tückische an daten ist, dass man sie erst gut strukturieren muss, um sie sinnvoll anwenden zu können:
ich bin auf der suche nach einer möglichkeit bestimmten text (fliesstext, überschriften, bilder) mit einer festen struktur zu formatieren.

ein typischer text könnte zum beispiel so aufgebaut sein:

head head head

text text text
text text text
text text text
text text text

ein bild

text text text
text text text
text text text
text text text

subhead

text text text
text text text
text text text
text text text



d.h. es gibt eine einteilung in (vorerst) vier elementtypen:
  • head (überschrift)
  • text (fliesstext)
  • subhead (unterüberschrift)
  • img (bild)

definition für schriftgrösse, farben etc. steht global pro element fest, d.h. eine überschrift hat immer eine bestimmte grösse und ist zum beispiel immer blau. in der datenstruktur steht nur fest, dass es eine überschrift ist.


mögliche Erweiterungen:
- Aktionen - ein attribut für ein element (z.B. link) und einen zugehörigen wert (z.B. internetseite.html). beim laden wird das action attrribut ausgelesen und dementsprechend verarbeiteitet (hier dass das element anklickbar ist und eine inetseite öffnet)
- aufklappbare überschriften (ähnlich den aufklappbaren einträgen in der windows hilfe) siehe bild



...


tja nun die frage zur umsetzung: was bietet sich dafür geradezu an, wenn man mehrere dieser texte (um die 350) darstellen soll? XML wäre wahrscheinlich das beste dafür, schätze ich? (serverseitig ist ausgeschlossen, da es praktisch von cd funktioneren soll)

also etwa
ActionScript:
  1. <texte>
  2.  
  3. <text label="text nummer 1">
  4.     <head>tolle überschrift</head>
  5.     <text>super text</text>
  6.     <img>bild</img>
  7. </text>
  8.  
  9. <text label="text nummer 2">
  10.     <head>tolle überschrift</head>
  11.     <text>super text</text>
  12.     <subhead>unterüberschrift</subhead>
  13.     <img action="link" actionwert="inetseite.html">bild</img>
  14.     <img>bild</img>
  15.     <img>bild</img>
  16. </text>
  17.  
  18. </texte>


wie kann ich jetzt aber am sinnvollsten mit dieser xml-datei arbeiten? mir fehlt die praktische erfahrung wie an dieses problem heranzugehen ist.
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 24-11-2004, 10:56   #2 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
seit flash mx 2004 unterstützt das textfeld auch css. damit sollte das überhaupt kein problem sein.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 24-11-2004, 14:48   #3 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
das ist schon mal ne erleichterung!

wäre es von vorteil die einzelnen elemente auch wirklich einzeln zu bearbeiteten? das heisst, keinen grossen zusammenhängenden textblock, sondern einzelne aufgeteilt (eben ein element überschrift, ein element text etc.) die dann praktisch nur untereinander angeordnet werden müssten?

gibt es vielleicht einen trick wie man die höhe eines textblockes dann rauskriegt (sie sollen sich ja nicht überlappen!)? bzw wie könnte man das bei bildern am besten lösen?

würdet ihr einen anderen ansatz wählen?
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 25-11-2004, 12:20   #4 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
gibt es andere lösungen die mir nicht einfallen?
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 25-11-2004, 15:39   #5 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
ok hab schon den ersten kleinen hänger:


ich möchte erst mal langsam damit anfangen und den gesamten inhalt inarrays laden und dann weitersehen.

mein XML aufbau:


ActionScript:
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2.  
  3. <texte>
  4. <text id="eins">
  5. <head type="head">tolle überschrift</head>
  6. <text type="text">super text</text>
  7. </text>
  8.  
  9. <text id="zwei">
  10. <head type="head">tolle überschrift</head>
  11. <text type="text">super text</text>
  12. </text>
  13.  
  14. <text id="drei">
  15. <head type="head">tolle überschrift</head>
  16. <text type="text">super text</text>
  17. </text>
  18. </texte>

ich kenne keine möglichkeit wie ich das tag direkt auslesen kann (also head oder text in dem fall) deswegen hab ichs mal über nen type attribut gelöst.


mein code (noch in den frühesten kinderschuhen):

ActionScript:
  1. stop();
  2.  
  3. meinXML = new XML;
  4. meinXML.ignoreWhite = true;
  5. xmldatei = "daten.xml";
  6. meinXML.load(xmldatei);
  7.        
  8. meinXML.onLoad = function(success) {
  9.     if(success) {
  10.         XMLelement_id = [];
  11.         XMLelement_typ = [];
  12.         XMLelement_value = [];
  13.         ausgabe.text = "XML geladen!" + newline;
  14.         ausgabe.text += "Anzahl der enthaltenen Texte: " + meinXML.firstChild.childNodes.length + newline;
  15.        
  16.         for(i=0;i < meinXML.firstChild.childNodes.length; i++) {
  17.             XMLelement_id[i] = meinXML.firstChild.attributes.id;
  18.            
  19.             }
  20.         ausgabe.text += "Initialisierung fertig!"  + newline;
  21.        
  22.         }   
  23.     else {
  24.         ausgabe.text = "Fehler!!!";
  25.         }
  26.     }
  27.    
  28.    
  29. my_btn.onRelease = function() {
  30.         ausgabe.text += "click"  + newline;
  31.        
  32.         for(i=0;i < XMLelement_id.length;i++) {
  33.             ausgabe.text += XMLelement_id[i] + newline;
  34.             }
  35.                    
  36.        
  37.     }


mit dem button möchte ich testweise meine array strukturen ausgeben. aber schon jetzt zeigt er mir nur "undefined" an obwohl ich eigentlich das array grad vorher frisch gefühlt habe!?! was issen da los?


und noch nen problem am rande: ich gebe immer alles an ein textfeld aus. wie kann ich immer in die letzte zeile springen wenn sich der text geändert hat?


(zu mir kurz: bin in der ausbildung und daher fleissig am lernen. ich habe hier leider niemanden an den ich mich in solchen sachen wenden könnte, deswegen sind internetforen meine einzige möglichkeit mit gleichgesinnten auszutauschen.)



///////////EDIT: wow okay habe das [i] in XMLelement_id[i] = meinXML.firstChild.childNodes[i].attributes.id; vergessen *peinlich*
__________________
x 600.6
y 123.3

Geändert von dante (25-11-2004 um 15:57 Uhr)
dante ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele