Flashhilfe.de - Flash Community

xml-verarbeitung, Fahrplan [Flash 8]

 


AntwortenRegistrieren Seite1  

Herzenslicht#1
Benutzerbild von Herzenslicht
Beiträge: 7
Registriert: Jan 2008

06.01.2011, 17:34

Hi Leute,
habe ein Problem und hoffe auf Eure Hilfe.

Habe eine xml-Datei, in welcher Fahrzeiten von unterschiedlichen Bus/Bahn-Verbindungen stehen.
Nun möchte ich diese anzeigen lassen und sofern an diesem Tag kein Bus mehr fährt,
dann den nächsten Termin.

Ich hoffe es wurde verständlich.
Leider ist scheinbar ein Fehler in meinem Skript, da die Termine des Folgetages nicht angezeigt werden.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
stop();

var i = 0;
var j = 0;
var k = 0;

var linien:Array = [ [],[],[],[],[],[],[],[],[],[],[],[],[] ];

var linien:Array = [];
for(var i=0; i<13; i++) linien.push([]); 

var isDeparture = false;
var traceOnce = false;
var nextDay = 0;
var xmlLength = 0;

var date = new Date();
var dateName = ["", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"];
var _day = date.getDay();
var _minute = date.getMinutes();
var _hour = date.getHours();

if (_minute < 10) {    _minute = "0" + _minute; }
if (_hour < 10) { _hour = "0" + _hour; }

weekdayNow.text = dateName[_day];
timeNow.text = _hour + ":" + _minute;




// kann auskommentiert werden //
trace ("----------------------------------");
trace ("Aktuelle Zeit:");
trace (dateName[_day] + " - " + _hour + ":" + _minute);
trace ("----------------------------------");
trace ("");
////////////////////////////////




var xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.load("fahrplan.xml");

xmlData.onLoad = function(success) {
     for (dl=0; dl<12; dl++){
        _root["azt"+dl].text = "";
      // Anzahl an Termine für Linie0 bis Linie11 auslesen und die Daten ins Array packen
    xmlLength = xmlData.childNodes[dl].childNodes.length;
      for (i=0; i<xmlLength; i++) {
          linien[dl][i] = {day: xmlData.childNodes[dl].childNodes[i].attributes.name, hour: xmlData.childNodes[dl].childNodes[i].attributes.stunde, minute: xmlData.childNodes[dl].childNodes[i].attributes.minute};
      }
     }
     
     
     
     
      // Abfragen so oft starten, wie Linien (in diesem Fall 3) vorhanden sind
    for (k=0; k<linien.length; k++) {
         
         
          // Abfahrtszeiten durchgehen und wenn es heute noch Termine gibt, diese ausgeben
        for (i=0; i<linien<i>.length; i++) {
              // prüfen ob der gespeicherte Tag der aktuelle ist
            if (linien<i>[i].day == dateName[_day]) {
                  // prüfen ob die gespeicherte Stunde größer/gleich der aktuellen ist
                if (linien<i>[i].hour >= _hour) {
                      // wenn größer/gleich prüfen ob sie gleich ist
                    if (linien<i>[i].hour == _hour) {
                          // wenn sie gleich ist, prüfen ob die gespeicherte Minute größer/gleich der aktuellen ist
                        if (linien<i>[i].minute >= _minute) {
                              _root["weekday"+k].text = linien<i>[i].day;
                              _root["departure"+k].text = linien<i>[i].hour + ":" + linien<i>[i].minute;
                             
                              // kann auskommentiert werden //
                            trace ("Linie" + k + " - Der nächste Bus fährt um:");
                              trace (linien<i>[i].day + " - " + linien<i>[i].hour + ":" + linien<i>[i].minute);
                              trace ("---------");
                              ////////////////////////////////
                           
                              isDeparture = true;
                              break;
                          }
                      } else {
                          _root["weekday"+k].text = linien<i>[i].day;
                          _root["departure"+k].text = linien<i>[i].hour + ":" + linien<i>[i].minute;
                          
                          // kann auskommentiert werden //
                        trace ("Linie" + k + " - Der nächste Bus fährt um:");
                          trace (linien<i>[i].day + " - " + linien<i>[i].hour + ":" + linien<i>[i].minute);
                          trace ("---------");
                          ////////////////////////////////
                        
                          isDeparture = true;
                          break;
                      }
                  }
              }
          }
         
     
          // wenn es heute keine Termine mehr gibt, dann den nächst folgenden Termin ausgeben.
        if (!isDeparture) {
              
              // kann auskommentiert werden //
            trace ("Linie" + k + " - Heute fährt kein Bus mehr. Die nächste Abfahrt ist:");
              // kann auskommentiert werden //
            
              nextDay = _day + 1;
              if (nextDay > 7) { nextDay = 1; }
                     
              // den nächsten Termin ausgeben
            while (traceOnce == false) {
                  for (i=0; i<linien<i>.length; i++) {               
                      if (linien<i>[i].day == dateName[nextDay]) {
                          if (!traceOnce) {
                              _root["weekday"+k].text = linien<i>[i].day;
                              _root["departure"+k].text = linien<i>[i].hour + ":" + linien<i>[i].minute;
                          
                              // kann auskommentiert werden //
                            trace (linien<i>[i].day + " - " + linien<i>[i].hour + ":" + linien<i>[i].minute);
                              trace ("---------");
                              ////////////////////////////////
                           
                              traceOnce = !traceOnce;
                              break;
                          }
                      }
                  }
                 
                  nextDay += 1;
                  if (nextDay > 7) { nextDay = 1; }
              }
          }
          traceOnce = !traceOnce;
         
         
      }



Die xml-Datei findet Ihr hier
http://www.woebcke.de/fahrplan.zip

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de