Запись и чтение данных из файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
raros
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 09.09.2004 (Чт) 17:25

Запись и чтение данных из файла

Сообщение raros » 09.09.2004 (Чт) 17:32

Подскажите пожалуйста!
После записи данных в файл оператором Put пытаюсь прочесть данные оператором Get, но он возвращает вместо введённого значения какое-то другое! Почему???

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.09.2004 (Чт) 17:33

Надо спозиционировать указатель. Или в Get указать номер записи, или выбрать его оператором Seek.
Lasciate ogni speranza, voi ch'entrate.

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 09.09.2004 (Чт) 23:06

А доступ Random или Binary?
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

raros
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 09.09.2004 (Чт) 17:25

Сообщение raros » 10.09.2004 (Пт) 9:09

Вот код, если видите в чём проблема подскажите!

Dim nFreeFile As Integer
Private Sub Command1_Click()
nFreeFile = FreeFile
Open "c:\coefAMF.dat" For Random As nFreeFile
Put #nFreeFile, 1, tbCoefPlacaAMF.Text
Close
End Sub

Private Sub Form_Load()
Dim placa As Variant
nFreeFile = FreeFile
Open "c:\coefAMF.dat" For Random As nFreeFile
Get #nFreeFile, 1, placa
tbCoefPlacaAMF.Text = placa
Close
End Sub

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 10.09.2004 (Пт) 10:26

1. Попробуй открыть файл в режиме Binary.
2. И в PUT и GET не ставь 1, т.е. например Put #nFreeFile, , tbCoefPlacaAMF.Text

raros
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 09.09.2004 (Чт) 17:25

Сообщение raros » 10.09.2004 (Пт) 10:34

Если в PUT и GET не ставить 1, или другой номер, то как потом искать эту запись???

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 10.09.2004 (Пт) 10:37

Если у тебя файл содержит записи, то лучше использовать FSO.

Я, лично, использую PUT и GET для работы с бинарными файлами, например с картинками.

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 12.09.2004 (Вс) 10:58

Да, бинарка лучше. Тоже самое, тока считывание и запись побайтная не всегда удобна...
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Запись и чтение данных из файла

Сообщение Чудик » 13.09.2004 (Пн) 7:23

Насколько я понимаю - задача у Raros до сих пор не решена. Могу попробовать посоветовать следующее, как обычно поступаю в файлах произвольного доступа.

Type MyRec
Placa As Variant
End Type

Dim nFreeFile As Integer
Private Sub Command1_Click()
nFreeFile = FreeFile

Open "c:\coefAMF.dat" For Random As nFreeFile
MyRec.Placa=tbCoefPlacaAMF.Text
Put #nFreeFile, 1, MyRec
Close #nFreeFile
End Sub

Private Sub Form_Load()
Dim placa As Variant
nFreeFile = FreeFile
Open "c:\coefAMF.dat" For Random As nFreeFile
Get #nFreeFile, 1, MyRec
tbCoefPlacaAMF.Text = MyRec.Placa
Close #nFreeFile
End Sub

Всегда получалось. Только вот старость! За память не ручаюсь!
Век живи - век учись!
www.detal-plast.narod.ru

raros
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 09.09.2004 (Чт) 17:25

Благодарю!

Сообщение raros » 13.09.2004 (Пн) 9:30

Спасибо всем кто подсказал, особенно Чудику!


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

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

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

    TopList