초급자를 위한 파일 입출력 실무

 이번 강좌에서는 이진파일(Binary File)의 예제를 하나 소개할까 합니다


#1강에서도 설명을 드렸다시피 이진파일은 라인단위가 아닌 블럭단위로 입출력을 하게 됩니다


또한 읽거나 쓴만큼 자동으로 다음 위치를 가리키게 됩니다


1. 프로그램을 실행 시키면 아래와 같은 화면이 보이게 됩니다


   여기서 <파일 생성> 버튼을 누르게 되면 현재 위치에 1024바이트의 NEW.BIN 파일이 만들어 지며


   파일은 모두 “X”로 채워지게 됩니다


   또한 100 번째 위치에 있는 값을 읽어와서 출력을 해보고 100 번째 있는 값을 공백문자(” “)로 바꾸어 보겠습니다


사용자 삽입 이미지


Option Explicit


——————————————————————————————–


<프로그램 종료> 버튼을 눌렀을때 실행됩니다


Private Sub cmd종료_Click()


    End


End Sub

——————————————————————————————–


<파일 생성> 버튼을 누르면 실행이 됩니다


Private Sub cmd파일생성_Click()


    Dim i%


    Dim ReadByte As Byte

    현재 경로에서 NET.BIN 파일을 이진형태로 엽니다. 또한 없으면 자동으로 생성이 됩니다


    Open App.Path & “\NEW.BIN” For Binary As #1

    For i = 1 To 1024                   1024 개를 파일에 저장합니다


        Put #1, , “X”              파일의 현재 위치에 “X”를 저장합니다. 두번째 값을 생략한 이유는… 파일을 처음 열면 자동으로


                                              1을 가리키기 때문


    Next i                                  아래에 있는 [그림-1]을 보시면 실제 파일에 어떻게 들어가 있는지 확인을 할 수 있습니다


   


    Get #1, 100, ReadByte    파일에서 100 번째 위치한 값을 ReadByte변수로 읽어들입니다


    MsgBox Hex(ReadByte)         읽어들인 값을 출력합니다 (16진수로 출력)


   


    Put #1, 100, ” ”             100 번째 위치에 공백문자(” “)를 출력한다


                                               아래에 있는 [그림-2]을 보시면 실제 파일에 어떻게 들어가 있는지  확인을 할 수 있습니다


    Get #1, 100, ReadByte   100 번째 위치에 있는 값을 읽는다


    MsgBox Hex(ReadByte)


    Close #1


   


    MsgBox “처리가 완료되었습니다”, vbInformation, “결과”


End Sub

——————————————————————————————–


Private Sub Form_Load()


    폼을 회면의 중앙에 출력한다 (함수는 모듈에 선언되어 있음)


    Call CenterForm(Me)


End Sub


[그림-1]

사용자 삽입 이미지

[그림-2]

사용자 삽입 이미지


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *