Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
Archives
- Today
- Total
기록
[VCL] 파일을 선택해서 읽어오기 본문
시작하면서
이 포스팅에서는 C++ Builder를 사용하여 파일을 읽고 그 내용을 화면에 표시하는 기능을 구현하는 예제를 소개합니다. 간단한 사용자 인터페이스(UI)를 설정하고, 파일을 선택하고 읽을 수 있는 버튼을 추가하여 사용자가 쉽게 파일 내용을 확인할 수 있도록 합니다.
Source
- UI 설정
(1) TEdit을 하나 만들고, EdtFilePath로 name을 지정한다.
(2) TButton을 하나 만들고, BtnOpenFile로 name을 지정한다.
(3) TButton을 하나 만들고, BtnRead로 name을 지정한다.
(4) TMemo를 하나 만들고, MmResult로 지정한다. - Open file
BtnOpenFile 버튼을 더블클릭하여 이벤트 함수를 작성합니다.
void __fastcall TFormMain::BtnOpenFileClick(TObject *Sender)
{
TOpenDialog *OpenDialog = new TOpenDialog(this);
OpenDialog->Filter = "INI Files (*.ini)|*.ini|All Files (*.*)|*.*";
OpenDialog->Title = "Open a File";
if (OpenDialog->Execute())
{
EdtFilePath->Text = OpenDialog->FileName;
}
delete OpenDialog;
}
- Read file
BtnRead 버튼을 더블클릭하여 이벤트 함수를 작성합니다.
void __fastcall TFormMain::BtnReadClick(TObject *Sender)
{
if (EdtFilePath->Text.IsEmpty())
{
ShowMessage("파일 경로가 비어 있습니다.");
return;
}
TStringList *FileContent = new TStringList();
try
{
FileContent->LoadFromFile(EdtFilePath->Text);
MmResult->Lines->Assign(FileContent);
}
catch (const Exception &e)
{
ShowMessage("파일을 읽는 데 오류가 발생했습니다: " + e.Message);
}
delete FileContent;
}
마무리하면서
(1) 결과
(2) TMemo vs TLabel vs TEdit vs TStaticText
C++ Builder에서 사용되는 다양한 컴포넌트는 각기 다른 용도로 설계되어 있습니다. TMemo는 여러 줄의 텍스트를 입력하거나 표시할 수 있는 컴포넌트로, 사용자가 내용을 수정할 수 있으며 스크롤이 가능하다는 특징이 있습니다. 반면, TLabel은 단순한 텍스트를 표시하는 용도로 사용되며, 사용자가 수정할 수 없는 고정된 텍스트를 제공합니다. TEdit는 한 줄의 텍스트를 입력받을 수 있는 컴포넌트로, 사용자가 직접 내용을 수정할 수 있습니다. 마지막으로, TStaticText는 고정된 텍스트를 표시하는 컴포넌트로, 주로 사용자에게 정보를 제공할 때 사용됩니다.
(3) TMemo의 ScrollBars 속성
또한, TMemo의 ScrollBars 속성은 스크롤바의 표시 여부를 결정합니다. 이 속성은 ssNone, ssHorizontal, ssVertical, ssBoth와 같은 다양한 값을 가질 수 있습니다. 적절한 스크롤바 설정을 통해 TMemo의 내용을 쉽게 탐색할 수 있으며, 사용자 경험을 개선하는 데 도움을 줄 수 있습니다.
- ssNone: 스크롤바가 표시되지 않습니다.
- ssHorizontal: 수평 스크롤바만 표시됩니다.
- ssVertical: 수직 스크롤바만 표시됩니다.
- ssBoth: 수평 및 수직 스크롤바가 모두 표시됩니다.
'Desktop' 카테고리의 다른 글
[VCL] INI 파일 다루기: 파일 쓰기(2) - Dialog로 폴더 경로 가져오기 (0) | 2025.01.27 |
---|---|
[VCL] INI 파일 다루기 : 파일 쓰기(1) (0) | 2025.01.20 |
[VCL] Hello world 어플리케이션 만들기 (0) | 2025.01.06 |
[VCL] TIP/RAD Studio에서 Editor Encoding 변경 (0) | 2024.10.21 |
[VCL] TIP/A component class named <name> already exists (0) | 2024.10.11 |
Comments