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

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

У меня MSDN для Visual Basic 6.0 нету, а тот что под NET сильно отличается! :(
...
Рейтинг: 0 / 0
15.05.2006, 13:20
    #33726939
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
А интернет?
...
Рейтинг: 0 / 0
17.05.2006, 12:18
    #33732209
Evgeshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
Люди я во всем разобрался, но вот лезут глюки с длиной записи, видимо она как-то неправильно определяется. Текст ошибки: "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
17.05.2006, 12:28
    #33732260
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
Попробуйте исправить Dim FileRec As Integer на Double
...
Рейтинг: 0 / 0
17.05.2006, 12:32
    #33732278
Evgeshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
MelkiadesПопробуйте исправить Dim FileRec As Integer на Double

Не помогло!
...
Рейтинг: 0 / 0
17.05.2006, 12:53
    #33732368
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
Покажи структуру "Product".
...
Рейтинг: 0 / 0
17.05.2006, 12:54
    #33732379
Evgeshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
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
17.05.2006, 14:08
    #33732618
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
Попробуй использовать строки фиксированной длины, например:

Код: 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
17.05.2006, 14:16
    #33732650
Evgeshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
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
17.05.2006, 14:26
    #33732683
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
При объявлении переменных этот символ используется для определения строк фиксированной длины. При операциях с числами - используется как оператор умножения.
...
Рейтинг: 0 / 0
17.05.2006, 14:30
    #33732707
Evgeshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на Visual Basic 6.0 открыть файл для записи?
AshtonПри объявлении переменных этот символ используется для определения строк фиксированной длины. При операциях с числами - используется как оператор умножения.

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


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