Funktion, die bei Eingabe der PLZ den Wohnort liefert
Moderator: Moderatoren
Funktion, die bei Eingabe der PLZ den Wohnort liefert
Hi!
Ich habe eine ganz profane Frage: Mit welcher function oder procedure könnte ich bei Eingabe der Postleitzahl den dazugehörigen Wohnort geliefert bekommen, wenn die entsprechenden Daten auf einer .DBF-Datei vorhanden wären?
Gruß Werner
Ich habe eine ganz profane Frage: Mit welcher function oder procedure könnte ich bei Eingabe der Postleitzahl den dazugehörigen Wohnort geliefert bekommen, wenn die entsprechenden Daten auf einer .DBF-Datei vorhanden wären?
Gruß Werner
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
Wenn du eine Datenbank (alias myplz) mit den Felder PLZ und Ort hast, einen Index (angenommen mal Index 1) auf die Postleitzahl setzen, dann mit
Oder meintest du etwas anderes ?
Code: Alles auswählen
if plzdbf->(DbSeek(myplz, .F., 1))
return plzdbf->ort
else
return ""
endif
Viele Grüße
Wolfgang
Wolfgang
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
Hallo, Werner -
Du könntest den :keyboard-Callback-Slot des XbpSLE verwenden, um mit Eingabe der einzelnen Ziffern eine Liste der PLZ-Orts-Kombination anzuzeigen. Oder, wenn das XbpSLE verlassen wird, über editBuffer die Eingabe abgreifen und damit in der entsprechenden DBF suchen.
Du könntest den :keyboard-Callback-Slot des XbpSLE verwenden, um mit Eingabe der einzelnen Ziffern eine Liste der PLZ-Orts-Kombination anzuzeigen. Oder, wenn das XbpSLE verlassen wird, über editBuffer die Eingabe abgreifen und damit in der entsprechenden DBF suchen.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
Ich mach bei diesen Sachen einen PushButton dahinter, der nach dem Anklicken sucht.
Die automatischen Suchen haben das Problem, dass es sehr störend sein kann wenn die Suche zu lange dauert und ohne Browser darunter macht die Suche nach den ersten Stellen auch keinen Sinn.
Man kann natürlich auf Set und Lostfocus gehen, aber den kann man auch mit 4 Zeichen verlieren und dann bringt die Suche nicht wirklich was.
Außerdem, denkt man an Touch und GUI ist ein Button immer besser als was anderes.
Solche Buttons davor nutze ich z.B. für Auswahllisten anzeigen oder auch Verzeichnisauswahl, Caption "..."
Oder für schnelles Einfügen aus der Zwischenablage "<" oder Kopieren in die Zwischenablage ("C") 24 x 24 Pixel reichen meist.
Die automatischen Suchen haben das Problem, dass es sehr störend sein kann wenn die Suche zu lange dauert und ohne Browser darunter macht die Suche nach den ersten Stellen auch keinen Sinn.
Man kann natürlich auf Set und Lostfocus gehen, aber den kann man auch mit 4 Zeichen verlieren und dann bringt die Suche nicht wirklich was.
Außerdem, denkt man an Touch und GUI ist ein Button immer besser als was anderes.
Solche Buttons davor nutze ich z.B. für Auswahllisten anzeigen oder auch Verzeichnisauswahl, Caption "..."
Oder für schnelles Einfügen aus der Zwischenablage "<" oder Kopieren in die Zwischenablage ("C") 24 x 24 Pixel reichen meist.
Gruß
Hubert
Hubert
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
wobei es natürlich pro Ort event. mehrere Plz geben kann ...
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
-
- Rekursionen-Architekt
- Beiträge: 118
- Registriert: Mi, 28. Nov 2007 12:48
- Wohnort: Wien
- Hat sich bedankt: 5 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
Aber nur einen Ort bei PLZ als Suchkriterium...Wolfgang_B hat geschrieben: ↑Mi, 17. Mär 2021 12:38 wobei es natürlich pro Ort event. mehrere Plz geben kann ...
Gruß aus Wien
Leon
Leon
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
Das ist so auch nicht korrekt!
In D gab es mal (oder gibt es noch immer) für eine PLZ drei verschiedene Orte
Viele Grüße,
Martin
In D gab es mal (oder gibt es noch immer) für eine PLZ drei verschiedene Orte
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
In Hessen z.B. 35094 - da gibt es zwei Orte.
Es gibt auch einen Ort mit einer deutschen und mit einer schweizerischen PLZ: Büsingen am Hochrhein
Viele Grüße,
Martin
Es gibt auch einen Ort mit einer deutschen und mit einer schweizerischen PLZ: Büsingen am Hochrhein
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
76726 zum Beispiel (meine) ....Martin Altmann hat geschrieben: ↑Mi, 17. Mär 2021 13:01 Das ist so auch nicht korrekt!
In D gab es mal (oder gibt es noch immer) für eine PLZ drei verschiedene Orte
Viele Grüße,
Martin
76726 Germersheim ist richtig, aber es gibt noch ... Gut Altbrand, 76726 Germersheim => oft abgekürzt, also
76726 Altbrand - und das wird dann sortiert als erster Treffer angezeigt und teilweise übernommen, SEHR ÄRGERLICH
76726 Vorwerk Fiedrich => genauer "Am Vorwerk Friedrich", 76726 Germersheim
das eine ist ein Aussiedler Bauernhof irgendwo südlich vor dem Vorort, das andere die Straße der Straßenmeisterei, ehemals eine Vorfestung der Festung Germersheim.
Warum man die überhaupt aufnimmt ist mir schleierhaft, sind ja alle gleich, aber egal. Einfache Übernahme geht also gar nicht, wenn schon dann mit Auswahlliste.
Aber es geht tatsächlich noch schlimmer.
Vor Jahren wollte ich meinem Arbeitskollegen für sein neues Haus einen 1&1 Vertrag vermitteln, aber die Straße "gibt es nicht", übersetzt da kannst du nicht wohnen und schon gar kein Internet bekommen
Man kann es mit der Plausis auch übertreiben und seine Kunden verprellen, er ging dann zur Telekom, die Post brauchte seine Briefe ja auch schon.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
zumindest für Deutschland stimmt das nicht, viele kleine Gemeinden sind auch auf eine PLZ zusammen gelegt worden.Leon hat geschrieben: ↑Mi, 17. Mär 2021 12:57Aber nur einen Ort bei PLZ als Suchkriterium...Wolfgang_B hat geschrieben: ↑Mi, 17. Mär 2021 12:38 wobei es natürlich pro Ort event. mehrere Plz geben kann ...
Gruß
Hubert
Hubert
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
Ich mache das so (ist halt mit Express++)
Code: Alles auswählen
function r_obez(tland, tplz, tort)
Local nPointer := 1, lOk := NO, lRetCode := FALSE, GetList := {}, aOrte := {}, oBrowse, GetOptions :={}, act_rec := 0
Local mess_41 := 'Plz', ;
mess_42 := 'Ort', ;
mess_43 := 'Auskunft Ortsbezeichnungen'
Local aPres := ;
{{XBP_PP_COL_DA_FGCLR, GRA_CLR_BLACK }, /* Row FG Color */ ;
{XBP_PP_COL_DA_BGCLR, GRA_CLR_PALEGRAY }, /* Row BG Color */ ;
{XBP_PP_COL_DA_HILITE_FGCLR, GRA_CLR_BLACK }, /* Cursor FG Color */ ;
{XBP_PP_COL_DA_HILITE_BGCLR, GraMakeRGBColor({171,203,241}) } /* Cursor BG Color */ ;
}
if tland = "D " .or. empty(tland)
tland := "D "
po->(dbseek(tland+strzero(tplz, 5)))
else
po->(dbseek(tland+ltrim(str(tplz, 5))))
endif
if po->(found()) .and. !po->(deleted())
act_rec := po->(recno())
po->(dbskip())
if po->plz # strzero(tplz,5)
po->(dbgoto(act_rec))
&tort := po->ort
else
po->(dbgoto(act_rec))
do while TRUE
if po->plz # strzero(tplz,5)
exit
endif
aadd(aOrte, { po->plz, po->ort})
po->(dbskip())
enddo
if len(aOrte) < 1
return TRUE
endif
@ 0,0 DCBROWSE oBrowse DATA aOrte SIZE 20,15 ;
POINTER nPointer PRESENTATION aPres COLOR { |o| Zebra(oBrowse) } ;
ITEMSELECTED {||DC_ReadGuiEvent(DCGUI_EXIT_OK,GetList) }
DCSETPARENT oBrowse
DCBROWSECOL ELEMENT 1 HEADER mess_41
DCBROWSECOL ELEMENT 2 HEADER mess_42 ;
PICTURE 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
DCSETPARENT TO
DCHOTKEY xbeK_F1 ACTION { || my_help(dc_getactiveinfo(GetList)) } // F1
DCHOTKEY xbeK_F12 ACTION { || DC_ReadGuiEvent(DCGUI_EXIT_OK, GetList) } // F12
DCGETOPTIONS BUTTONALIGN DCGUI_BUTTONALIGN_CENTER ;
COLORGETS {{GRA_CLR_BLACK,GRA_CLR_YELLOW}} ;
ROWOFFSET fi->zeiloff
DCREAD GUI OPTIONS GetOptions FIT ADDBUTTONS MODAL SETAPPWINDOW to lOk ;
TITLE mess_43 EVAL {|o|SetAppFocus(oBrowse:GetColumn(1))}
if lOk
if nPointer > 0
&tort := aOrte[ nPointer, 2 ]
endif
endif
endif
lRetCode := TRUE
endif
return lRetCode
Gruß
Klaus
Klaus
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
In der CH gibts eine offizielle PLZ-Ortliste. Die Orte mit mehreren Plz sind in entsprechenden %-Anteilen der Gemeindefläche angegeben (ein Weiler des Ortes x kann zur Plz des Nachbarortes y gehören).
Wir zeigen bei Mehrfachnennungen eine kleine Combobox an mit allen beteiligten Orten. Will man das nicht, wird diejenige Ortschaft angezeigt, welche über 50% der Ortsfläche belegt.
Knifflig sind aber auch fixe Postfach-Plz, welche man bei einer Suche nicht berücksichtigen sollte.
Auch muss diese Liste stets aktualisiert werden, da die Gemeinden fusiniert werden und ie Post die Postkreise anpassen kann.
Wir zeigen bei Mehrfachnennungen eine kleine Combobox an mit allen beteiligten Orten. Will man das nicht, wird diejenige Ortschaft angezeigt, welche über 50% der Ortsfläche belegt.
Knifflig sind aber auch fixe Postfach-Plz, welche man bei einer Suche nicht berücksichtigen sollte.
Auch muss diese Liste stets aktualisiert werden, da die Gemeinden fusiniert werden und ie Post die Postkreise anpassen kann.
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Funktion, die bei Eingabe der PLZ den Wohnort liefert
eine "offizielle" Liste hätten wir uns auch gewünscht.
Als in D von 4 auf 5 umgestellt wurde, hat die EDV PLZ/Ort/Straße Infos gekauft, ist aber ewig her ... nach deiner Anregung hab ich nun bei uns nach sowas gesucht und siehe da:
https://www.suche-postleitzahl.org/downloads
Als in D von 4 auf 5 umgestellt wurde, hat die EDV PLZ/Ort/Straße Infos gekauft, ist aber ewig her ... nach deiner Anregung hab ich nun bei uns nach sowas gesucht und siehe da:
https://www.suche-postleitzahl.org/downloads
Gruß
Hubert
Hubert