728x90
안녕하세요, 일마레입니다.
오늘은 전화번호에 바 넣는 함수를 알려드리려고 하는데요.
프로그램을 개발하고 운영하다 보면 고객사에서
전화번호를 입력하는 경우가 많이 생기죠!
"숫자만 입력하고 바는 자동으로 넣어주면 안되는지...?"
라는 문의를 많이도 받아봤어요.
그래서 입력하면서 자동으로 바를 입력해주는
함수를 만들어 보았습니다.
function PrintPhone(const asSource:String):String;
var
lsTmpStr:String;
liLength:Integer;
begin
try
lsTmpStr := asSource;
lsTmpStr := StringReplace(lsTmpStr, '-', '', [rfReplaceAll]);
liLength := length(lsTmpStr);
case length(lsTmpStr) of
1..4:
begin
Result := lsTmpStr;
end;
5..8:
begin
Result := Copy(lsTmpStr, 1, liLength-4)+'-'+Copy(lsTmpStr, liLength-3, 4);
end;
9..10:
begin
if(Copy(lsTmpStr, 1,2) = '02') then
begin
Result := '02-'+Copy(lsTmpStr, 3, liLength-6)+'-'+Copy(lsTmpStr, liLength-3, 4);
end else
begin
Result := Copy(lsTmpStr, 1, liLength-7)+'-'+Copy(lsTmpStr, liLength-6, 3)+'-'+Copy(lsTmpStr, liLength-3, 4);
end;
end;
11..20:
begin
Result := Copy(lsTmpStr, 1, liLength-8)+'-'+Copy(lsTmpStr, liLength-7, 4)+'-'+Copy(lsTmpStr, liLength-3, 4);
end;
else
begin
Result := lsTmpStr;
end;
end;
except
Result := '';
end;
end;
사용방법은 EditBox의 onChange를 사용하시면 됩니다!
procedure TForm.editChange(Sender: TObject);
begin
TEdit(Sender).Text := PrintPhone(TEdit(Sender).Text);
TEdit(Sender).SelStart := Length(TEdit(Sender).Text);
end;
도움이 되었기를 바랍니다.
좋은 하루 보내세요 ^-^
728x90
LIST
'델파이' 카테고리의 다른 글
델파이/delphi] TMSNPopup 사용하기 (0) | 2024.07.22 |
---|---|
델파이/delphi] 프로세스 종료하기 (0) | 2024.07.19 |
델파이/delphi ] 프로그램 Log 삭제 방법 (0) | 2024.07.17 |
델파이/Delphi] PING 테스트 (0) | 2024.07.15 |
델파이/Delphi] 프로그램 로그(LOG) 생성 방법 (0) | 2024.07.12 |