10진수는 그냥 숫자를 쓰면되고 -> 13
16진수 앞에는 $를 붙이고 -> $D 은 10진수 13과 같다
#을 붙이면 10진수 아스키코드에 해당하는 문자 를 의미한다. -> #13 은 CR 문자, #$D도 CR문자
그리고 0x는 C,C++에서 16진수를 의미하는데 파스칼(델파이)의 $와 같다.
그런데 신기하게 델파이에서 $ 대신 0x를 사용해도 정상적이다.
//16진수를 10진수로 변환하려면 i가 10진수일때
i := StrToIntdef('$' +edit1.text, 0);
//16진수로 변환 4는 4자리를 의미 부족한 것은 앞에 0을 채운다
edit2.Text := IntToHex(strtoint(edit1.text),4);
// 10진수 100의 자리의 값
edit2.Text := IntToStr(strtoint(edit1.text) div 100 *100 );
//아스키코드(문자)
System.Chr함수 : 숫자에 해당하는 아스키문자 리턴
Chr(X: Byte): Char
예) edit1.text := Chr(1);
System.Ord 함수 : 문자에 해당하는 10진수 아스키코드 리턴 (Ord대신 Byte, Integer를 써도 된다)
Ord(C:Char): byte;
예) edit2.text := inttostr(Ord(edit1.text[1])); //text가 스트링이므로
다음도 같다
edit2.text := inttostr(Byte(edit1.text[1]));
예) #13은 아스키코드 13번 CR 문자이고 #10은 아스키코드 10번 LF 문자이다.
#13 은 #$D 와 같고 또한 chr(13), chr($D) 도 같다.#10 은 #$A 와 같고 또한 chr(10), chr($A) 도 같다.
//다음 문자열은 모두 같은 결과를 나타낸다.
t_str1 := '1줄' + #13#10 + '2줄';
t_str2 := '1줄' + chr(13)+char(10) + '2줄';
t_str3 := '1줄' + chr($D)+char($A) + '2줄';
// 점 모양으로 문장 시작 부분을 장식할 때 한글 'ㅁ' 누르고 "한자" 키 누르면 나타나는 점모양 '●' 는 161 확장 아스키코드인듯
그리고 사용하기 좋은 조금 작은 점 ''은 아스키 코드 7번
아래는 확인용 소스
var s: string;
begin
s := '●';
Edit1.text := inttostr(ord(s[1])) + ': ' + s + ' ' + inttostr(Ord('')) + ': ' + ''; // --> 161: ● 7:
end;
//입력된 key의 아스키코드 찾기 예제 ( #3:Ctrl+C #22:Ctrl+V #24:Ctrl+X #19:Ctrl+S)
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Edit2.Text := inttostr(ord(key));
end;
* 지정된 문자열을 지정한 횟수만큼 복사해서 돌려주는 함수 DupeString(const AText: string; ACount: Integer): string;
S1:= 'Delphi ';
S2:= DupeString(S1, 3); // Delphi Delphi Delphi
ShowMessage(S2);
*특정 문자를 지정한 횟수만큼 반복한 문자열을 돌려주는 함수 StringOfChar
S:= StringOfChar('0', 7);는 '0000000'를 의미한다.
'델파이' 카테고리의 다른 글
Panel(판넬) 위에 움직이는 텍스트 (0) | 2011.01.31 |
---|---|
FindWindow 윈도우핸들, 윈도우 종료, 프로세스ID 구하기 (0) | 2011.01.23 |
ComPort설정 (0) | 2011.01.06 |
리스트박스(ListBox) 아이템(Item) 위, 아래로 이동 시키기 (0) | 2010.12.31 |
idHttp 403 Forbidden 에러 원인 (0) | 2010.12.02 |