Hallo zusammen,
mein Englisch ist nicht besonders gut, deshalb bitte ich um Verständnis, mein Anliegen in Deutsch zu beschreiben:
Ich habe eine txt-Datei mit den Abfahrtszeiten einer bestimmten Haltestelle, nach Zeit sortiert in jeder Zeile (15:15, 15:49 usw.). Bei Ankunft an der Haltestelle möchte ich herausbekommen, in wieviel Minuten der nächste Bus laut meiner Liste abfährt.
Der Zugriff auf die Datei und das Feststellen der aktuellen Zeit ist das kleinste Problem. Nur wie kann ich per Script zunächst feststellen, welche Zeile meiner Textdatei die zum Zeitpunkt der Ankunft an der Haltestelle, die am nächsten Gültige ist? Im nächsten Schritt möchte ich dann im Abstand von Zeit x an die restlichen Minuten bis zur Abfahrtszeit erinnert werden bzw. in einem Widget angezeigt bekommen (Widget und Variable darin anzeigen ist auch kein Problem).
Ich bin dankbar für Vorschläge, Denkanstöße und Lösungen.
Herzlichen Dank
Jennes
Restminuten bis zur Abfahrtszeit
Moderator: Martin
Re: Restminuten bis zur Abfahrtszeit
Hi,
Kein Problem, Deutsch ist natürlich auch OK
Diese Lösung geht davon aus, dass die Zeiten alle im Format HH:mm vorliegen, da das Script die Abfahrtszeiten als Text vergleicht.
Folgende Seite listet einige nützliche Beispiele auf (siehe insbesondere Beispiel Erstelle eine Liste von Zeilen aus einem mehrzeiligen Text):
http://automagic4android.com/automagic/ ... mples.html
Freundliche Grüsse
Martin
Kein Problem, Deutsch ist natürlich auch OK

Diese Lösung geht davon aus, dass die Zeiten alle im Format HH:mm vorliegen, da das Script die Abfahrtszeiten als Text vergleicht.
Code: Select all
// Beispiel-Abfahrtszeiten
list = newList("15:15", "15:49");
// aktuelle Zeit im selben Format, könntest auch now = "{triggertime,dateformat,HH:mm}"; verwenden
now = "15:40";
// jeden Eintrag der Liste aufsteigend abarbeiten
for (t in list)
{
// 15:49 ist der erste Text, welcher lexikographisch grösser ist als 15:40, deshalb Schleife mit break abbrechen
// variable t enthält nach dem Loop "15:49"
if (t > now)
{
break;
}
}
// aktuelle Zeit in die Millisekunden seit 1970 umwandeln
t1 = getDate(now, "HH:mm");
// gefundene nächste Abfahrtszeit in die Millisekunden seit 1970 umwandeln
t2 = getDate(t, "HH:mm");
// Differenz berechnen (bei negativem Wert hätte man den letzten Bus verpasst)
// im Beispiel ist die Differenz 540000 Millisekunden (9 Minuten)
diff = t2 - t1;
// Dauer in "9m" umformatieren
diff_duration=getDurationString(diff);
http://automagic4android.com/automagic/ ... mples.html
Freundliche Grüsse
Martin
Re: Restminuten bis zur Abfahrtszeit
Danke lieber Martin!
So eine schnelle Antwort und dazu noch prima erklärt. Es funktioniert und ich kann es auf die weiteren in Frage kommenden Haltestellen duplizieren.
Freut mich sehr.
Herzliche Grüsse
Jennes
So eine schnelle Antwort und dazu noch prima erklärt. Es funktioniert und ich kann es auf die weiteren in Frage kommenden Haltestellen duplizieren.
Freut mich sehr.
Herzliche Grüsse
Jennes