ເນື້ອໃນ

# ຄຳສັ່ງ Open

ເປີດຊ່ອງທາງຂໍ້ມູນ.

### ໄວຍາກອນ:

    Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]

### ພາຣາມິເຕີ:

pathname: ເສັ້ນທາງ ແລະ ຊື່ຂອງໄຟລ໌ທີ່ຈະເປີດ. ຫາກທ່ານພະຍາຍາມອ່ານໄຟລ໌ທີ່ບໍ່ມີຢູ່ (Access = Read), ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະປາກົດຂຶ້ນ. ຫາກທ່ານພະຍາຍາມຂຽນລົງໃນໄຟລ໌ທີ່ບໍ່ມີຢູ່ (Access = Write), ໄຟລ໌ໃໝ່ຈະຖືກສ້າງຂຶ້ນ.

mode: ຄຳສຳຄັນທີ່ກຳນົດໂໝດຂອງໄຟລ໌. ຄ່າທີ່ໃຊ້ໄດ້: Append (ຂຽນຕໍ່ທ້າຍໄຟລ໌ລຳດັບ), Binary (ເຂົ້າເຖິງຂໍ້ມູນເປັນໄບຕ໌ໂດຍໃຊ້ Get ແລະ Put), Input (ເປີດຊ່ອງທາງຂໍ້ມູນສຳລັບການອ່ານ), Output (ເປີດຊ່ອງທາງຂໍ້ມູນສຳລັບການຂຽນ), ແລະ Random (ແກ້ໄຂໄຟລ໌ແບບສຳພັນ).

io: ຄຳສຳຄັນທີ່ກຳນົດປະເພດການເຂົ້າເຖິງ. ຄ່າທີ່ໃຊ້ໄດ້: Read (ອ່ານຢ່າງດຽວ), Write (ຂຽນຢ່າງດຽວ), Read Write (ທັງສອງຢ່າງ).

locking: ຄຳສຳຄັນທີ່ກຳນົດສະຖານະຄວາມປອດໄພຂອງໄຟລ໌ຫຼັງຈາກເປີດ. ຄ່າທີ່ໃຊ້ໄດ້: Shared (ໄຟລ໌ອາດຖືກເປີດໂດຍແອັບພລິເຄຊັນອື່ນ), Lock Read (ໄຟລ໌ຖືກປ້ອງກັນບໍ່ໃຫ້ອ່ານ), Lock Write (ໄຟລ໌ຖືກປ້ອງກັນບໍ່ໃຫ້ຂຽນ), Lock Read Write (ປະຕິເສດການເຂົ້າເຖິງໄຟລ໌).

filenum: ນິພົດຈຳນວນຖ້ວນໃດໜຶ່ງແຕ່ 0 ຫາ 511 ເພື່ອບອກໝາຍເລກຂອງຊ່ອງທາງຂໍ້ມູນທີ່ວ່າງຢູ່. ຈາກນັ້ນທ່ານສາມາດສົ່ງຄຳສັ່ງຜ່ານຊ່ອງທາງຂໍ້ມູນເພື່ອເຂົ້າເຖິງໄຟລ໌. ໝາຍເລກໄຟລ໌ຕ້ອງຖືກກຳນົດໂດຍຟັງຊັນ FreeFile ກ່ອນຄຳສັ່ງ Open ທັນທີ.

recLen: ສຳລັບໄຟລ໌ເຂົ້າເຖິງແບບ Random, ໃຫ້ກຳນົດຄວາມຍາວຂອງລະຄອນ (records).

ທ່ານສາມາດແກ້ໄຂເນື້ອໃນຂອງໄຟລ໌ທີ່ຖືກເປີດດ້ວຍຄຳສັ່ງ Open ເທົ່ານັ້ນ. ຫາກທ່ານພະຍາຍາມເປີດໄຟລ໌ທີ່ເປີດຢູ່ແລ້ວ, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະປາກົດຂຶ້ນ.

### ຕົວຢ່າງ:

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Output As #iNumber
          Print #iNumber, "This is a line of text"
          Print #iNumber, "This is another line of text"
          Close #iNumber
          iNumber = Freefile
          Open aFile For Input As iNumber
          While Not eof(iNumber)
              Line Input #iNumber, sLine
              If sLine <>"" Then
                  sMsg = sMsg & sLine & chr(13)
              End If
          Wend
          Close #iNumber
          MsgBox sMsg
      End Sub

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Output As #iNumber
          Print #iNumber, "This is a line of text"
          Print #iNumber, "This is another line of text"
          Close #iNumber
          iNumber = Freefile
          Open aFile For Input As iNumber
          While Not eof(iNumber)
              Line Input #iNumber, sLine
              If sLine <>"" Then
                  sMsg = sMsg & sLine & chr(13)
              End If
          Wend
          Close #iNumber
          MsgBox sMsg
      End Sub

ຫາກຄຳສັ່ງ Open ພະຍາຍາມເປີດໄຟລ໌ທີ່ຜູ້ໃຊ້ປັດຈຸບັນບໍ່ມີສິດອ່ານ/ຂຽນ, ຈະເກີດຂໍ້ຜິດພາດ I/O ຂຶ້ນ.

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ

ຄຳສັ່ງ Close

ຟັງຊັນ FreeFile

ຄຳສັ່ງ Input#

ຄຳສັ່ງ Print#