Уважаемые фуромчане -доброго времени суток!
Помогите пожалуйста разобраться с сохранением проекта на VB.Net
Попробую чётко сформулировать задачу:
1)На форме имеется 1 лейбл, 4 текстбокса, 4 буттона.
Нужно:
1)Допустим мы ввели какие-либо данные в текстбосы, нужно чтобы при нажатии на буттон1, лейл (по умолчаниб имеет текст=1) менялся от 1 до n (в зависимости от количества кликов).
2)При переходе значения лейбла от значения= 1 на значение=2(и при следующих переходах(от значения =2 до значения =n)), происходила запись (допустим во временный файл) значений в текстбоксов, при этом 2 текстбокса очищались, а значения в 2-х других оставались бы неизменными.
3)при нажатии на буттон2, - происходил возврат (лейбл от значения=n до значения =n-1), при этом происходило чтение из временного файла тех
значений, которые были в него записаны( в зависимости от значения лейбла) и эти значения проставлялись бы в текстбоксы (т.е. буттон2-кнопка "возврата", а буттон1-кнопка "вперёд")
4)При нажатии буттона3, происходило сохранение временного файла в файл с каким-либо расширением (т.е. буттон3- кнопка "сохранить")
5) При нажатии на буттон4(кнопка "открыть"), можно было-бы подгрузить сохранённый файл с заданным расширением(см. пункт 4)
И ещё 2 момента, если можно, то объясните как это реализовать на примере, а не общими фразами("Используй стримврайтер и стримридер). И второй момент - как прикрутить картинку к файлу с заданным расширением(т.е. чтобы этот файл отображался картинкой)
Заранее благодарен всем, кто откликнется
Большое спасибо за внимание
так, конкретнее, в чем проблема то? с чем тебе помочь разобраться?
объясните как это реализовать на примере
код за тебя врядли кто-то напишет. пиши сам, с ошибками добро пожаловать сюда, тут помогут советами для исправления ошибок.
как прикрутить картинку к файлу с заданным расширением(т.е. чтобы этот файл отображался картинкой)
прикрутить картинку к файлу (что это вообще такое то) и отображать файл картинкой (тоже не совсем понятно, что нужно) - вещи на первый взгляд разные. опиши поподробней плз
Начну с конца:
Отображать файл картинкой,это к примекру как у Ворда , файл с расширением *doc,отображается листом с буквой W; Прошу простить, может я не так выражаюсь, просто я в программировании не ас.
Код могу скинуть, если это поможет:
Private Sub vperedbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles vperedbtn.Click
nazadbtn.Enabled = True
Static i1 As Integer
i1 = Label23.Text
i1 = i1 + 1
Label23.Text = i1
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox11.Clear()
TextBox12.Clear()
TextBox13.Clear()
TextBox14.Clear()
TextBox15.Clear()
TextBox16.Clear()
TextBox17.Clear()
Label18.Text = 0
Label24.Text = " "
Label25.Text = " "
Label26.Text = " "
Label27.Text = " "
Label28.Text = " "
Label29.Text = " "
Label30.Text = " "
Label31.Text = " "
Label32.Text = " "
Label33.Text = " "
If i1 = 2 Then
SaveFileDialog1.Filter = "Файлы приложения|*.grc"
If SaveFileDialog1.ShowDialog = DialogResult.Cancel Then Exit Sub
 im Коллетор As String = SaveFileDialog1.FileName
 im Запись As New System.IO.StreamWriter(Коллетор)
Запись.WriteLine(TextBox1.Text)
Запись.WriteLine(TextBox2.Text)
Запись.WriteLine(TextBox3.Text)
Запись.WriteLine(TextBox4.Text)
Запись.WriteLine(ComboBox1.Text)
Запись.WriteLine(TextBox6.Text)
Запись.WriteLine(TextBox10.Text)
Запись.WriteLine(TextBox11.Text)
Запись.WriteLine(TextBox12.Text)
Запись.WriteLine(TextBox13.Text)
Запись.WriteLine(TextBox14.Text)
Запись.WriteLine(TextBox15.Text)
Запись.WriteLine(TextBox16.Text)
Запись.WriteLine(TextBox17.Text)
Запись.WriteLine(Label18.Text)
Запись.WriteLine(Label24.Text)
Запись.WriteLine(Label25.Text)
Запись.WriteLine(Label23.Text - 1)
Запись.WriteLine(Label26.Text)
Запись.WriteLine(Label27.Text)
Запись.WriteLine(Label28.Text)
Запись.WriteLine(Label29.Text)
Запись.WriteLine(Label30.Text)
Запись.WriteLine(Label31.Text)
Запись.WriteLine(Label32.Text)
Запись.WriteLine(Label33.Text)
If i1 > 2 Then
Запись.WriteLine(TextBox1.Text)
Запись.WriteLine(TextBox2.Text)
Запись.WriteLine(TextBox3.Text)
Запись.WriteLine(TextBox4.Text)
Запись.WriteLine(ComboBox1.Text)
Запись.WriteLine(TextBox6.Text)
Запись.WriteLine(TextBox10.Text)
Запись.WriteLine(TextBox11.Text)
Запись.WriteLine(TextBox12.Text)
Запись.WriteLine(TextBox13.Text)
Запись.WriteLine(TextBox14.Text)
Запись.WriteLine(TextBox15.Text)
Запись.WriteLine(TextBox16.Text)
Запись.WriteLine(TextBox17.Text)
Запись.WriteLine(Label18.Text)
Запись.WriteLine(Label24.Text)
Запись.WriteLine(Label25.Text)
Запись.WriteLine(Label23.Text - 1)
Запись.WriteLine(Label26.Text)
Запись.WriteLine(Label27.Text)
Запись.WriteLine(Label28.Text)
Запись.WriteLine(Label29.Text)
Запись.WriteLine(Label30.Text)
Запись.WriteLine(Label31.Text)
Запись.WriteLine(Label32.Text)
Запись.WriteLine(Label33.Text)
Запись.Close()
End If
End If
End Sub
Private Sub nazadbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nazadbtn.Click
Static i1 As Integer
i1 = Label23.Text
i1 = i1 - 1
Label23.Text = i1
If i1 = 1 Then
nazadbtn.Enabled = False
End If
OpenFileDialog1.Filter = "Файлы приложения|*.grc"
If OpenFileDialog1.ShowDialog = DialogResult.Cancel Then Exit Sub
 im Коллетор As String = OpenFileDialog1.FileName
 im Чтение As New System.IO.StreamReader(Коллетор)
TextBox1.Text = Чтение.ReadLine
TextBox2.Text = Чтение.ReadLine
TextBox3.Text = Чтение.ReadLine
TextBox4.Text = Чтение.ReadLine
ComboBox1.Text = Чтение.ReadLine
TextBox6.Text = Чтение.ReadLine
TextBox10.Text = Чтение.ReadLine
TextBox9.Text = Button5.Handle
TextBox11.Text = Чтение.ReadLine
TextBox12.Text = Чтение.ReadLine
TextBox13.Text = Чтение.ReadLine
TextBox14.Text = Чтение.ReadLine
TextBox15.Text = Чтение.ReadLine
TextBox16.Text = Чтение.ReadLine
TextBox17.Text = Чтение.ReadLine
Label18.Text = Чтение.ReadLine
Label24.Text = Чтение.ReadLine
Label25.Text = Чтение.ReadLine
Label23.Text = Чтение.ReadLine
Label26.Text = Чтение.ReadLine
Label27.Text = Чтение.ReadLine
Label28.Text = Чтение.ReadLine
Label29.Text = Чтение.ReadLine
Label30.Text = Чтение.ReadLine
Label31.Text = Чтение.ReadLine
Label32.Text = Чтение.ReadLine
Label33.Text = Чтение.ReadLine
Чтение.Close()
End Sub
Просто сама программа - гораздо сложнее (порядка 10 форм,с разл.элементами управления) и производит достаточно много вычислений, с этим я разобрался и всё работает.
Мне не понятно как сделать так, что бы (как в интернет Эксплорере-есть стрелки на предыдущую страницу, и на следыющую страницу) при нажатии на кнопку "на следующую страницу", данные вычислений не терялись, а записывались к примеру во временный файл, а при нажатии на кнопку "на предыдущую страницу" - подгружала и показывала из временного файла эти данные.
вылезав из-под стола, пишу то, что ты обязан не применуя выпонять:
1. используй только английские названия переменных, крайне желательно на английском языке
2. делай dispose после использования потоков и других ресурсов, требующих ручного освобождения
3. упорядочи ввод-вывод и убери к чертям этот superior indian code
4. "Мне не понятно как сделать так" - либо не закрывай форму, либо расположи все на 10ти панелях (Panel) и выводи каждую на перед (.BringToTop)
5. Не используй Static без необходимости
6. "Просто сама программа - гораздо сложнее". Не вижу ничего сложного, твой код адекватными руками расписывается в строк 10-15
7. "vperedbtn". начни исправляться с этого.
Код жутковатый.
Dispose довольно редко приходится использовать, когда жизненный цикл объекта растянут более чем на 1 процедуру. В данном случае он не нужен, достаточно Using.
Вариантов решения задачи можно немало придумать.
Не обязательно сохранять в файл. Данные можно хранить прямо в памяти.
Код жутковатый.
Dispose довольно редко приходится использовать, когда жизненный цикл объекта растянут более чем на 1 процедуру. В данном случае он не нужен, достаточно Using.
Вариантов решения задачи можно немало придумать.
Не обязательно сохранять в файл. Данные можно хранить прямо в памяти.
Я согласен, что всё можно было бы написать гораздо красивее, но для меня это первый опыт написания расчётной инженерной программы (я по роду деятельности инженер-проектировщик), просто очень часто приходится выполнять сложные расчёты, и я решил оптимизировать этот процесс, в книгах , которые я накупил по данной теме всё очень кратко и размыто.
Не спорю, если бы опыта было побольше, я бы не задавал многих "глупых вопросов.
А по поводу форм и панелей, может оно и правда было проще, просто у меня эти формы выполняют тоже расчётные действия и справку, результаты которых влияют на результат на "главной" форме.