Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-11-2003, 17:54   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 25
aus txt bestimmte daten laden

ich möchte aus einer txt datei, die in string als xml geladen wird, bestimmte datei inhalte haben. sprich, wenn ich die firma objecx in zb einer combobox wähle, sollen mir aus der datei alle zeilen mit "objecx" "gesucht" werden, und diese in EIN textfeld laden.

meine txt sieht so aus:

2999999 ;ObjecX ;Penthouse ;A 3 ;EG ;212 ;
2000900 ;Apple ;Haupthaus Neubau Altbau;B ;EG ;380 ;
3000500 ;Sony ;Haupthaus Neubau ;A - C ;2.OG ;700 ;
3000600 ;Philips ;Haupthaus Altbau ;A - C ;4.OG ;550 ;
3000700 ;Microsoft ;Keller/ Lager ;K 1 ;KG ; 50 ;
3999999 ;ObjecX ;Penthouse ;A 2;1.OG;251 ;


jetzt soll, wenn in einer auswahlbox "objecx" auswählt wurde, folgendes erscheinen:

2999999 ;ObjecX ;Penthouse ;A 3 ;EG ;212 ;
3999999 ;ObjecX ;Penthouse ;A 2;1.OG;251 ;

mit oder ohne ";" ist egal

es soll also die zeilen nach "objecx" durchsucht werden und alle zeilen die er findet, in einem neuen textfeld zusammengefügt werden. ich möchte es nicht mit indizes machen, da man die txt erweitern können soll ohne die fla/ swf datei zu ändern.

wie funzt dat ?

ps: das was bisher läuft ... guckst du hier:

http://www.objecx.de/portfolio/thumb...vertrag_06.swf

jetzt soll noch ausserdem nach dem oben genannten problem die datei und navigation erweitert werden.
markus0007 ist offline   Mit Zitat antworten
Alt 12-11-2003, 18:04   #2 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
hast dir ma mein 'xml parsen' angesehen?
kannste beliebig erweitern und per indizes durchsuchen ...
von den gefundenen Einträgen legste die Referenzen in einem Array ab, dann kannste das sequentiell durchlaufen und deine Liste darstellen ...
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 12-11-2003, 18:12   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 25
jup habe ich mir angeschaut ...

ABER (mein fehler):

ich lade ne txt datei rein, die wie oben beschrieben aussieht.
alles funktioniert ja bisher auch. aber das direkte auslesen BESTIMMTER daten will nicht.

oder kann aus deinem skript nen teil nehmen, der das unterstützt ???

markus
markus0007 ist offline   Mit Zitat antworten
Alt 12-11-2003, 18:38   #4 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
leg mal das in einen leeren Film :
ActionScript:
  1. //----------------------------------------------------------------------------
  2. //  xml2tree
  3. //  --- --- --- --- ---
  4. //  authors:  Maier Bernhard (pius) | Andrea Stubbe (Astrosusi)
  5. //  version:  20031112  'supershort mit nodeValue'
  6. //----------------------------------------------------------------------------
  7. Object.prototype.__xml2tree = function(f, tN) {
  8.     var d = new Object();
  9.     d.__p = function(n) {
  10.         var t = new Object();
  11.         for (var a in n.attributes) {
  12.             t[a] = n.attributes[a];
  13.         }
  14.         for (var c = 0; c<n.childNodes.length; c++) {
  15.             if(n.childNodes[c].nodeName != null){
  16.                 if (t[n.childNodes[c].nodeName] == undefined) {
  17.                     t[n.childNodes[c].nodeName] = new Array();
  18.                 }
  19.                 t[n.childNodes[c].nodeName].push(this.__p(n.childNodes[c]));
  20.             }else{
  21.                 if(n.childNodes[c].nodeValue!=null && n.childNodes[c].nodeValue!=""){
  22.                         t[n.nodeName+"_pcdata"] = n.childNodes[c].nodeValue;
  23.                 }
  24.             }
  25.         }
  26.     return t;
  27.     };
  28.     d.__l = function(s) {
  29.         trace('xml2tree: loaded xml-File: '+f+'\t('+s+')');
  30.         if (s) {
  31.             trace('xml2tree: parsing xml to: _global.'+tN);
  32.             _global[tN] = d.__p(d.xml);
  33.             trace('xml2tree: ready');
  34.             // hier jetzt nachfolgeaktion starten ....
  35.             // z.B. ausgabe bestimmter daten
  36.             _root.__filter();
  37.         } else {
  38.             trace('!!! xml2tree: error !!!');
  39.         }
  40.     };
  41.     d.xml = new XML();
  42.     d.xml.ignoreWhite = true;
  43.     d.xml.onLoad = d.__l;
  44.     d.xml.load(f);
  45. };
  46. //----------------------------------------------------------------------------
  47.  
  48.  
  49. // Aufrufen: XML-File, Baum-Bezeichenr
  50. __xml2tree('objecx.xml', 'data');
  51.  
  52. __filter = function(){
  53.     for(var c = 0; c < _global.data.projekt[0].vertrag.length; c++){
  54.         if(_global.data.projekt[0].vertrag[c].firma == "ObjecX"){
  55.             trace('VertragsNr.: '+_global.data.projekt[0].vertrag[c].nr+'\tFirma: '+_global.data.projekt[0].vertrag[c].firma);
  56.         }
  57.     }
  58. }


und speichere daneben eine XML-Datei, die so aussieht:

PHP-Code:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE tbn SYSTEM "tbn.dtd">


<projekt>
    <vertrag nr="2999999" firma="ObjecX" gebaeude="Penthouse" teil="A 3" etage="EG" qm="212" />
    <vertrag nr="2000900" firma="Apple" gebaeude="Haupthaus Neubau Altbau" teil="B" etage="EG" qm="380" />
    <vertrag nr="3000500" firma="Sony" gebaeude="Haupthaus Neubau" teil="A - C" etage="2.OG" qm="700" />
    <vertrag nr="3000600" firma="Philips" gebaeude="Haupthaus Altbau" teil="A - C" etage="4.OG" qm="550" />
    <vertrag nr="3000700" firma="Microsoft" gebaeude="Keller/ Lager" teil="K 1" etage="KG" qm="50" />
    <vertrag nr="3999999" firma="ObjecX" gebaeude="Penthouse" teil="A 2" etage="1.OG" qm="251" />
</projekt>

als 'objecx.xml' ab (utf-8 !!!)

...

dann schau dir mal das getracete an ...


__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 13-11-2003, 11:59   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 25
gute idee danke ...
markus0007 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 15:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele