Das ging ja viel schneller als ich dachte. Vielen Dank für die freundliche Aufnahme.
@ Christian
Zitat:
Bei meinem Vorschlag gehe ich davon aus, dass die Daten als solche feststehen, und nicht mehr geändert werden müssen (in der Datei).
Das ist richtig.
Zitat:
und es sich auch nicht um sehr grosse Datenmengen handelt, so dass die Datei wohl meist im Speicher gehalten werden kann.
Die ganze Datei muss auf jedem Fall im Speicher gehalten werden. Ich Rechne mit maximal (150 Ländern x durchschnittlich 50 Eckpunkte x 8 Byte für TPoint) = 60.000 Byte. Das dürfte sogar mein Rechner schaffen.
Zitat:
Als erstes die Gesamtlänge eines Landes speichern (4 Byte / DWORD), um schnell auf die Daten des nächsten Landes zugreifen zu können.
Die Zugriffe auf die Daten der Länder im Einzelverfahren sind nicht notwendig, da bei jedem OnMouseMove Event ohnehin alle Länderpunkte durch eine Routine durchgejagt werden müssen, die herausgibt ob sich der Mouscoursor innerhalb des jeweiligen Landes befindet.
Zitat:
Jetzt jeweils (die Reihenfolge spielt ja keine grosse Rolle) ein Feld, dass die Länge der Folgedaten enthält, und dann die Daten, also z.B. ein Feld Länge des Arrays, dann die Daten des Arrays.
Ja, an so etwas ähnliches habe ich auch schon gedacht. Ist auf jedem Fall besser als das was ich jetzt habe, da ich nicht für jeden Punkt die Werte prüfen muss. Ich werde es so probieren und schreibe Euch was daraus geworden ist.
Eigentlich hatte ich gehofft es könnte so etwas gemacht werden wie dynamische Strukturen in feste Strukturen umwandeln und dann mit FileOf einfach ein- und auslesen. Heute erscheint mit diese Idee wieder völlig unsinnig.
@ Mr.Spock
Zitat:
natürlich wäre auch das Speichern in einer kleinen Datenbank denkbar. ...
Habe auch schon daran gedacht. Ist aber keine Arbeitserleichterung, da die gesamten Daten in den Arbeitsspeicher hinein müssen. Die Routinen zum Schreiben in die Datenbank und zum Auslesen aus der Datenbank dauern genau so lang wie die Arbeit mit Streams.
Zitat:
Nachteil ist evtl., dass du die
BDE nutzt,
Mit der
BDE konnte ich mich noch nie so richtig anfreunden. Wenn's irgendwie geht vermeide ich eine Benutzung.
Zitat:
die recht groß ist (bezogen auf die deine Anwendung).
Na ja so klein ist die Anwendung nicht. Ist immerhin ein fettes Bitmap drinnen.
Vielen Dank an euch Beide.
mfg S.
Vom Leben nichts zu erwarten, ist das Geheimnis aller echten Heiterkeit.
George Bernard Shaw (1856-1950)