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

RFpro.ru: Программирование на Basic / VBA


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10948
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 5099
∙ повысить рейтинг »
Кочетков Василий [Vasiliy83]
Статус: Профессионал
Рейтинг: 2078
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Basic/VBA

Номер выпуска:1079
Дата выхода:13.07.2012, 10:30
Администратор рассылки:Кочетков Василий [Vasiliy83] (Профессионал)
Подписчиков / экспертов:104 / 48
Вопросов / ответов:3 / 10

Консультация # 40011: Здравствуйте!!! Я хочу написать программу, которая будет подсчитывать количество букв,количество предложений и количество слов. Текст будет вводится через TextBox, как это сделать, можете написать пример, может есть какая-то функция или процедура подсчёта символов или что-то вроде такого как в Паскале? ...


Консультация # 118065: Доброй ночи, уважаемые эксперты. vba Excel. Вопрос такой. При компилирование, выдается ошибка, что Next i не может быть без For i. В чем ошибка кода? ...
Консультация # 123697: Здравствуйте! Пожалуйста, подскажите, как сделать конструктор, деструктор классов на vb6. И возможно ли такое в принципе? sub new() ругается sub finalize() не срабатывает А ещё меня интересует наследование классов, как я понял, у microsoft и на это тоже свой вариант? impliment или что там,а главное где это писать...

Консультация # 40011:

Здравствуйте!!! Я хочу написать программу, которая будет подсчитывать количество букв,количество предложений и количество слов. Текст будет вводится через TextBox, как это сделать, можете написать пример, может есть какая-то функция или процедура подсчёта символов или что-то вроде такого как в Паскале?

Дата отправки: 11.04.2006, 17:56
Вопрос задал: ataman
Всего ответов: 3
Страница онлайн-консультации »


Консультирует EPDSota:

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

CharsCount=LEN(TextBox.Text)

Консультировал: EPDSota
Дата отправки: 11.04.2006, 18:04
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Ерёмин А.А. (Специалист):

http://rusfaq.ru/?Step=info&Action=Question&ID=39799

Консультировал: Ерёмин А.А. (Специалист)
Дата отправки: 11.04.2006, 18:19
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Филатов Евгений Геннадьевич (Профессионал):

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

Создаем новый проект.
На форме создаем TextBox с опцией MultiLine=True почти на всю форму.
Внизу создаем Label.
В код формы вставляем программу:

Public b As Long
Public s As Long
Public p As Long
Public s1 As Boolean
Public p1 As Boolean
Public i As Long

Private Sub Form_Load()
Form1.Label1 = ""
Form1.Text1 = ""
End Sub

Private Sub Text1_Change()
Dim simv As String * 1
b = 0
s = 0
p = 0
p1 = False
s1 = False
\'В состав набранного текста входят буквы, символы пунктуации, из которых нам важна точка
\'как символ разделения между предложениями, и пробелы, которые разделяют слова.
\'Правило написания предложений:
\'1. Слова разделяются пробелами
\'2. Первое слово, заключенное в скобки (кавычки), пишется без пробела после кавычек
\'3. Закрывающая скобка (кавычка) пишется без пробела после слова
\'4. После знаков пунктуации перед началом слова ставится пробел
\'5. Точка, восклицательный и вопросительный знаки используются только как признак конца предложения
\'6. При обработке начальные и конечные пробелы обрезаются

If Len(Trim(Form1.Text1)) > 0 Then
\'Если длина текста ненулевая, есть первое слово и первое предложение
p = 1
s = 1
\'Проверяем содержимое посимвольно
For i = 1 To Len(Trim(Form1.Text1))
simv = Mid(Trim(Form1.Text1), i, 1)
If p1 And Not (simv = "." Or simv = "!" Or simv = "?") Then
\'если после точки еще есть символы кроме знаков препинания, значит следующее предложение
p = p + 1
p1 = False
End If
If s1 And Not simv = " " Then
\'если после пробела еще есть символы кроме пробела, значит следующее слово
s = s + 1
s1 = False
End If
Select Case simv
Case ".", "!", "?"
\'признак возможного начала следующего предложения
p1 = True
Case " "
\'признак возможного начала следующего слова
s1 = True
Case "A" To "Z", "a" To "z", "А" To "Я", "а" To "я", "Ё", "ё"
b = b + 1
End Select
Next
End If
Form1.Label1 = "предложений - " & p & " слов - " & s & " букв - " & b

