sysutils22 IncludeTrailingPathDelimiter로 경로 끝 관리하기 IncludeTrailingPathDelimiter로 경로 끝 관리하기 파일 경로나 폴더를 조합할 때 슬래시(\) 누락으로 인해 경로가 잘못 처리되는 경우가 많습니다. IncludeTrailingPathDelimiter 함수는 경로 문자열 끝에 구분자가 없으면 자동으로 추가해 주므로, 경로 연결 시 안전하게 사용할 수 있습니다. uses System.SysUtils; procedure BuildFilePath; var BaseDir, FileName, FullPath: string; begin BaseDir := 'C:\MyApp\Data'; FileName := 'report.txt'; // 구분자가 없으면 '\'를 추가 FullPath := IncludeTrailing.. 2025. 6. 25. ExtractFilePath와 ExtractFileName으로 파일 경로 쉽게 분리하기 ExtractFilePath와 ExtractFileName으로 파일 경로 쉽게 분리하기델파이에서 파일 전체 경로를 다룰 때 ExtractFilePath와 ExtractFileName을 사용하면 파일의 경로와 이름을 손쉽게 분리할 수 있습니다. 로그, 설정 파일 저장, 파일 이름 변경 등 파일 처리 로직에서 자주 사용됩니다. uses System.SysUtils; procedure SplitFilePath; var FullPath, PathOnly, FileOnly: string; begin FullPath := 'C:\Projects\MyApp\config.ini'; PathOnly := ExtractFilePath(FullPath); FileOnly := ExtractFileNam.. 2025. 6. 6. FormatFloat으로 숫자 형식을 자유롭게 지정하기 FormatFloat으로 숫자 형식을 자유롭게 지정하기델파이에서는 FormatFloat 함수를 사용하여 실수나 숫자를 원하는 형식으로 문자열로 변환할 수 있습니다. 통화 표시, 자리수 지정, 천 단위 쉼표 삽입 등 다양한 출력 포맷을 손쉽게 제어할 수 있습니다. uses System.SysUtils; procedure FormatNumbers; var Value: Double; begin Value := 1234567.89; ShowMessage('통화 형식: ' + FormatFloat('#,##0.00', Value)); ShowMessage('소수점 제거: ' + FormatFloat('#,##0', Value)); ShowMessage('고정 소수점 4자리: ' + Fo.. 2025. 5. 30. ParamStr와 ParamCount를 이용한 명령줄 인자 처리 ParamStr와 ParamCount를 이용한 명령줄 인자 처리델파이 애플리케이션에서 외부 명령줄 인자를 받아야 할 경우 ParamCount와 ParamStr를 사용하면 간단히 해결할 수 있습니다. 자동화 처리, 스크립트 실행, 배치 명령 연동 등에 널리 활용됩니다. uses System.SysUtils; procedure ProcessCommandLine; var I: Integer; begin if ParamCount = 0 then ShowMessage('입력된 명령 인자가 없습니다.') else for I := 1 to ParamCount do ShowMessage(Format('인자 %d: %s', [I, ParamStr(I)])); end; Param.. 2025. 5. 27. CreateDir와 ForceDirectories의 차이 이해하기 CreateDir와 ForceDirectories의 차이 이해하기 폴더를 생성할 때 CreateDir는 단일 디렉터리만 만들 수 있는 반면, ForceDirectories는 존재하지 않는 중간 경로까지 포함하여 전체 폴더 구조를 한 번에 생성해줍니다. 상황에 따라 올바른 함수를 선택하는 것이 중요합니다. uses System.SysUtils; procedure CreateDirectoryDemo; var SimplePath, NestedPath: string; begin SimplePath := 'C:\Temp\Logs'; NestedPath := 'C:\Temp\Logs\2025\05\26'; if CreateDir(SimplePath) then ShowMessage('단.. 2025. 5. 26. VarToStr를 이용한 안전한 Variant → 문자열 변환 VarToStr를 이용한 안전한 Variant → 문자열 변환 델파이에서 Variant 타입은 다양한 형식을 담을 수 있어 유연하지만, 직접 문자열로 변환할 경우 오류가 발생할 수 있습니다. 이럴 때 VarToStr 함수를 사용하면 어떤 값이든 안정적으로 문자열로 바꿀 수 있습니다. 특히 DB에서 불러온 값 처리에 유용합니다. uses System.Variants, System.SysUtils; procedure ConvertVariantToString; var V: Variant; S: string; begin V := Null; S := VarToStr(V); // 결과: 빈 문자열 '' ShowMessage('변환 결과: [' + S + ']'); V := 123; .. 2025. 5. 23. Inc와 Dec를 사용한 간단한 정수 증감 처리 Inc와 Dec를 사용한 간단한 정수 증감 처리 델파이에서 정수 값을 증가시키거나 감소시킬 때 Inc와 Dec 프로시저를 사용하면 코드가 간결해지고 가독성도 좋아집니다. 연산자를 직접 사용하는 것보다 의도가 명확하게 드러나는 장점이 있습니다. procedure CountExample; var Counter: Integer; begin Counter := 10; Inc(Counter); // 1 증가 → 11 Inc(Counter, 5); // 5 증가 → 16 Dec(Counter, 3); // 3 감소 → 13 ShowMessage('현재 값: ' + IntToStr(Counter)); end; Inc(변수) → 1 증가 Inc(변수, 값) → 해당 값만큼 증가.. 2025. 5. 19. StringReplace로 문자열 다중 치환 처리하기 StringReplace로 문자열 다중 치환 처리하기 델파이의 StringReplace 함수는 문자열 내 특정 텍스트를 다른 텍스트로 교체할 수 있는 강력한 기능입니다. 반복적 치환이나 대소문자 무시 기능까지 지원해 다양한 텍스트 변환 작업에 적합합니다. uses System.SysUtils; procedure ReplaceTextDemo; var Original, Modified: string; begin Original := 'Delphi는 정말 좋은 Delphi 개발 도구입니다.'; Modified := StringReplace(Original, 'Delphi', 'Object Pascal', [rfReplaceAll, rfIgnoreCase]); ShowMessage(Mod.. 2025. 5. 16. Now와 DateToStr, TimeToStr로 현재 날짜와 시간 구분 출력하기 Now와 DateToStr, TimeToStr로 현재 날짜와 시간 구분 출력하기델파이에서는 Now를 통해 현재 시스템의 날짜와 시간을 동시에 얻을 수 있습니다. 이 값을 DateToStr 또는 TimeToStr 함수와 함께 사용하면 날짜와 시간을 분리하여 명확하게 출력할 수 있습니다. uses System.SysUtils; procedure ShowCurrentDateTime; var Today: string; CurrentTime: string; begin Today := DateToStr(Now); CurrentTime := TimeToStr(Now); ShowMessage('오늘 날짜: ' + Today); // 예: 2025-05-15 ShowMessa.. 2025. 5. 15. TryStrToInt를 이용한 안전한 문자열 → 정수 변환 TryStrToInt를 이용한 안전한 문자열 → 정수 변환 델파이에서 문자열을 정수로 변환할 때 StrToInt를 사용하면 변환 실패 시 예외가 발생합니다. 반면, TryStrToInt는 예외 없이 실패 여부를 확인하며 변환 결과를 안전하게 처리할 수 있어 사용자 입력 검증에 매우 유용합니다. uses System.SysUtils; procedure TryStrToIntExample; var Input: string; Number: Integer; begin Input := '1234'; if TryStrToInt(Input, Number) then ShowMessage('변환된 숫자: ' + IntToStr(Number)) else ShowMessage('유효.. 2025. 5. 13. FreeAndNil을 사용한 메모리 해제와 포인터 초기화 FreeAndNil을 사용한 메모리 해제와 포인터 초기화 델파이에서 객체를 메모리에서 해제한 뒤 포인터를 nil로 초기화하지 않으면, 이후 해당 포인터를 접근하려 할 때 오류(Access Violation)가 발생할 수 있습니다. FreeAndNil은 이 두 과정을 한 번에 처리해주는 안전한 도구입니다. uses System.SysUtils; procedure FreeAndNilExample; var Obj: TStringList; begin Obj := TStringList.Create; try Obj.Add('Delphi is powerful!'); finally FreeAndNil(Obj); // 메모리 해제 + 포인터 nil 처리 end; if Obj .. 2025. 5. 1. Pos 함수를 활용한 문자열 내 위치 검색 Pos 함수를 활용한 문자열 내 위치 검색 델파이의 Pos 함수는 특정 문자열이 다른 문자열 내 어디에 위치하는지를 알려주는 함수입니다. 검색 기능, 유효성 검사, 문자열 파싱 등 다양한 곳에서 활용할 수 있습니다. uses System.SysUtils; procedure PosExample; var Text, SubStr: string; Index: Integer; begin Text := 'Welcome to the Delphi world!'; SubStr := 'Delphi'; Index := Pos(SubStr, Text); ShowMessage('위치: ' + IntToStr(Index)); // 결과: 16 end; 실행 결과: "위치: 16" ('Delphi'.. 2025. 4. 30. Length를 이용한 배열과 문자열 길이 확인 Length를 이용한 배열과 문자열 길이 확인 델파이에서는 Length 함수를 사용해 배열의 크기나 문자열의 길이를 쉽게 구할 수 있습니다. 이는 반복문 작성, 데이터 유효성 검사, 문자열 처리 등에 매우 기본적이면서 중요한 역할을 합니다. uses System.SysUtils; procedure LengthExample; var SampleText: string; Numbers: array of Integer; begin SampleText := 'Hello Delphi!'; ShowMessage('문자열 길이: ' + IntToStr(Length(SampleText))); // 결과: 13 SetLength(Numbers, 5); ShowMessage('배열 크기: ' +.. 2025. 4. 29. Copy 함수를 사용한 문자열 일부 추출 Copy 함수를 사용한 문자열 일부 추출 델파이에서 문자열의 일부분을 추출할 때 Copy 함수를 사용하면 매우 쉽고 빠르게 원하는 부분을 잘라낼 수 있습니다. 텍스트 처리, 데이터 분석, 포맷 변환 등 다양한 상황에서 유용하게 활용됩니다. uses System.SysUtils; procedure CopyExample; var OriginalText, ExtractedText: string; begin OriginalText := 'Welcome to Delphi World!'; ExtractedText := Copy(OriginalText, 12, 6); // 12번째 문자부터 6글자 추출 ShowMessage('추출된 텍스트: ' + ExtractedText); end; Copy.. 2025. 4. 28. QuotedStr를 사용한 안전한 문자열 포장 QuotedStr를 사용한 안전한 문자열 포장 SQL 쿼리나 JSON 문자열 생성 시 문자열을 따옴표로 감싸야 할 경우가 자주 있습니다. 이때 QuotedStr 함수를 사용하면 자동으로 작은따옴표(')를 감싸고 내부에 있는 따옴표도 이스케이프 처리해줍니다. uses System.SysUtils; procedure QuotedStrExample; var UserInput, SQL: string; begin UserInput := 'O''Reilly'; SQL := 'SELECT * FROM Users WHERE Name = ' + QuotedStr(UserInput); ShowMessage(SQL); end; "SELECT * FROM Users WHERE Name = 'O''Rei.. 2025. 4. 23. SameText를 활용한 대소문자 구분 없는 문자열 비교 SameText를 활용한 대소문자 구분 없는 문자열 비교 문자열 비교 시 대소문자를 구분하지 않고 비교하고 싶다면 SameText 함수를 사용하면 됩니다. = 연산자보다 더 명확하고 안정적으로 조건을 처리할 수 있어 사용자 입력 비교 등에 매우 유용합니다. uses System.SysUtils; procedure CompareTextDemo; var Input1, Input2: string; begin Input1 := 'Delphi'; Input2 := 'delphi'; if SameText(Input1, Input2) then ShowMessage('같은 문자열입니다.') else ShowMessage('다른 문자열입니다.'); end; SameText(A, .. 2025. 4. 22. IncludeTrailingPathDelimiter로 경로 끝에 슬래시 추가하기 IncludeTrailingPathDelimiter로 경로 끝에 슬래시 추가하기 파일 또는 폴더 경로를 조합할 때 슬래시(\) 누락으로 인해 문제가 생기는 경우가 많습니다. 델파이의 IncludeTrailingPathDelimiter 함수는 경로 끝에 슬래시가 없으면 자동으로 추가해줘 경로 연결 시 안전하게 사용할 수 있습니다. uses System.SysUtils; procedure JoinFolderPath; var BasePath, FullPath: string; begin BasePath := 'C:\MyApp\Data'; FullPath := IncludeTrailingPathDelimiter(BasePath) + 'Backup.txt'; ShowMessage('전체 경로.. 2025. 4. 18. Trim, TrimLeft, TrimRight로 공백 제거하기 Trim, TrimLeft, TrimRight로 공백 제거하기사용자 입력, 파일 처리, 문자열 비교를 할 때 앞뒤 공백이 문제를 일으킬 수 있습니다. 델파이에서는 Trim 관련 함수를 통해 문자열의 공백을 손쉽게 제거할 수 있어 데이터 정제에 매우 유용합니다. uses System.SysUtils; procedure TrimExample; var RawText, CleanedText: string; begin RawText := ' Hello Delphi! '; CleanedText := Trim(RawText); ShowMessage('[' + CleanedText + ']'); // 결과: [Hello Delphi!] end; Trim: 문자열 양쪽 끝 공백 제거 Tr.. 2025. 4. 17. ChangeFileExt를 사용한 파일 확장자 변경하기 ChangeFileExt를 사용한 파일 확장자 변경하기 ChangeFileExt 함수는 파일 경로의 확장자를 쉽게 변경할 수 있게 해주는 유틸리티입니다. 예를 들어 .txt 파일을 .bak 파일로 바꾸거나, 특정 작업 후 저장 포맷을 바꿔야 할 때 매우 유용합니다. uses System.SysUtils; procedure ChangeExtensionDemo; var OriginalFile, NewFile: string; begin OriginalFile := 'C:\Backup\data.txt'; NewFile := ChangeFileExt(OriginalFile, '.bak'); ShowMessage('변경된 파일명: ' + NewFile); end; 기존 경로에서 확장자만 바.. 2025. 4. 16. ExtractFileExt를 사용한 파일 확장자 추출 ExtractFileExt를 사용한 파일 확장자 추출 파일 경로에서 확장자를 따로 분리하고 싶을 때는 ExtractFileExt 함수를 사용하면 매우 간단합니다. 파일 유형 판단이나 확장자 필터링, 조건 분기 등에 자주 쓰입니다. uses System.SysUtils; procedure ShowFileExtension; var FilePath, Extension: string; begin FilePath := 'C:\Users\Documents\report.pdf'; Extension := ExtractFileExt(FilePath); // ".pdf" ShowMessage('확장자: ' + Extension); end; ExtractFileExt는 경로에서 확장자만 추출함 (점 .. 2025. 4. 15. 이전 1 2 다음