2024. 7. 11. 22:23ㆍC#
안녕하세요. 진득코딩입니다. 이전 포스팅에서는 C# 기초를 바탕으로 간단한 계산기를 만들어보았습니다. 이번 시간에는 이전 포스팅에서 만든 계산기에 추가적인 기능을 구현해보도록 하겠습니다.
이번 시간에 추가할 기능입니다. 프로그램을 종료할 때 계산 내역을 파일로 저장하고, 프로그램이 로드 될 때 해당 파일을 새창에 입력하여 띄워주는 기능을 추가해보도록 하겠습니다.
해당 요구 사항을 세 가지로 구분해보았습니다. 먼저 프로그램 종료할 때 파일로 저장하기, 프로그램이 열릴 때 새창을 띄워서 계산 내역 호출하여 출력하기, 계산기 옆에 리스트 박스에서 봤던 내역을 볼 수 있는 listBox를 구현하겠습니다. 계산기 옆에 위치할 리스트 박스는 접었다 폈다 할 수 있도록 구현할 것이고 초기화 버튼도 추가할 예정입니다.
계산 내역 파일로 저장
프로그램을 종료하였을 때 자동으로 생성된 파일의 모습입니다. 경로도 path 변수를 통해서 지정해줄 수 있습니다. 해당 파일을 열어보면 여러 계산 내역들이 메모장에 저장된 것을 확인하실 수 있습니다.
함수를 간단하게 살펴보면 if문의 조건으로 File.Exists를 사용하여 파일의 존재 여부를 파악합니다. 파일이 존재한다면 File.AppendAllLines(filePath, historyList);를 사용하여 기존 파일에 추가해주고 파일이 없다면 File.WriteAllLines(filePath, historyList); 함수를 사용하여 새 파일을 생성하여 기록하도록 하였습니다.
프로그램 실행 시 새창 띄우기
InitializeComponent(); 밑에 메서드들을 적어주어 프로그램이 실행되자마자 먼저 실행되도록 코드를 작성하였습니다. 먼저 Path 변수를 사용하여 폴더 경로를 설정해주고 데이터가 있는 list를 Form2.cs로 넘겨줍니다.
그 이후 Form2.cs에서 foreach문을 사용하여 해당 textBox에 item을 하나하나 넣어줍니다. 해당 Form2.cs는 계산기를 실행할 때 한 번 나타나고 x를 누르게 되면 사라지게 됩니다.
계산기 화면에 모든 계산 내역 추가하기
계산기 오른쪽 상단에 있는 listBox를 보시면 전체 계산 내역을 보실 수 있습니다. 해당 화면은 위에 새창 띄우는 기능처럼 foreach문을 통해서 item들을 하나하나 넣는 방식으로 데이터를 전달하였습니다.
전체 내역 보기 textBox는 오른쪽 상단에 있는 X를 클릭하여 접을 수 있습니다. 화면을 접게 되면 나오게 되는 모든 기록 보기를 클릭하게 되면 다시 원래의 화면을 보실 수 있습니다.
초기화 버튼을 누르게 되면 모든 기록이 초기화되었다는 메세지와 함께 전체 계산 기록이 사라지게 됩니다. 불필요한 데이터가 쌓이거나 너무 많은 데이터가 쌓였을 때 유용하게 사용할 수 있습니다.
초기화 버튼 기능은 생각보다 굉장히 간단합니다. 파일을 초기화 하는 것은 File.WriteAllText에 string.Empty를 사용해주면 됩니다. list를 초기화 할 때에는 Clear(); 메서드를 사용하면 쉽게 리스트를 초기화하실 수 있습니다.
계산기에 이런 기능을 추가하여 응용할 수 있다는 점이 흥미로웠고 개발의 끝은 없다는 것을 느끼게 되었습니다. 계산기 프로그램이지만 프로그램을 종료하고 로드하는 이벤트에 로컬 환경에 파일을 저장했다가 불러오는 기능을 구현하게 되어서 인상깊고 흠미로웠습니다. 다만 여러 배열이나 리스트를 무분별하게 선언하다가 어떤 배열, 리스트가 어떤 역할을 하는지 놓치게 되는 경우가 더러 있어서 이런 점이 아쉬웠습니다. 이번 포스팅은 여기까지입니다. 끝까지 봐주셔서 감사합니다.😀
'C#' 카테고리의 다른 글
[C#] 오버 로딩과 오버 라이딩에 대해 알아보자 (0) | 2024.07.17 |
---|---|
[C#] 좀 더 심화된 C# 문법을 알아보자 (2) | 2024.07.16 |
[C#] C#으로 간단하게 계산기 만들어보기 (2) | 2024.07.11 |
[C#] 리스트 사용하는 방법 간단하게 살펴보기 (0) | 2024.07.10 |
[C#] 계산기를 만들기 위한 워밍업하기 (0) | 2024.07.08 |