End Sub

Консультировал: Филатов Евгений Геннадьевич (Профессионал)
Дата отправки: 11.04.2006, 19:14
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 118065:

Доброй ночи, уважаемые эксперты.
vba Excel.

Вопрос такой. При компилирование, выдается ошибка, что Next i не может быть без For i.

В чем ошибка кода?

Дата отправки: 12.01.2008, 00:56
Вопрос задал: yazzer
Всего ответов: 5
Страница онлайн-консультации »


Консультирует Krasme:

Здравствуйте, yazzer!
у Вас три условия If, следовательно, должно три окончания End if.

фрагмент Вашего текста с дополнением
..
Worksheets("1").Cells(3, 8 + i) = Worksheets("2").Cells(4, 9 + i)
Worksheets("1").Cells(5, 8 + i) = Worksheets("2").Cells(7, 9 + i)
End If
End If \'добавить это окончание условия if
Next i

Консультировал: Krasme
Дата отправки: 12.01.2008, 01:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует heap11:

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

Не хватает одного "End If"

Консультировал: heap11
Дата отправки: 12.01.2008, 01:52
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Ualife:

!!!
Здравствуйте, yazzer!
В коде у вас 3 сравнения типа IF. Все они должны кончаться на END IF. "END IF" - только два. Исправьте эту ошибку

Ответ повторный.
-----
∙ Отредактировал: Климова Марина Александровна (*Мастер-Эксперт)
∙ Дата редактирования: 12.01.2008, 17:48

Консультировал: Ualife
Дата отправки: 12.01.2008, 11:08
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Romnet:

!!!
Здравствуйте, yazzer!
В Вашем коде 3 оператора условия If, но только 2 завершающих End if, добавьте 3ий.

Ответ повторный.
-----
∙ Отредактировал: Климова Марина Александровна (*Мастер-Эксперт)
∙ Дата редактирования: 12.01.2008, 17:48

Консультировал: Romnet
Дата отправки: 12.01.2008, 16:16
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Черников Игорь Владимирович:

!!!
Здравствуйте, yazzer!
Перед Next i поставьте ещё один End If

Ответ повторный.
-----
∙ Отредактировал: Климова Марина Александровна (*Мастер-Эксперт)
∙ Дата редактирования: 12.01.2008, 17:49

Консультировал: Черников Игорь Владимирович
Дата отправки: 12.01.2008, 17:35
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 123697:

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

Пожалуйста, подскажите, как сделать конструктор, деструктор классов на vb6. И возможно ли такое в принципе?

sub new() ругается

sub finalize() не срабатывает

А ещё меня интересует наследование классов, как я понял, у microsoft и на это тоже свой вариант? impliment или что там,а главное где это писать и что это мне даст?

Дата отправки: 18.02.2008, 17:10
Вопрос задал: Талипов А Н
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Тесленко Евгений Алексеевич:

Здравствуйте, Талипов А Н!
http://ifolder.ru/4469396 - VB6.0_знакомство.rar ~2Mb
Евгений.

Консультировал: Тесленко Евгений Алексеевич
Дата отправки: 18.02.2008, 20:47
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует MMAX:

Здравствуйте, Талипов А Н!
вы правильно все поняли

//Цитата
· Initialize - это событие возникает в момент создания (появления) нового объекта класса при работе приложения.
· Terminate - это событие возникает в момент уничтожения объекта.

Это похоже на нужное, но вот как мне теперь в классе создать процедуры , которые будут отрабатывать по этим событиям? Имя-то объекта я не знаю?
//Цитата

ну так вот в теле класса создаете процедуру следующеко вида

Private Sub Class_Initialize()
..
начальная инициализация переменных класса
..
End Sub

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

dim clsMyClass1 as New clsMyClass

далее вызовется процедура Class_Initialize которая и проинициализирует переменные класса

процедуру следующеко вида созданная в классе позволит произвести процедуру "уничтожения" класса

Private Sub Class_Terminate()
Set mvarParent = Nothing
End Sub

она будет автоматически вызвана в следующем условии
Set clsMyClass1 = Nothing

Консультировал: MMAX
Дата отправки: 19.02.2008, 13:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное