Zitat Zitat von PicNick Beitrag anzeigen
Für Programmstrukturen gibt's kaum allgemein und immer gültige regeln.
Mal einfach vor mich hingeplappert:
Jedes SMS braucht 3 Steps, die man als Sub ausführen kann:
1) SMS-Init /Header etc.
Das sind hauptsächlich feste werte, wie TelNr etc.
2) SMS-Nutzdaten
Das ist die eigentliche Nachricht, bestehend aus Festwerten und Variablen.
3) SMS-Close & Abschicken

1) u. 3) können vermutl. mit GOSUB ausgeführt werden, das sie kaum durch Argumente variierbar sind (denk' ich)

Am unterschiedlichsten wird die Sache wohl bei 2) sein
Glaube aber, dass es ein durchaus überschaubares Repertoire an "message-Typen" gibt, die weitgehend, auch ohne viel parameter, wissen, was sie brauchen. Die könnte man als SUB ausführen
z.B "SEND_STANDORTWECHSEL:"
könnte mir vorstellen, dass bestenfalls die latitude-werte selbst als Parameter benötigt werden, die Texte wüsste die Funktion wohl selbst. Und wenn diese PositionsWerte eigentlich im Programm als "globale" werte geDIMt sind, wären auch die nicht wirklich notwendig.
Hmm, 1 und 3 werden doch bei jeder Nachricht benötigt? Einzig 2 hat unterschiedlichen Inhalt. Also würde ich die Nema Auswertung in der Hauptschleife machen und bei erkannten Standortwechsel ein call Subraoutine_Senden machen. Alle Konstanten und auch wechselnden Variablen schon im Header als Global deklarieren.
1 und 3 dann fest in der Sub einbinden da sie bei jeder Sendung gebraucht werden. So bleibt für die Hauptschleife halt "nur" die Entscheidung Standort_ALT = Standort_NEU ? mit einer gewissen zugelassener Differenz. Fragt sich wie oft gesendet werden soll wenn das geklaute Objekt sich in Bewegung befindet oder nur einmal beim Start und dann wieder nach xyz Zeit mit Stillstand = neue ( End ) Position...

Gruß Richard