본문 바로가기

Delphi

[Delphi] File Binary 관련 함수 interface uses SysUtils, ConvertHex; procedure PutHex(filepath: string; hexs: string; offset: integer); overload; Procedure PutHex(filepath: string; arr: byDynamicArr; offset: integer); overload; procedure InsertHex(filepath: string; hexs: string; offset: integer); overload; procedure InsertHex(filepath: string; arr: byDynamicArr; offset: integer); overload; procedure RemoveHex(filepath: string;.. 더보기
[Delphi] Ansi String <-> Hex <-> Byte Array 함수 interface uses SysUtils, Classes; type byDynamicArr = array of byte; function HexToByteArr(Hexs: string): byDynamicArr; function HexToStr(Hexs: byDynamicArr): string; function AnsiStrToHex(const str: string; Len: integer): string; overload; function AnsiStrToHex(const str: string): string; overload; function ByteArrToHex(Hexs: byDynamicArr): string; implementation function CharToByte(AChar: Char.. 더보기
[Delphi] 델파이 초보들에게 매우 도움되는 사이트 소개 델파이 함수 조사를 위해 구글링을 하다가 우연히 발견한 사이트입니다. http://www.delphibasics.co.uk/index.html 처음 델파이를 사용하는 분들께 매우 유용한 사이트입니다. 왠만한 함수들은 설명과 함께 예제들도 나와있습니다. 저 역시 유용하게 쓰고 있습니다. 이 사이트 덕분에 문자열 관련 함수를 많이 알게됐네요. 영어를 어느 정도 하면 필요한 정보는 대충 다 알아볼 수 있습니다. 이미 알고 계시는 분들도 많겠지만 모르는 분들께 소개하는 차원에서 글 올립니다. 더보기
[Delphi] Instr, Mid 함수는 어디에...? VB 언어를 쓰다가 Delphi 언어를 사용하다 보니 문자 관련 함수가 매우 햇갈리네요. 제가 자주 쓰던 Instr, Mid 함수를 직접 찾으려고 노력했지만 찾지 못했습니다...결국 검색을 해서 알아냈네요. Instr -> Pos 로, Mid -> Copy 로 대체가 가능하네요. Pos 함수 사용 방법은 var index : integer; index := Pos(찾을 문자열, 원본 문자열); Ex) var str : string; index : integer; str := 'abcd'; index := pos('c', str); // index := 3 Copy 함수 사용 방법은 string := copy(원본 문자열, 시작 위치, 읽어올 문자 개수); Ex) var str : string; temp .. 더보기
[Delphi] String -> Hex 로 변환 델파이 2010 에서는 기본 Character Set 이 유니코드로 지정되어 있어서, Ansi 의 Hex 로 변경하려면 단순히 inttohex(Ord(string)) 이런 식으로 하면 안되더라고요. 예를 들어 '조조' 를 Hex 로 변경하면 'C1 B6 C1 B6' 으로 변환되야 정상인데 다른 Hex로 변환되더라고요. 한참 검색해보다가 해결 방법을 찾았습니다. 바로 'AnsiString' 타입을 이용하는건데요. 이걸 이용해서 2010 에서도 Ansi 를 쓸 수 있다더군요. 그래서 이걸 이용해 함수를 하나 제작했습니다. function StrToAnsiHex(const str: string): string; var Index: integer; temp: ansistring; begin Result := '.. 더보기