![]() |
Text-datei und PLZ
ich habe eine textdatei "PLZ.txt" in der ist hinterlegt die Plz und der dazugehörige Ort wie "01990 Brandenburg"
nun habe ich drei edit felder für Straße Plz Ort. Ich versuche nun. zum beispiel den Ort einzugeben und er soll auf die Textdatei den ort und im anderen editfeld die dazugehörige PLZ suchen. Wie bekomme ich das hin ? |
Re: Text-datei und PLZ
Hi!
Am einfachsten würdest du die Datei in einem für dich passenden Format einlesen, das man gut weiterverarbeiten kann. Möchtest du es mit Delphi machen? Grüße, Frederic |
Re: Text-datei und PLZ
Die einfachste (und langsamste) Möglichkeit: die Datei durchgehen und ab der 7. Stelle der aktuellen Zeile den String mit Deiner Ortsangabe vergleichen.
|
Re: Text-datei und PLZ
ich bearbeite das ganze in delphi 5
finde aber den ansatz nicht |
Re: Text-datei und PLZ
Den habe ich Dir doch genannt.
|
Re: Text-datei und PLZ
Hallo,
prinzipiell könnte es so gehen.
Delphi-Quellcode:
Grüße
var
sl: TStringList; plz : TStringList; ort : StringList; begin plz := TStringList.create; ort := TStringList.create; sl:=TStringList.create; sl.loadFromFile(DeineTextDatei); for i:=0 to sl.count -1 do begin plz.add(copy(sl[i],1,5)); ort.add(copy(sl[i],6,length(sl[i]))); end; sl.free; plzEdit.text:=plz[ort.indexOf(ortEdit.text)]; plz.free; ort.free; end; Klaus |
Re: Text-datei und PLZ
halle klaus
dit is doch ne wucht damit habe ich doch sicherlich einen anfang für mein kleines PROBLEM. DANKE was würde ich nur ohne euch hier im forum machen? |
Re: Text-datei und PLZ
Oder die Datei jedesmal zeilenweise einlesen oder oder... Allerdings besteht die Problematik, dass ein Ort verschiedene PLZ haben kann und dass das so wie gesagt recht langsam ist. Allerdings ist Letzteres wieder eine Frage der Anzahl der Daten.
|
Re: Text-datei und PLZ
mmm meine daten in der Datei sind nur 160 kb groß, das dürft ja dann wohl nicht lange dauern
Oder ? |
Re: Text-datei und PLZ
Vermutlich nicht, aber das erste Problem besteht weiterhin.
|
Re: Text-datei und PLZ
Wenn es nur kleine Datenmengen sind würde sich eine Ini Datei anbieten, dürfte wohl das einfachste sein. (Big Ini)
|
Re: Text-datei und PLZ
wie meinst du das?
|
Re: Text-datei und PLZ
Zitat:
Mehrere PLZ pro Ort ist in Städten nichts ungewöhnliches. Es kommt sogar vor das eine Straße mehrere PLZ haben kann. Grüße Klaus |
Re: Text-datei und PLZ
mmm ich habe einmal vor mich auf die PLZ oder den Ort zu beziehen
solte ich also die straße auch noch mit hinzunehmen ? |
Re: Text-datei und PLZ
Zitat:
Schau doch einmal in das große gelbe Buch der Deutschen Post AG oder in die entsprechenden Daten, siehe ![]() Jürgen |
Re: Text-datei und PLZ
Zitat:
Schau dir mal dieses ![]() Da früher Ini nur Datenmengen bis 64 kb aufgenommen haben (Vieleicht ist es heut anders) kann ich ![]() |
Re: Text-datei und PLZ
jetzt wollte ich mir einen kleinen luxus in meinem programm gönnen und nun wird dit zu einem soooooooo großen problem.
na toll :-(
Delphi-Quellcode:
er gibt mir bei editTPLZ.Text :=plz....
procedure PLZ1Click(Sender: TObject);
. . . var sl: TStringList; plz: TStringList; Ort: TstringList; implementation . . . procedure TSachverhaltForm.PLZ1Click(Sender: TObject); var i:integer; begin plz :=TstringList.create; Ort :=TStringList.create; sl :=TstringList.create; sl.LoadFromFile('PLZ.txt'); for i:= 0 to sl.count -1 do begin plz.add(copy(sl[i],1,5)); ort.add(copy(sl[i],6,length(sl[i]))); end; sl.free EditTPlz.Text :=plz[ort.indexof(EditTOrt.text)]; plz.free; ort.free; end; den fehler aus Operator oder Semikolon fehlt. warum das ? |
Re: Text-datei und PLZ
Weil in der Zeile davor ein Semikolon fehlt :mrgreen:
|
Re: Text-datei und PLZ
oh man, ick sehe den wald vor lauter bäume nicht :-( :-(
danke |
Re: Text-datei und PLZ
Handelt es sich um die PLZ-Datei der OpenGeoDB?
|
Re: Text-datei und PLZ
nein, diese db kenne ich nicht
meine Textdatei habe ich von einer demo-cd aus dem jahre 2002 für datenbankverwaltung von java und war als textdatei hinterlegt |
Re: Text-datei und PLZ
Hm, hier gibt es eine Datei namens "PLZ.tab":
![]() In dieser befinden sich die Daten in dem Format
Code:
durch Tabs getrennt. Daher kam ich dadrauf. ;)
#loc_id plz lon lat Ort
5078 01067 13.7210676148814 51.0600336463379 Dresden |
Re: Text-datei und PLZ
ähm, hallo ??
die Lösung mit den drei Stringlisten ist doch eher suboptimal Zitat:
zur Postleidzahl gehört ein Ort / Kunde, (ein Ortsteil,) eine Straße ggf. mit Erweiterung durch Hausnummern. Das sollte man tunlichst nicht in zwei,drei... Stringlisten auseinander reißen! Für die ewiggestrigen gibt es da Records, und für die modernen Objekte. Und die DB-Fraktion hat dann gleich ein embedded..... in der Hinterhand. Das benutzen von Stringlisten ist etwa so empfehlenswert wie das Benutzen von "goto"s. Natürlich geht's, aber ist's auch sinnvoll? Gruß K-H |
Re: Text-datei und PLZ
ein hallo
wie kann ich dann aber mein problem lösen? habt ihr einen vorschlag? |
Re: Text-datei und PLZ
:gruebel:
Wieso, war das nicht schon gelöst? |
Re: Text-datei und PLZ
nein ihr hatte mir doch wenn ich mich an gesternabend erinnere (war schon spät) ja
gesagt das ich auch die straßen und hausnummern berücksichtigen soll |
Re: Text-datei und PLZ
Du musst aufpassen, dass das kein Overkill wird. Du kannst dir natürlich mit den Daten z.B. aus dem OpenStreetMap eine Liste mit Straßen zusammenbasteln, aber das ist ein riiiiesiger Aufwand.
(<= ![]() ![]() ![]() ![]() ![]() alternativ könntest du uns auch einfach verraten, was du da basteln willst. Und dann kann man immer noch gucken, ob du so eine riesen Liste brauchst. |
Re: Text-datei und PLZ
ich habe eine eingabemaske für strasse, plz, Ort
und wolte jetzt versuchen das wenn ich die plz habe aber den ort nicht weis, dass er mir gleich den ort als vorschlag im entsprechenden editfeld ausgibt. das ganze in umgekerter reihenfolge für die PLZ. |
Re: Text-datei und PLZ
Dann wäre für dich vielleicht auch die Verwendung eines TStringDictionary interessant. So würde ich zwecks der Eindeutigkeit die Postleitzahlen als Index nehmen und den Ort als Wert. Eine schnellere Lösung wirst du wohl ohne großen Aufwand nicht finden, und eine DB ist definitiv overkill.
Wenn du die Datei mit den Postleitzahlen zippen und hochladen könntest, würde ich mich bereiterklären, dir ein kommentiertes Beispiel zu stricken. Wenn du allerdings noch die Straßennamen dazunehmen willst, dann musst du dich nach einer entsprechenden Liste umsehen oder sie mit den OSM-Daten selbst erstellen. So eine Liste ist allerdings schnell mal mehrere MB groß, und dafür brauchst du dann tatsächlich eine Datenbank. |
Re: Text-datei und PLZ
wie meinst du das mit dem TStringDictionary
ich gebe zu bin nur ab und zu mal mit delphi in arbeit und würde mich über hilfe diesbezüglich freuen |
Re: Text-datei und PLZ
|
Re: Text-datei und PLZ
Zitat:
Ich verweise nochmals auf ![]() Danach kann man sich auch eine Liste für eine ComboBox holen, die z.B. zur PLZ 21376 alle vorhandenen Ortsnamen anzeigen kann. Aber das ist nur ein Teil der ganzen Daten. Gruß Jürgen |
Re: Text-datei und PLZ
Sollte es sich aber um keine kommerzielle Anwendung handeln, dann kann man sich lieber mit den OSM-Daten rumschlagen. Kostet zwar Manpower, aber keine Euronen. ;)
P.S.: Deine Links führen dauernd auf die Startseite der Post. Ist bestimmt nicht so beabsichtigt, oder? :stupid: |
Re: Text-datei und PLZ
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz