xml-verarbeitung, Fahrplan [Flash 8]
| 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 | |
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|