Fax & Telefon Ländervorwahlen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Fax & Telefon Ländervorwahlen

Beitrag von X360 Andy »

Hallo,


hier ein kleiner Code der sich leicht erweitern lässt um Ländervorwahlen an FAX & Telefon Nummer zu ergänzen.

Gerne könnt ihr das ganze erweitern...

Code: Alles auswählen

Procedure.s System_MakeLand(Land$)
  
  Select LCase(Land$)
      ; Deutschland
    Case "ger", "de", "deutschland", "d", "deu", "germany"
      ProcedureReturn "D"
      
      ; Österreich
    Case "austria", "österreich", "östereich", "au", "a"
      ProcedureReturn "A"
      
      ;Schweiz
    Case "schweiz", "swiss", "ch", "c"
      ProcedureReturn "C"
      
      ; Case "holland", "niederland", "niederlande", "nl", "nederland", "n"
      ;  ProcedureReturn "N"
      
  EndSelect
  
EndProcedure

Procedure.s System_MakeVorwahl(PFNummer$, Land$, Trennzeichen$ = "-")
  If FindString(PFNummer$, "+", 0) Or FindString(PFNummer$, "00", 0)
    ProcedureReturn PFNummer$
  EndIf
  
  Select System_MakeLand(Land$)
    Case "D"
      ProcedureReturn "+49" + Trennzeichen$ + PFNummer$
    Case "A"
      ProcedureReturn "+43" + Trennzeichen$ + PFNummer$
    Case "C"
      ProcedureReturn "+41" + Trennzeichen$ + PFNummer$
  EndSelect
  
  ProcedureReturn PFNummer$
  
EndProcedure

Debug System_MakeVorwahl("012345-6789", "DE")
Debug System_MakeVorwahl("012345-6789", "Österreich")
Debug System_MakeVorwahl("012345/6789", "Germany","/")
Debug System_MakeVorwahl("012345-6789", "D")
Debug System_MakeVorwahl("+49-012345-6789", "Deutschland")
Debug System_MakeVorwahl("+49-012345-6789", "Schweiz") ; Nummer bleibt bestehen auch wenn es sich um eine bereits Deutsche Vorwahl handelt

Zuletzt geändert von X360 Andy am 26.09.2010 10:38, insgesamt 1-mal geändert.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Fax & Telefon Ländervorwahlen

Beitrag von TomS »

MakeLand, MakeVorwahl.
Schönes Denglisch xD

Wozu eine pre-Prozedur?
Du kannst doch in der MakeVorwahl direkt schreiben:

Code: Alles auswählen

Case "Deutschland", "de", "germany" ;...
Man kann sich zwar streiten, ob etwas veraltet ist, aber 0049 ist auch eine gültige Vorwahl und sollte auch überprüft werden.
Desweiteren wären Optionen zur Ausgabe noch ganz nett. Vor allem Leerzeichen anstatt "-" oder gar nichts.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: Fax & Telefon Ländervorwahlen

Beitrag von X360 Andy »

Die PreProcedure hat 2 Vorteile

- Übersichtlicher
- Man kann sie anderweitig verwenden ( z. B. um das Land ( DE -> D ) zu ändern )

Hab deine "Wünsche" mal eingebaut und das mit dem Case´s verbessert ( wusste ich nicht, danke )

Ob die Prüfung für "00" reicht weiß ich nicht, vielleicht gibt es ja ja Vorwahlen die mit 00 anfangen....
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Fax & Telefon Ländervorwahlen

Beitrag von bobobo »

Die 00 ist zumindest in Schland und auch sonst üblicherweise VAZ (Verkehrsausscheidungsziffer) bis auf ein paar Ausnahmen natürlich,
damit es nicht zu einfach wird.
Liese vielleicht mal http://de.wikipedia.org/wiki/Telefonvor ... utschland) und http://de.wikipedia.org/wiki/Telefonvorwahl und weiterführende Artikel
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Fax & Telefon Ländervorwahlen

Beitrag von TomS »

Schön, dass sich die Wiki-Seiten widersprechen /:->
Beim einen steht +49 als internationale Vorwahl. International heißt für mich weltweit.

Hier steht, dass aus 0049 eigentlich nur in Europa funktioniert und 00 mit einem länderspezifischn Code ersetzt werden muss, wenn man z.B. in Amerika ist.

Die Frage ist jetzt ob das + in +49 automatisch vom Ortsansässigen Telefondienst ersetzt wird.
Wenn ja, dann kannst du 0049 gleich wieder vergessen, weil es dann in der Tat mehr oder weniger nutzlos bzw. veraltet ist. Afair wird die noch genutzt, weil ältere Handys und ganz alte Telefone natürlich keine Plus-Taste haben, bzw die Handysoftware damit nicht umgehen konnte, oder so.

@X360 Andy: Ok. Im sinne von 'OOP' und wiederverwendbarer Code macht das bedingt Sinn, aber wann brauchst du schonmal einen einzigen Buchstaben als Länderkennung.

Dann würde ich für den Telefon-Vorwahl-Zweck lieber auf Konstanten setzen.
#CCode_DE

Den Zweck von deinem Code sehe ich eigtl nur darin, dass man ein ComboBoxGadget erstellt und dann GetGadgetText() direkt an deine Prozedur übergeben kann.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Fax & Telefon Ländervorwahlen

Beitrag von ts-soft »

TomS hat geschrieben:weil ältere Handys und ganz alte Telefone natürlich keine Plus-Taste haben,
Ich hab noch kein Telefon gesehen, das eine + Taste hat. 1 - 0, sowie * und # sind die normallen Wähltasten.
Alles andere sind Telefonfunktionen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Fax & Telefon Ländervorwahlen

Beitrag von TomS »

Ja richtig. :oops: Lange kein normales Telefon in der Hand gehabt xD
Antworten