Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как переместить коды из формы в класс? 
V
    Опции темы
Lugomor
Дата 27.3.2009, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Здравствуйте! 

Только начинаю программировать и вот проблема: есть проект, есть форма, элементы управления текстбоксы и т.д., есть класс CheckStrings, внём две функции. А задача такая: Нужно сделать так чтобы, вся работа выполнялась в классе CheckStrings, т.е. чтобы все коды были в этом классе! 

Заранее Спасибо!
PM MAIL   Вверх
Pilger
Дата 27.3.2009, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Функциям приписываешь Shared и затем эти функции можешь запускать через Клас.Функция


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
Lugomor
Дата 27.3.2009, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Код

Public Class Form1 
Private Ch As CheckStrings 
  
Private Sub BtnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnShow.Click 
Dim attrRight As Integer 
Ch = New CheckStrings(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) 
attrRight = Ch.CheckLength() 
Select Case attrRight 
Case Is = 1 
MessageBox.Show("Enter N S F A") 
TextBox1.ResetText() 
TextBox2.ResetText() 
TextBox3.ResetText() 
TextBox4.ResetText() 
Exit Sub 
Case Is = 2 
MessageBox.Show("Enter Only Letters") 
TextBox1.ResetText() 
TextBox2.ResetText() 
TextBox3.ResetText() 
TextBox4.ResetText() 
Exit Sub 
End Select 
RichTextBox1.Text = "" 
RichTextBox1.SelectedText = " Personal Information" + vbNewLine 
RichTextBox1.SelectedText = "" + vbNewLine 
RichTextBox1.SelectedText = "Name: " + TextBox1.Text + vbNewLine 
RichTextBox1.SelectedText = "Surname: " + TextBox2.Text + vbNewLine 
RichTextBox1.SelectedText = "Family: " + TextBox3.Text + vbNewLine 
RichTextBox1.SelectedText = "Adress: " + TextBox4.Text + vbNewLine 
RichTextBox1.SelectedText = "Birthday: " + DateTimePicker1.Text + vbNewLine 
BtnSave.Enabled = True 
TextBox1.ResetText() 
TextBox2.ResetText() 
TextBox3.ResetText() 
TextBox4.ResetText() 
End Sub 
  
Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click 
SaveFileDialog1.Filter = "Текстовые файлы|*.txt|RTF-файлы|*.rtf" 
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then 
RichTextBox1.SaveFile(SaveFileDialog1.FileName) 
CmbCards.Items.Add(SaveFileDialog1.FileName) 
End If 
End Sub 
  
Private Sub BtnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLoad.Click 
If (CmbCards.Items.Count > 0) Then 
Dim curItem As Integer 
curitem = CmbCards.SelectedIndex 
If (curitem < 0) Then Exit Sub 
RichTextBox1.LoadFile(CmbCards.Items(curItem)) 
End If 
End Sub 
End Class 
  
'А это класс 

Код vb.net 
Public Class CheckStrings 
Private Family, name, surname, adress As String 
Public Sub New(ByVal fam As String, ByVal nm As String, ByVal sr As String, ByVal ad As String) 
Family = fam 
name = nm 
surname = sr 
adress = ad 
  
End Sub 
Public Function CheckLength() As Integer 
Dim res As Integer 
Dim X1, X2, X3, X4 As Boolean 
X1 = (Family.Length > 0) 
X2 = (name.Length > 0) 
X3 = (surname.Length > 0) 
X4 = (adress.Length > 0) 
res = (X1 And X2) Or (X2 And X3) Or (X3 And X4) 
If (Not res) Then Return 1 
res = CheckNumeric(Family) And CheckNumeric(name) And CheckNumeric(surname) 
If (Not res) Then Return 2 Else Return 0 
  
End Function 
Public Function CheckNumeric(ByVal Chstr As String) As Boolean 
Dim c As String 
Dim i As Integer 
For i = 0 To Chstr.Length - 1 
c = Chstr.Chars(i) 
If (IsNumeric(c)) Then 
CheckNumeric = False 
Exit Function 
End If 
Next 
CheckNumeric = True 
End Function 
End Class


Добавлено через 11 минут и 26 секунд
Вобщем надо переместиь все коды из класса Form1 в класс CheckStrings, но как тогда это будет работать, т.е. препод
сказал чтобы в форме что-то присутствовало, но вся работа происходила в CheckStrings, может ктото подробно опишет энтот механмзм?
PM MAIL   Вверх
-Mikle-
Дата 28.3.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 3
Всего: 59



мне не ясна задача, что нужно твоему преподу...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Pilger
Дата 28.3.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Ну ты должен для начала понять, как работают классы...

Вот тут ты создаешь новый объект класса CheckStrings, передаешь ему атрибуты и сохраняешь в Ch.

Код

Ch = New CheckStrings(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) 


В классе похоже есть что то вроде

Код

Public Sub New (Text1 As String, Text2 As String, Text3 As String, Text4 As String)
  Me.Text1=Text1
  Me.Text2=Text2
  Me.Text3=Text3
  Me.Text4=Text4
End Sub


Теперь в объекте Ch лежат твои переменные.
Теперь после этого ты используешь функции этого класса для объекта Ch
Код

attrRight = Ch.CheckLength()

Которая работает с переменными в этом объекте.
Таким образом ты можешь в классы пихать любые объекты, переменные и методы (то, что ты делаешь на самой форме можно частично перенести туда). Методы из CheckString или др. ты можешь запускать из самой формы Form.



--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
Lugomor
Дата 1.4.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Большое спасибо Pilger! Всё грамотно и понятно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.