Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

По страницам сайта Visaul PROGS


Visual PROGS
[ MP3 плейеры ] [ CD плейеры ] [Сотовые трубки ] [Диктофоны ]
[Карманные ПК ] [ Фотоаппараты ] [ Видеокамеры ] [ Радио ] [ Ноутбуки ]

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

Выпуск 26
По страницам сайта Visaul PROGS
или Изучение VISUAL BASIC


Теперь 478 человек подписалось на рассылку.


Объявление Желаете разместить объявление в рассылке или у вас интересная новость, тогда пишите, рассмотрим.
Тематика, не обязательно программирование - новости, юмор, интересное, статьи на любую тему.


Рекомендую просмотреть обзор дисков в помощь начинающему программисту
Рекомендую просмотреть готовые кусочки программ на разные случаи жизни!

[Гостевая] [Форум] [Друзья] [Архив рассылки] [Архив новостей] [Пособие] [Agent] [Карта сайта]
 

Задать вопрос в рассылку

Новый, быстро набирающий обороты проект KByte.ru приглашает вас, прочитать новые интересные стати, ранее ни где не опубликованные, задать свой вопрос в форум, принять участие в конкурсе. Программирование на VB, VB.Net, ASP.Net и многое другое. Проект почти каждй день добавляет статьи. Так же можете послать письмо-вопрос, с кратким описанием того, о чем бы вы хотели прочитать статьи и какие темы вы бы хотели увидеть на страницах сайта.
пишите на rootsoft@mail.ru

По разрешению сайта KByte.ru сегодня в выпуске статья:

Реверс строки, или как из ТОПОРа сделать РОПОТ.

Автор - [root]
rootsoft@mail.ru

Для тех, кто в танке и не понял из названия, о чем идет речь, объясняю.

В данной статье я объясню, как написать программу для переворачивания строк, т.е. как ТОПОР превратить в РОПОТ.

Раньше этот вопрос, должно быть, был актуален, но в 6 версии Visual Basic появилась функция StrReverse, которая позволяет, написав всего несколько строчек кода перевернуть необходимый вам текст. Помимо StrReverse в 6 версии добавлены еще такие функции работы со строками как Split, InstrRev, Filter, Join. Так же включены специализированные функции FormatNumber, FormatDateTime, FormatCurrency и FormatPercent.

Синтаксис:
StrReverse(Expression As String)
Изменяет порядок следования символов в строке, на обратный.
Т.е. если переменная содержит "ТИП", функция возвратит "ПИТ".

Пример использования функции StrReverse:

Option Explicit

'Делаем объявление переменных обязательным Dim strStroka As String
'Объявляем переменную, для хранения текста, строкового типа

Private Sub Form_Load()
'При загрузке формы уберем весь текст из полей
Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub Text1_Change()
'Чтобы отслеживать изменения в текстовом поле, весь код помести в событие поля Change.
strStroka = Text1.Text
'Текст введенный в текстовое поле присваиваем переменной strStroka
Text2.Text = StrReverse(strStroka)
'Выводим результат работы функции во второе текстовое поле
End Sub
А как же поступали раньше, да, интересно.
А чего тут думать давайте напишем программу, без использования функции.

Работа со строками может приносить интересные плоды, и я не совсем давно написал одну программу.

Объясню, зачем нужны переменные, строка из поля будет попадать для обработки в первую переменную - strA, во вторую переменную, strB, после обработки будет помещен результат, после чего выведен во второе текстовое поле. Ну а третья переменная, I, понадобится для хранения значения счетчика, используемого в цикле.

Что нам необходимо?

Не будем терять время и приступим, вначале создадим новый проект и форму переименуем из Form1 в ReversThis.
На форме расположим 2 TextBox (текстовых поля) и 2 CommandButton (кнопки).
Переименуем соответственно txtFirst и txtSecond, cmdCls и cmdExit. Думаю, название элементов говорят сами за себя, в первое текстовое поле мы будем вводить текст, а во втором получать результат разворота. Чтобы получилась не сырая недоработка, а законченный проект - нажатие на одну кнопку будет очищать текстовые поля, а на вторую завершать приложение.

Для выполнения поставленной задачи нам потребуется использовать цикл For …Next и 2 функции работы со строками: Len и Mid.

Функция Len возвращает число символов содержащихся в строковой переменной, Len(strA).

Например:

Помести на форме TextBox, Label.
Dim strA as String

strA = Text1.text
Label1.Caption = Len(strA)
Чтобы программа отслеживала изменения, происходящие в текстовом поле, этот код должен происходить по событию Change.
Private Sub Text1_Change()

End Sub
Для очищения текстового поля и метки по событию формы Load, приравняем: Text1 = "" и Label1 = ""
Private Sub Form_Load()

End Sub
Но вернемся к нашей программе.

Для чего же нужна будет нам функция Len?

Мы вводим текст в поле и с помощью функции отслеживаем длину строки, чтобы использовать ее в цикле.

Задумались?

Это значение будет указывать нам максимальное значение в цикле. Т.е. цикл будет происходить от 1 до Len(strA). Ладно, дальше станет понятнее.

Еще нам нужна функция Mid.

Синтаксис: Mid("переменная", "начальная_позиция", "количество_символов") Например:
Private Sub Form_Load()
Dim strA As String
strA = "Пример Использования Функции"
Label1 = Mid(strA, 8, 13)
'Результат "Использования"
End Sub
С помощью функции Mid мы будем обрабатывать переменную strB.
Вот собственно итог нашей работы:
Option Explicit
'Откройте пункт в меню Tools=>Options...

'И поставьте галочку, Require Variable Declaration
'Теперь Option Explicit, будет появляться автоматически при создании нового проекта
'Это нужно для предотвращения лишних ошибок, в работе с переменными

Dim strA As String 'Объявляем переменную strA как строковую
'Строка взятая из ТБ1

Dim strB As String 'Объявляем переменную strB как строковую
'Строка помещена в ТБ2

Dim I As Integer

Private Sub Form_Load() 'при загрузке формы очистим оба текстовых поля
txtFirst.Text = ""
txtSecond.Text = ""
End Sub

Private Sub txtFirst_Change() 'Событие Change возникает при любом действии с текстовым полем 'Это нажатие на клавишу или вставка из буфера strB = "" 'При каждом изменении strB будет очищаться, и строиться заново strA = txtFirst.Text 'Помещаем в переменную текст из поля For I = 1 To Len(strA) 'Цикл For ...Next 'Начальное значение 1, конечное это - длина строки из переменной strB = Mid(strA, I, 1) & strB 'Самая важная строка. 'Строим переменную, обрезая переменную strA 'Где I меняется в цикле от 1 до длины строки 'В переменную обрезается 1 символ, & strB - сохраняет прежнее значение Next I 'Продолжение цикла txtSecond.Text = strB 'Вывод результата в текстовое поле End Sub Private Sub cmdCls_Click() 'При нажатии на кнопку очищаем текстовые поля и переменные txtSecond.Text = "" strB = "" txtFirst.Text = "" strA = "" End Sub Private Sub cmdExit_Click() 'Выгружаем форму и завершаем программу Unload Me End Sub

[Квесты] [Video MPEG4] [Софт] [Симуляторы] [Энциклопедии] [Аркады] [MP3] [Экшн] [Ролевые игры] [Стратегии] [Спорт] [DVD Video]
...:::Design by Mystf0rse in 2006 year:::...

В избранное