Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
Delphi 12 Athens
|
AW: TAPI - lineMakeCall - Format der Telefonnummer
5. Jun 2013, 08:23
Statt der ganzen StringReplace-Aufrufe sollte man vielleicht einfach alles herausfiltern, was keine Ziffer ist. Nicht großartig getestet:
Delphi-Quellcode:
function FilteredNumbers( const NumberStr: string): string;
const
NUMBERS = [' 0'..' 9'];
var
PSrc, PDest, PCurrent: PChar;
begin
SetLength(Result, Length(NumberStr));
PSrc := PChar(NumberStr);
PDest := PChar(Result);
PCurrent := PDest;
while PSrc^ <> #0 do
begin
{$IFDEF UNICODE}
if CharInSet(PSrc^, NUMBERS) then
{$ELSE}
if PSrc^ in NUMBERS then
{$ENDIF}
begin
PCurrent^ := PSrc^;
PCurrent := CharNext(PCurrent);
end;
PSrc := CharNext(PSrc);
end;
SetString(Result, PDest, PCurrent - PDest);
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|