Visual Basic. Программирование на Visual Basic

..........................................................................................................................

[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ]
..........................................................................................................................


Текстовые строки

Отформатировать буквы в строке
Сравнение текстовых строк
Сортировка

Обработка слов
Kак сделать вывод только  заглавных букв в TextBox
Ввод в TextBox только цифр

          Отформатировать буквы в строке

Для того, чтобы отформатировать буквы в строке используется много разных способов. По-моему наиболее удобен вот этот: 

NewString=StrConv(sString, vbUpperCase) 

Вместо можно vbUpperCase ставить vbLowerCase, vbProperCase  

В проекте это выглядит так:  

Option Explicit

Dim sString As String

Dim NewString As String

 

Private Sub Form_Click()

sString = Text1.Text

NewString = StrConv(sString, vbUpperCase)

Text1.Text = NewString

End Sub

Назад


          Сравнение текстовых строк

Если Вы применяете в вашей программе сравнение текстовых строк, то Вам будет полезно напоминание следующего:

  • строки одинаковые по содержанию, но различные по написанию будyт распознаны, как неравные:
"Visual Basic" <> "Visual BASIC"
  • если же Вы хотите, чтобы сходство проходило по содержанию, а не по написанию, то Вам придётся преобразовать обе строки к верхнему или нижнему регистру:
UCase ("Visual Basic") = UCase ("Visual BASIC")
'"VISUAL BASIC" = "VISUAL BASIC"
LCase ("Visual Basic") = LCase ("Visual BASIC")
'"visual basic" = "visual basic"
  • или же поставить в General Declaration опцию Option Compare Text. Программа будет тогда различать текст только по содержанию

 Назад

 

                   Сортировка

Как сделать сортировку, чтобы, когда компьютер сортировал, то первая буква не сортировалась, пример: O1, O2, O3, O11, O12,  компьютер сортирует, как O1, O11, O12, O2. А как сделать, чтобы компьютер сортировал O1, O2, O3, O11?
Подобные вопросы, по чистому бэйсику, где нужно поломать голову над логической задачей и проявить логическое мышление, я просто обожаю!

Мне не понятен способ сортировки, которым пользовался автор вопроса. Я же могу предложить следующий:

1.Поместите где-нибудь процедуру Sort:

'т.к. мы не знаем сколько переметров нужно передать процедуре,
'то на это место устанавливаем массив, и аргументов можно переда-
'ть теперь сколько угодно!
Sub Sort(ParamArray a())

'объявляем три переменные
Dim X As Integer
Dim Y As Integer
Dim P As String

'запускаем первый цикл
    For Y = 0 To UBound(a)
'запускаем второй цикл
        For X = 0 To UBound(a)
'меняем местами значения:
'если переменная второго цикла больше переменнной первого,
'то переменной Р присваеваем значение переменной второго цикла,
'самой переменной присваеваем значение переменной первого цикла,
'а переменной первого цикла присваеваем значение переменной Р
'Места значений поменались!
            If Val(a(X)) > Val(a(Y)) Then
                   P = a(X)
                   a(X) = a(Y)
                   a(Y) = P
             End If

        Next X

    Next Y

'запускаем новый цикл и перечисляем значения в новом порядке!
    For Y = 0 To UBound(a)
        Debug.Print a(Y)
    Next Y

End Sub

Вот и всё! Теперь осталось передать процедуре Sort аргументы:

Sort "011", "02", "012", "03", "01"

 Назад

 

 

Как например в текстовом поле (Text1) выбирать слова? Например в строке Text1 я написал "Очень люблю арбузы", тогда как сделать что-бы он по отдельности обработал слова - "Очень". "люблю", и "арбузы".
Сделать это можно при помoщи всего трёх строк, но для начала создайте на форме поле, где будет содержаться текст (Text1), маленькое поле, где будет находиться слово(Text2), которое следует искать и кнопку для выполнения команды(Command1). Теперь в событие клика по кнопке впишите:

Private Sub Command1_Click()
   'садим фокус в большое текстовое поле
   Text1.SetFocus
   'устанавливаем начало выделения - для этого находим 
   'позицию первого символа слова, отнимаем единицу,
   'чтобы было с начало слова, а не со второго символа
   Text1.SelStart = InStr(1, Text1.Text, Text2.Text) - 1
   'длину выделения приравниваем длине искомого слова
   Text1.SelLength = Len(Text2.Text)
End Sub

 Назад

 

 

                      Ввод в TextBox только цифр

Private Sub Text1_KeyPress(KeyAscii As Integer
 If KeyAscii < Asc(0) Or KeyAscii > Asc(9) Then
 KeyAscii = 0
 Beep     ' звуковой сигнал при ошибке
 End If 
End Sub

 Назад


 

                      Как сделать вывод только  заглавных букв в TextBox

Независимо от того вводить в Text1 заглавные или прописные буквы все они становится
заглавными.

Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim char
char = Chr(KeyAscii)
KeyAscii = Asc(UCase(char))

End Sub

 Назад




..........................................................................................................................

[ Главная ] [ Диски ] [ Книги ] [ Архив рассылки ] [ Архив новостей ] [ Готовые кусочки программ ] [ Карта сайта ]
..........................................................................................................................

По страницам сайта Visaul Progs
или Изучение Visual Basic
Рассылка 'По страницам сайта Visaul Progs' >>> Подпишись на рассылку - будешь получать новые статьи , примеры и много полезной информации из первых рук!!! >>>Если у вас есть статья которой нет на сайте
пришлите ее мне-------->
Послать статью
>>>Если вы хотите задать вопрос
пишите-------->
Мне нужна помощь


Рейтинг сайтов YandeG Rambler's Top100
Реклама:

...:::Design by Mystf0rse 2005-2010 year:::...