Need HELP! part2

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

Need HELP! part2

Сообщение MagnuM » 13.02.2005 (Вс) 14:27

Расскажите ломаку как записать данные из textbox в файл, и как их считать их из файла с присвоением какой либо переменной
Сердце девушки легче всего открывается ключами от BMW...

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 13.02.2005 (Вс) 17:35

1.
Код: Выделить всё
Open "C:\myfile.txt" For Output As 1
Print #1, txtTextbox
Close 1


2.
Код: Выделить всё
Dim ret As String
Open "C:\myfile.txt" For Input As 1
Line Input #1, ret
Close 1
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 13.02.2005 (Вс) 21:14

У меня чёто не получается...
Делаю всё как написано выше, только вот не хочет у меня выполнять
Код: Выделить всё
q = Round ((a+b)*c)

где a, b - значения задаваемые на форме, а c - значение из файла, при запуске выводит 0 вместо необходимого мне результата... :(
Мож я чёто не так делаю?? если да, то укажите где ошибка
Сердце девушки легче всего открывается ключами от BMW...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 13.02.2005 (Вс) 21:20

Вероятно, несовпадение типов?
c, читаемое из файла с помощью Line Input, имеет тип String, а как умножить строку на число?

Попробуйте писать
Код: Выделить всё
q = Round ((a+b)*Val(c))


*)
Val Returns the numbers contained in a string
Функция возвращает число, содержащееся в строке

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 14.02.2005 (Пн) 17:57

Всё равно "0" выводит. :twisted: :twisted:
Сердце девушки легче всего открывается ключами от BMW...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 14.02.2005 (Пн) 18:05

Код: Выделить всё
dim q as double
dim a as double
dim b as double
dim c as double
....
'читаем файл
....
'преобразуем в число
a=Cdbl(s1)
b=cdbl(s2)
c=cdbl(s3)
'считаем
q = Round ((a+b)*c)
'выводим
text1.text=cstr(q)

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 14.02.2005 (Пн) 18:22

чё то я ничё не понял :(
Сердце девушки легче всего открывается ключами от BMW...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.02.2005 (Пн) 18:25

Код: Выделить всё
Private Sub Form_Load()
dim q as double
dim a as double
dim b as double
dim c as double
Dim s1 As String, s2 As String, s3 As String
'читаем файл
Open "C:\myfile.txt" For Input As #1
Line Input #1, s1
Line Input #1, s2
Line Input #1, s3
Close #1
'преобразуем в число
a=Cdbl(s1)
b=cdbl(s2)
c=cdbl(s3)
'считаем
q = Round ((a+b)*c)
'выводим
MsgBox cstr(q)
End Sub

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 14.02.2005 (Пн) 20:18

Я не могу понять алгоритм того что написал мне уважаемы Амед, обьясните мне по проще :cry: :? и может это можно както проще выполнить :?:
Сердце девушки легче всего открывается ключами от BMW...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.02.2005 (Пн) 20:28

Код внутри процедуры Form_Load выполняются по загрузке формы (окна программы)
Код: Выделить всё
Private Sub Form_Load()

Создаём 3 переменные для трёх строк, прочитанных из файла.
Код: Выделить всё
Dim s1 As String, s2 As String, s3 As String

Открываем файл, читаем по порядку 3 строки в переменные s1, s2, s3.
Код: Выделить всё
Open "C:\myfile.txt" For Input As #1
Line Input #1, s1
Line Input #1, s2
Line Input #1, s3
Close #1

Преобразуем строковые переменные в числовые, чтобы можно было перемножить
Код: Выделить всё
a=Cdbl(s1)
b=Cdbl(s2)
c=Cdbl(s3)

Считаем, выводим
Код: Выделить всё
'считаем
q = Round ((a+b)*c)
'выводим
MsgBox cstr(q)


Что непонятно? Только конкретное место, которое непонятно, укажите ;)

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 15.02.2005 (Вт) 18:31

1: я не пойму зачем мы считываем 3 переменных из одной строки,

2: я попробывал этот код, не работает
Сердце девушки легче всего открывается ключами от BMW...

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 18.02.2005 (Пт) 16:01

Смотрите какое дело : у меня из файла считывается 0 а не записаное число :twisted:
Сердце девушки легче всего открывается ключами от BMW...

MagnuM
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.02.2005 (Чт) 20:30

Сообщение MagnuM » 18.02.2005 (Пт) 19:38

Чё значит "Duplicate declaration is current scop" ??
Сердце девушки легче всего открывается ключами от BMW...

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 18.02.2005 (Пт) 20:00

"Двойное объявление в выбранном бронепоезде"
А если честно, то ты дважды объявил переменную с одним и тем же именем 8)
Моду создают модоки, а распространяют модозвоны.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 18.02.2005 (Пт) 20:08

Теоретически знал, практически...
Код: Выделить всё
Dim x As Integer

Private Sub Form_Click()
MsgBox x
End Sub

Private Sub Form_Load()
Dim x
x = "String"
MsgBox x
End Sub
:lol:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.02.2005 (Пт) 20:40

2Ramzes: у твоих x разные scope.
Ты попробуй:
Код: Выделить всё
Function F(x)
Dim x
End Function
Изображение


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

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

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

    TopList