AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken wie Adresse auseinandernehmen
Thema durchsuchen
Ansicht
Themen-Optionen

wie Adresse auseinandernehmen

Ein Thema von khh · begonnen am 5. Sep 2012 · letzter Beitrag vom 7. Sep 2012
Antwort Antwort
Seite 1 von 2  1 2      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:26
Oder den letzten Block abtrennen
ja, aber wie ?
Karl-Heinz
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#2

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:30
Mit Hier im Forum suchenpos und Hier im Forum suchencopy?

  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:35
Per Delphi?

Durchlaufen bis zum ersten ['0'..'9'] , ab da als Hausnummer behandeln ?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:37
Durchlaufen bis zum ersten ['0'..'9'] , ab da als Hausnummer behandeln ?
Und hoffen, dass niemand an der "Straße des 17. Juni" wohnt....
Jens
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#5

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:37
Per Delphi?

Durchlaufen bis zum ersten ['0'..'9'] , ab da als Hausnummer behandeln ?

warum kommt man auf die einfachsten Dinge nicht selbst
EDIT : mh die Straße des 17. Juni sollte manuell zu finden sein

ich danke dir / euch
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:37
Oder per TStringList.

Delphi-Quellcode:
var
  sl: TStrings;
  ...
  sl := TStringList.Create;
  sl.Delimiter := ' ';
  sl.DelimitedText := <Str mit Hausnummer>;
  <hausnummer> := sl[sl.Count-1];
  sl.Delete( sl.Count-1);
  <str> := sl.Text;
  ..
  sl.Free;
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#7

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 12:39
Oder per TStringList.

Delphi-Quellcode:
var
  sl: TStrings;
  ...
  sl := TStringList.Create;
  sl.Delimiter := ' ';
  sl.DelimitedText := <Str mit Hausnummer>;
  <hausnummer> := sl[sl.Count-1];
  sl.Delete( sl.Count-1);
  <str> := sl.Text;
  ..
  sl.Free;
ich probiers erst mal so
EDIT: funktioniert (fast)einwandfrei.
die Leerzeichen zwischen den Strassennahmen die aus mehreren Wörtern bestehen werden eliminiert
ich danke euch
Karl-Heinz

Geändert von khh ( 5. Sep 2012 um 12:59 Uhr)
  Mit Zitat antworten Zitat
-=ZGD=-

Registriert seit: 25. Apr 2006
Ort: Bad Aibling
105 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 13:24
Solch ähnliche Lösungen hatte ich auch mal.
Problem war dann, dass irgendwann Hausnummern im Stil von
Code:
128 - 130
vorlagen.

Am besten nimmst du den kompletten String und extrahierst ab dem ersten Vorkommnis einer Zahl bis zum Ende alles als Hausnummer.

Leerzeichen dazwischen kannst du natürlich danach noch immer entfernen.

Quasi so, wie Bummi es schon beschrieben hat.
Stefan Michalk
  Mit Zitat antworten Zitat
BlackbirdBerlin

Registriert seit: 15. Okt 2009
Ort: 10318 Berlin
91 Beiträge
 
Delphi 7 Architect
 
#9

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 13:34
Hi zusammen.

Um noch einen weiteren Sonderfall mit rein zu bringen:

In Berlin (und anderen Städten sicherlich auch) gibt es auch Straßen ohne Namen:

eine Adresse dort wäre z.B.
Straße 136 5

Wobei hier die 5 die Hausnummer ist. (was mit dem vorgenannten Ansatz zur Falscherkennung führen würde)

Ich würde prinzipiell die am weitesten rechts stehenden Ziffern (ggf. mit Index a, b oder ähnlichen und ggf. mit von/bis, wie schon genannt "128 - 130") als Hausnummer betrachten und alles andere als den Straßennamen.

Viele Grüße,
Tim
Tim
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: wie Adresse auseinandernehmen

  Alt 5. Sep 2012, 19:05
Hallo,

beschäftige mich seit vielen Jahren mit dem Thema. Die perfekte Lösung gibt es nicht.
Die besten (aber nicht perfekten) Ergebnisse habe ich bisher mit folgender Logik erreicht:
  1. von rechts nach links alles nehmen, was keine Ziffer ist. (Teil 3)
  2. dann alles nehmen, was kein Buchstabe ist. (Teil 2)
  3. Alles was davor ist, ist die Straße. (Teil 1)
  4. Alle drei Teile von führenden und folgenden Leerzeichen bereinigen.
Die Hausnummer hat man in Teil 2 und alles was hinter der Hausnummer ist (Teil 3), kommt in ein Feld Hausnummernzusatz. Die Trennung von Straße nur in Straße und Hausnummer ist nicht sinnvoll, spätestens bei Adressvergleichen stört alles, was in der Hausnummer steht, aber eigentlich nicht zur Hausnummer gehört.
Ggfls. kann man bei Teil 3 noch prüfen, ob er nur aus einem Buchstaben besteht, um Hausnummern der Form 12a zu separieren.

Diese Logik scheitert im o.g. Beispiel von Berlin, aber auch in Mannheim (siehe z. B. http://rhein-neckar-wiki.de/Stra%C3%...%28Mannheim%29) oder bei Straßennamen der Form An der B 222 1a. Hier ist die 222 noch Teil des Straßennamens und 1a die Hausnummer. Und natürlich scheitert es auch bei o. g. Schlossberg 12, 3. Stock.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 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