Как правильно закрыть форму?

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

Как правильно закрыть форму?

Сообщение Shild » 02.05.2003 (Пт) 21:53

Помогите плиз с проблемкой. Моя програмка состоит из нескольких форм и в процессе работы приходится между ними постоянно переключаться. Так вот если закрывать форму командой Unload Me, то по возврашении к ней все данные введеные в текстбоксах на этой форме не сохраняются, что очень неудобно. Если закрывать командой Hide, то все прекрасно сохраняется, но при вводе других значений в текстбоксы, переменные (которым присваиваются значения из этих textbox'ов) не обновляются и остаются старыми. Может кто подскажет?

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 02.05.2003 (Пт) 22:07

Записывай переменные в файл а потом оттуда считывай и пиши в текстбоксы
ПРЕВЕД

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 03.05.2003 (Сб) 13:01

Спасибо за совет. Но, блин не может же быть все хорошо. Теперь другая проблема. Я использую для записи в файл произвольный доступ и все прекрасно работает, пока дело не доходит до дробных чисел. При считывании их из файла они возвращаются с запятыми вместо точек, что не годится для расчетов. Что делать?

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

Сообщение alibek » 03.05.2003 (Сб) 15:22

При сохранении преобразуй их в String функцией Str$(Value), а при чтении считывай через Val(Value) и все будет хорошо.
Lasciate ogni speranza, voi ch'entrate.

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 03.05.2003 (Сб) 16:25

Спасибо за совет, но что-то не работает...
Использую примерно так:
Код: Выделить всё
X=Val(Text1.Text)
Open "c:\temp.txt" For Random Access Write As #1
Put #1, 1, Str$(X)
Close #1
'далее уходим на другую форму, а когда возвращаемся:
Open "c:\temp.txt" For Random Access Read As #1
Get #1, 1, X
Close #1
Text1.Text = Val(X)

в результате в текстбоксах какие-то совершенно абстрактные числа. Что здесь не так?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.05.2003 (Сб) 16:35

А что, Line Input и Print уже никого не устраивают что ли? Зачем текстовик писать как бинарник?

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 03.05.2003 (Сб) 17:17

Line Input и Print, насколько я знаю, только для последовательного доступа. Объясните тогда, как при последовательном доступе можно выдергивать значения переменных из текстового файла в произвольном порядке. В той литературе, что есть у меня под рукой, для последовательного доступа описывается возможность скачивать данные только целиком.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.05.2003 (Сб) 17:24

Ну если произвольный доступ то да, line input не пойдет.

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 05.05.2003 (Пн) 7:11

alibek писал(а):При сохранении преобразуй их в String функцией Str$(Value), а при чтении считывай через Val(Value) и все будет хорошо.


Ну подскажите как этим пользоваться :?:!!

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 05.05.2003 (Пн) 17:25

Help!!!!!!!!!!!!

Firestorm
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 946
Зарегистрирован: 02.05.2002 (Чт) 14:36
Откуда: Russia

Сообщение Firestorm » 05.05.2003 (Пн) 17:52

ну почему бы не использовать глобальные переменные? перезаписывать их при выгрузке формы или change'е в текстбоксе... :lol:
...просто гламурный падонак...
_________________
reborn! v.2 :twisted:
_________________

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 05.05.2003 (Пн) 18:24

Что-то я совсем зашпарился. В файлы писать начал... Естественно легче при загрузке формы вставлять в соответствующие textbox'ы соответствующие значения. Но проблема то остаётся - при считывании дробных значений из текстбоксов, точки меняются на запятые. И соответсвенно с ними же и вставляются при возвращении. Что делать-то????

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 05.05.2003 (Пн) 19:55

Работай с текстовыми значениями и не используй Get and Put а чтоб запятых небыло просто "кавычки" поставь вот он и не будет преобразовывать.

Ем вилкой...

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 06.05.2003 (Вт) 11:14

Сделай модуль и создай в нем Public переменные и юзай на здоровье

Public strText1 as string

И т.д.

А можешь обьявить его и как массив с нужным размером (чтоб неплодить кучу переменных.)
Moderator VBStreets
---------------------------

Shild
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 23.04.2003 (Ср) 18:43
Откуда: Волгорад

Сообщение Shild » 06.05.2003 (Вт) 15:30

Thanks. Разобрался :D .


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

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

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

    TopList  
cron