Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ввод-вывод в Random файл Добавлено: 28.06.02 20:16  

Автор вопроса:  Ingor | Web-сайт: нет

Сам понимаю, что вопрос дурацкий. Но - нуждаюсь в помощи.

Мне нужен создать файл, в который я смогу писать записи и читать их не закрывая файла. Полагаю, это файл типа Random. Но вот нигде не могу найти описания работы с такими файлами. В VBA использовались операторы Get и Put. В VB6 попробовал: Put #1, a - выдает синтаксическую ошибку.

Короче, подскажите где можно прочитать.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 paul_sn



Вопросов: 16
Ответов: 164
 Web-сайт: sergeyev.zzn.com
 Профиль | | #1
Добавлено: 29.06.02 18:42

Привет

Не очень понял что ты хочешь. Вот небольшой примерчик:

Private Type Employee
    EmpID As Integer
    Lname As String * 30
    Fname As String * 20
    Title As String * 20
End Type
Dim Empl As Employee
Dim q As String
Private Sub Command1_Click()
   
    Empl.Fname = "WWW"
    Empl.Lname = "AAA"
    Empl.Title = "QQQ"
    Empl.EmpID = "12345"
End Sub

Private Sub Command2_Click()
    'открываем файл для произвольного доступа
    'длина чтение и запись осуществляется порциями размером в длину записи empl
    Open q For Random As #1 Len = Len(Empl)
End Sub

Private Sub Command3_Click()
    Dim Empl As Employee
    For i = 1 To 5
        Empl.Lname = InputBox$("Enter ...")
        Empl.Fname = InputBox$("Enter ...")
        Empl.Title = InputBox$("Enter ... ")
        Empl.EmpID = i
        '  я не стал указывать номер записи,(позицию в файле), запись
        ' запись будет выполняться с текущей позиции файла
        Put #1, , Empl
    Next i
   
End Sub

Private Sub Command4_Click()
    'считываем вторую запись в переменную empl и выводим значение ее поля title
    Get #1, 2, Empl
    MsgBox ("Employee title is ") & Empl.Title
End Sub

Private Sub Command5_Click()
    Open q For Output As #1
    Close #1
End Sub

Private Sub Form_Load()
    q = App.Path & "\qqq.txt"
End Sub
Если будут вопросы, пиши на мыло

Успехов

Павел

Ответить

Номер ответа: 2
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #2 Добавлено: 23.07.04 11:37

А ты не пробовал указать номер файла не цифрой, а FreeFile, пример:
Dim fn as integer
fn=FreeFile
и указываешь вместо #1, #fn

Ответить

Номер ответа: 3
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #3
Добавлено: 23.07.04 11:41
 Вот так теперь пиши:
 Put #Канал,НомерЗаписи,Запись

Канал можешь либо непосредственным числом указывать либо получить доступный с помощью FreeFile.

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 23.07.04 14:00
Зачем тебе Рандом, открывай As Binary, и можешь данные как получать, так и записывать...

Быстрее и надежней, имхо...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам