powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка символьных данных
11 сообщений из 11, страница 1 из 1
Обработка символьных данных
    #38639286
Anka123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даны две строки произвольного текста. Известно, что среди символов в каждой строке имеются хотя бы две буквы «m». Составить процедуру, преобразующую текст путем замены запятыми всех двоеточий и точками всех восклицательных знаков, расположенных между двумя буквами «m». В программе обрабатываются две строки.
Помогите решить.
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639292
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639303
Anka123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Вот не надо тут, я делаю попытки решить, но все они - напрасны и от безвыходности прибегаю к помощи. :( Помогите, пожалуйста, в решении задачи.

вот я что-то пыталась сделать, но окончательно запуталась:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Sub CW(ByVal S0 As String, S1 As String)
Dim SI As Integer
Dim Flag As Boolean
Dim Flag1 As Boolean
Dim I As Integer
Dim S2 As String
S = ""
S = S0
Flag1 = True
Do
Flag = True
For I = 1 To Len(S2)
If Mid(S2, 1, 4) = "," Then
S1 = Mid(S2, 1, I - 1) + ":" + Mid(S2, I + 4, Len(S2))
Flag = False
Flag1 = False
End If
Next I
S2 = S1
Loop Until Flag = True
If (Flag1 = True) Then S1 = S0
End Sub

Private Sub Command2_Click()
Dim A As String
Dim A1 As String
SO = Text4.Text
Call CW(SO, Sl)
Text4.Text = S1
End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639316
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Call CW(SO, Sl)


у вас переменная Sl нигде не объявлена, никак не инициализирована, а вы пытаетесь передать ее в процедуру...
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639322
Anka123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Dim SO As String
Dim S1 As String
так объявляю, но всё равно ошибка, или как-то иначе нужно? не знаю других способов
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639323
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anka123,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
REM в sData - исходная строка, в sResult собираем результат трудов
Const SM As String = "m"

Dim mFirst As Long, mLast As Long
Dim sResult As String

REM первое вхождение 'm' в исходную строку
mFirst = InStr(1, sData, SM, vbBinaryCompare)

REM последнее вхождение 'm' в исходную строку
mLast = InStrRev(sData, SM, -1, vbBinaryCompare)

REM "междуmнее" и, возможно, замены в нём
If mLast = mFirst +1 Then
  sResult = sData
Else
  sResult = Mid$(sData, mFirst +1, mLast - mFirst - 1)
  sResult = Repalce(sResult, ":", ",", 1, -1, vbBinaryCompare)
  sResult = Replace(sResult, "!", ".", 1, -1, vbBinaryCompare)
  sResult = Left$(sData, mFirst) & sResult & Mid$(sData, mLast)
End If

hope it's help
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639331
Anka123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

не пойму, это в функцию? или это просто код?
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639334
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anka123,
это в процедуру, судя по Вашему заданию. Это код, просто код...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Option Explicit
REM ! возможны оЧепятки
' -- -- -- -- -- -- -- -- -- -- -- --
Sub SmartReplace(ByVal sFormalData As String, sFormalResult As String, ByVal SFormalM As String)
  Dim mFirst As Long, mLast As Long

  mFirst = InStr(1, sFormalData, SFormalM, vbBinaryCompare)
  mLast = InStrRev(sFormalData, SFormalM, -1, vbBinaryCompare)

  If mLast = mFirst +1 Then
    sFormalResult = sFormalData
  Else
    sFormalResult = Mid$(sFormalData, mFirst +1, mLast - mFirst - 1)
    sFormalResult = Repalce(sFormalResult, ":", ",", 1, -1, vbBinaryCompare)
    sFormalResult = Replace(sFormalResult, "!", ".", 1, -1, vbBinaryCompare)
    sFormalResult = Left$(sFormalData, mFirst) & sFormalResult & Mid$(sFormalData, mLast)
  End If
End Sub

' -- -- -- -- -- -- -- -- -- -- -- --
Private Sub Command2_Click()
  Dim SRealData As String, SRealResult As String
  SRealData = Text4.Text
  Call SmartReplace(SRealData, SRealResult, "m")
  Text4.Text = SRealResult
End Sub

...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639690
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proу вас переменная Sl нигде не объявленаAnka123Dim S1 As String
так объявляю, но всё равно ошибкапотому что вы объявляете переменную ЭС ОДИН, а передаете переменную ЭС ЭЛЬ

в дальнейшем, во избежание подобных ошибок прочтите: http://www.sql.ru/faq/faq_topic.aspx?fid=2539
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639836
Anka123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

спасибо огромное, я б в жизни не додумалась до такого, сейчас хоть разобралась :)
...
Рейтинг: 0 / 0
Обработка символьных данных
    #38639977
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anka123,

Public Function test(sData As String)
Dim Ar As Variant
Dim element As Variant

Ar = Split(sData, SM)

For Each element In Ar
sData = Replace(sData, SM + element + SM, Replace(element, ":", ","))
sData = Replace(sData, SM + element + SM, Replace(element, "!", "."))
Next

test = sData
End Function
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка символьных данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]