Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка символьных данных / 11 сообщений из 11, страница 1 из 1
12.05.2014, 23:58
    #38639286
Anka123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка символьных данных
Даны две строки произвольного текста. Известно, что среди символов в каждой строке имеются хотя бы две буквы «m». Составить процедуру, преобразующую текст путем замены запятыми всех двоеточий и точками всех восклицательных знаков, расположенных между двумя буквами «m». В программе обрабатываются две строки.
Помогите решить.
...
Рейтинг: 0 / 0
13.05.2014, 00:05
    #38639292
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка символьных данных
...
Рейтинг: 0 / 0
13.05.2014, 00:19
    #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
13.05.2014, 01:05
    #38639316
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка символьных данных
Код: vbnet
1.
Call CW(SO, Sl)


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

Dim SO As String
Dim S1 As String
так объявляю, но всё равно ошибка, или как-то иначе нужно? не знаю других способов
...
Рейтинг: 0 / 0
13.05.2014, 01:16
    #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
13.05.2014, 01:43
    #38639331
Anka123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка символьных данных
скукотища,

не пойму, это в функцию? или это просто код?
...
Рейтинг: 0 / 0
13.05.2014, 01:59
    #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
13.05.2014, 13:03
    #38639690
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка символьных данных
Shocker.Proу вас переменная Sl нигде не объявленаAnka123Dim S1 As String
так объявляю, но всё равно ошибкапотому что вы объявляете переменную ЭС ОДИН, а передаете переменную ЭС ЭЛЬ

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

спасибо огромное, я б в жизни не додумалась до такого, сейчас хоть разобралась :)
...
Рейтинг: 0 / 0
13.05.2014, 16:18
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка символьных данных / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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