powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как на Visual Basic 6.0 открыть файл для записи?
15 сообщений из 15, страница 1 из 1
Как на Visual Basic 6.0 открыть файл для записи?
    #33726608
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, как на Visual Basic 6.0 открыть файл для последовательного и прямого доступа? Дело в том что сам компилятор функцию FileOpen в упор не видит. Может я что то напутал и такие методы работы с файлами есть только в Visual Studio .NET ?
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33726714
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33726791
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades Вот так

Спасибо! А как открыть файл для чтения с прямым доступом и как с последовательным? Чем эти два доступа отличаются?
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33726840
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нажать в бейсике F1 и самому почитать?
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33726850
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesА нажать в бейсике F1 и самому почитать?

У меня MSDN для Visual Basic 6.0 нету, а тот что под NET сильно отличается! :(
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33726939
Дурак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А интернет?
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732209
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди я во всем разобрался, но вот лезут глюки с длиной записи, видимо она как-то неправильно определяется. Текст ошибки: "Bad Record Length". Но ошибки лезут не всегда, если вносить в каждое поле очень короткие записи, то такая ошибка не возникает. Где я допустил ошибку?
Вываливаю код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim P As Product
Dim FileRec As Integer
P.Name = txtProdName.Text
P.Code = txtProdCode.Text
P.Date = txtDate.Text
P.Quantity = txtQuantity.Text
P.Measure = txtMeasure.Text
P.Price = txtPrice.Text
If (txtPrice.Text <> "") And (txtQuantity.Text <> "") Then
P.Cost = txtPrice.Text * txtQuantity.Text
Else: P.Cost =  0 
End If
Open fMain.txtFilePath.Text For Random As # 1  Len = Len(P)
FileRec = LOF( 1 ) / Len(P) +  1 
Seek # 1 , FileRec
Put # 1 , , P ' Тут вылетает по ошибке Bad Record Length
Close # 1 
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732260
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте исправить Dim FileRec As Integer на Double
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732278
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesПопробуйте исправить Dim FileRec As Integer на Double

Не помогло!
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732368
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажи структуру "Product".
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732379
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AshtonПокажи структуру "Product".

Type Product
Name As String
Code As String
Measure As String
Date As Date
Quantity As Double
Price As Double
Cost As Double
End Type

Описана она у меня в модуле MyModule
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732618
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй использовать строки фиксированной длины, например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Type Product
    Name As String *  15 
    Code As String *  10 
    Measure As String *  10 
    Date As Date
    Quantity As Double
    Price As Double
    Cost As Double
End Type
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732650
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AshtonПопробуй использовать строки фиксированной длины, например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Type Product
    Name As String *  15 
    Code As String *  10 
    Measure As String *  10 
    Date As Date
    Quantity As Double
    Price As Double
    Cost As Double
End Type


Спасибо тебе, ты мне помог. Сейчас все заработало. Я знал что в файлах комбинированного типа данных лучше всего ограничивать длины строк, но не знал как это сделать в Visual Basic (Basic я знаю плохо). Почему такой странный синтаксис String * 10, ведь звездочка - это умножить?
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732683
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При объявлении переменных этот символ используется для определения строк фиксированной длины. При операциях с числами - используется как оператор умножения.
...
Рейтинг: 0 / 0
Как на Visual Basic 6.0 открыть файл для записи?
    #33732707
Фотография Evgeshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AshtonПри объявлении переменных этот символ используется для определения строк фиксированной длины. При операциях с числами - используется как оператор умножения.

Странный конечно синтаксис, логичнее было бы использовать какие-нибудь скобки. Большое спасибо тебе за помощь! Поскольку проблема снята, тему считаю закрытой.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как на Visual Basic 6.0 открыть файл для записи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]