본문 바로가기

Delphi Tip/문자7

한글 초/중/종성 알아내기 한글 초/중/종성 알아내기 type TCVJ = packed record //초성 중성 종성의 번호를 저장할 구조체 C :integer; V :integer; J :integer; end; const //유니코드 한글 초성 순서표 UniCodeC : array [0..18] of string = ('ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ', 'ㅆ','ㅇ','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'); //유니코드 한글 중성 순서표 UniCodeV : array [0..20] of string = ('ㅏ','ㅐ','ㅑ','ㅒ','ㅓ','ㅔ','ㅕ','ㅖ','ㅗ','ㅘ', 'ㅙ','ㅚ','ㅛ','ㅜ','ㅝ','ㅞ','ㅟ','ㅠ','ㅡ','ㅢ', 'ㅣ'); //유니코드 한글.. 2024. 2. 15.
델파이 UTF-8 델파이 UTF-8 UTF-8 UCS Transferation Format 의 약자로 Unicode를 위한 가변 길이 문자 인코딩 방식 중 하나이다. Unicode는 전 세계의 모든 문자를 표현하기 위한 표준을 제공하는 국제적인 문자 집합이다. UTF-8은 이러한 Unicode 문자를 바이트로 효과적으로 표현하는 방법 중 하나로, 많은 컴퓨터 시스템에서 표준으로 사용되고 있다. UTF-8 특징 가변 길이 인코딩: UTF-8은 각 문자를 1바이트부터 4바이트까지 가변 길이로 인코딩한다. 기본적으로 ASCII 문자는 1바이트로 인코딩되며, 이는 기존의 ASCII 문자 집합과의 하위 호환성을 제공한다. 다른 언어의 문자는 더 많은 바이트로 표현된다. ASCII 호환성: UTF-8은 ASCII 문자 집합과 완벽하.. 2023. 11. 15.
Case문으로 문자 비교하기 Case문으로 문자 비교하기 uses System.TypInfo type TSameText = (ChrMove, MapLoad, MapLoad2, FadeOut, FadeIn, SetNPC, NPCMove); .... implementation .... procedure TForm1.Button1Click(Sender: TObject); var strTemp : string; begin strTemp := 'FadeIn'; case GetEnumValue(TypeInfo(TSameText), strTemp) of 0: ShowMessage('0'); 1: ShowMessage('1'); 2: ShowMessage('2'); 3: ShowMessage('3'); 4: ShowMessage('4'); 5: .. 2023. 11. 8.
String 을 PAnsiChar 변환 String 을 PAnsiChar 변환 function StringToPAnsiChar(stringVar : string) : PAnsiChar; Var AnsString : AnsiString; InternalError : Boolean; begin InternalError := false; Result := ''; try if stringVar '' Then begin AnsString := AnsiString(StringVar); Result := PAnsiChar(PAnsiString(AnsString)); end; Except InternalError := true; end; if InternalError or (String(Result) stringVar) then begin Raise Exc.. 2021. 10. 14.
난수 문자열 만들기 난수 문자열 만들기 function RandomPassword(PLen: Integer): string; var str: string; begin Randomize; //string with all possible chars str := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; Result := ''; repeat Result := Result + str[Random(Length(str)) + 1]; until (Length(Result) = PLen) end; procedure TForm1.Button1Click(Sender: TObject); begin //generate a password with 10 chars label1.Caption.. 2021. 10. 13.
문자 사이에서 숫자 추출하기 문자 사이에서 숫자 추출하기 [문자사이에서 숫자 추출하기] function ExtractInt(Astring:String):String; var i : integer; TempString:String; begin TempString := ''; Astring := Trim(Astring); if Astring '' then for i := 1 to Length(Astring) do if (Astring[I] in ['0'..'9']) then TempString := TempString+AStrig[I]; Result := Trim(TempString); end; {숫자 사이에서 문자 추출하기} function ExtractString(Astring:String):String; var i : intege.. 2021. 10. 12.
문자열에서 특정 단어가 몇번 들어갔는지 체크하는 함수 문자열에서 특정 단어가 몇번 들어갔는지 체크하는 함수 uses strutils; function countword(const source, wordstr : string; index : integer = 1):integer; var i, lensource : integer; begin result := 0; lensource := length(source); i := index; // 일정 인덱스 이후의 문자를 검색. while i0 then inc(result) else break; inc(i); end; end; 2021. 10. 11.