Проблема с записью в файл произвольного доступа

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SKYS
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 21.09.2007 (Пт) 8:31
Откуда: г.Кемерово

Проблема с записью в файл произвольного доступа

Сообщение SKYS » 24.12.2007 (Пн) 6:59

Код: Выделить всё
Type connect
ser As String
bd As String
tab As String
fio As String
End Type
Public con As connect



con.ser = Combo1.text
con.bd = Combo3.text
con.tab = Combo2.text
a = Len(con)
Open "c:\nastr.par" For Random As #1 Len = a
Put #1, 1, con
Close #1

Мне необходимо просто записать в файл 4 строчки .
Пишет ошибку при записи BAD record lenght.
Самое смешное что подобный пример только с другой структурой в другом проекте работает нормально я ума не дам в чем тут дело. данный кусок использоват много раз а тут помогите .
Хорошо когда не знаеш да еще забудеш !!!!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 24.12.2007 (Пн) 8:57

Тебя спасет только лишь объявление строк фиксированной длины в структуре. Типо так:

Type MyType
s As String * 20
End Type

В этом случае длина структуруы посчитается правильно
Весь мир матрица, а мы в нем потоки байтов!

SKYS
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 21.09.2007 (Пт) 8:31
Откуда: г.Кемерово

Сообщение SKYS » 24.12.2007 (Пн) 10:56

СПС помогло но почему так в других случаях работет а тут нет :( МИСТИКА Ж(
Хорошо когда не знаеш да еще забудеш !!!!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 24.12.2007 (Пн) 12:43

В других случаях это в каких? Когда структура состоит их простых типов, то да все будет нормально работать. а когда в ней имеются ссылочные типы, то простые решения не пройдут.
Весь мир матрица, а мы в нем потоки байтов!

SKYS
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 21.09.2007 (Пт) 8:31
Откуда: г.Кемерово

Сообщение SKYS » 25.12.2007 (Вт) 4:35

Код: Выделить всё
Type nast
pro As Integer
sl1 As Byte
sl2 As Byte
svernut As Integer
sek As Integer
ot1 As Integer
ot2 As Integer
ot3 As Integer
ot4 As Integer
ot5 As Integer
ot6 As Integer
ot7 As Integer
End Type
Public ppr As nast


C такой структурой все норм работает.
Хорошо когда не знаеш да еще забудеш !!!!

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 25.12.2007 (Вт) 5:24

Ну так оно и будет нормально работать, потому что все переменные в структуре числового типа, для этой структуры легко можно посчтитать длину, так как нет переменных строкового типа (чтобы понять почему при наличии строковых переменных возникают ошибки при работе с файлами произвольного доступа рекомендуется почитать статьи GSerg'a на этом сайте о строках в вб6)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45

    TopList  
cron