Einzelnen Beitrag anzeigen

Benutzerbild von TKC
TKC

Registriert seit: 21. Apr 2004
Ort: Tuningen
367 Beiträge
 
Delphi XE2 Enterprise
 
#1

Telefonnummer in Bestandteile zerlegen

  Alt 12. Okt 2006, 10:27
Hallo,

ich baue gerade ein kleines Anrufer Log.

Ich bekomme jetzt die Telefonnummern von meiner Telefonanlage und will die Nummern in ihre Bestandteile,
wie Länderkennung,Vorwahl,Rufnummer, zerlegen.

Ich habe eine Tabelle mit den entsprechenden Vorwahlen und arbeite mit Locate um z.b. den Ort zu bekommen.

Bisher mache ich das so...

Delphi-Quellcode:
        // Ort Finden
        if StrLeft(qryAnrufe.FieldByName('telnummer').AsString, 1) = '0then
          begin
            sVw := StrLeft(qryAnrufe.FieldByName('telnummer').AsString, 6);
            if tblVorwahlen.Locate('vorwahl', sVw, []) then
              li.Captions[4] := tblVorwahlen.FieldByName('ort').AsString
            else
              begin
                sVw := StrLeft(qryAnrufe.FieldByName('telnummer').AsString, 5);
                if tblVorwahlen.Locate('vorwahl', sVw, []) then
                  li.Captions[4] := tblVorwahlen.FieldByName('ort').AsString
                else
                  begin
                    sVw := StrLeft(qryAnrufe.FieldByName('telnummer').AsString, 4);
                    if tblVorwahlen.Locate('vorwahl', sVw, []) then
                      li.Captions[4] := tblVorwahlen.FieldByName('ort').AsString
                    else
                      begin
                        sVw := StrLeft(qryAnrufe.FieldByName('telnummer').AsString, 3);
                        if tblVorwahlen.Locate('vorwahl', sVw, []) then
                          li.Captions[4] := tblVorwahlen.FieldByName('ort').AsString
                      end;
                  end;
              end;
          end;
Aber irgendwie gefällt mir diese Lösung nicht besonders. Habt ihr evtl. nen besseren Ansatz für mich ?
  Mit Zitat antworten Zitat