Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Определение номера символа
SergДата: Суббота, 30 Мая 2009, 00:14 | Сообщение # 1
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Как узнать номер символа в строке,например qwerty,буква "r" четвёртая.

 
Alex3AДата: Суббота, 30 Мая 2009, 00:19 | Сообщение # 2
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
HELP, HELP, READ!!
 
toizyДата: Суббота, 30 Мая 2009, 00:20 | Сообщение # 3
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Пока не прочитаешь весь хелп, не скажем...

Жизнь оказалась не такой уж и забавной, как поначалу...
 
DEMBELДата: Суббота, 30 Мая 2009, 01:56 | Сообщение # 4
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Ну все, остаешься на два часа после уроков и пишешь на доске 1000 раз "Йа буду читать хелп".



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SowerДата: Суббота, 30 Мая 2009, 04:49 | Сообщение # 5
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Нельзя же над человеком так :D

Сообщение отредактировал Grand - Суббота, 30 Мая 2009, 04:50
 
Alex3AДата: Суббота, 30 Мая 2009, 10:44 | Сообщение # 6
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Serg)
номер символа в строке

Стало быть строковые функции, а примеры в папке семпл.
 
SowerДата: Суббота, 30 Мая 2009, 12:02 | Сообщение # 7
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Alex3A)
Стало быть строковые функции

Да, нет ничего сложного, разберется :)
 
SergДата: Суббота, 30 Мая 2009, 12:56 | Сообщение # 8
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Не уточнил,а если в строчке несколько таких символов?И нужно получитть номер каждой и загнать в переменную.

 
toizyДата: Суббота, 30 Мая 2009, 13:11 | Сообщение # 9
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
то же самое, только необходимо организовать цикл. проверяем символы по очереди, потом StrGet(s$, i, 1), потом ORD()

Жизнь оказалась не такой уж и забавной, как поначалу...
 
DEMBELДата: Суббота, 30 Мая 2009, 13:12 | Сообщение # 10
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Serg)
Не уточнил,а если в строчке несколько таких символов?И нужно получитть номер каждой и загнать в переменную.

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

Добавлено (30 Май 2009, 13:12)
---------------------------------------------
о, теперь знаю как по уму...




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SergДата: Суббота, 30 Мая 2009, 13:20 | Сообщение # 11
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
о, теперь знаю как по уму...

:D


 
SergДата: Суббота, 30 Мая 2009, 13:24 | Сообщение # 12
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Дембель,тебе :D
Прикрепления: 5744415.txt (19.5 Kb)


 
Alex3AДата: Суббота, 30 Мая 2009, 13:27 | Сообщение # 13
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (toizy)
то же самое, только необходимо организовать цикл. проверяем символы по очереди, потом StrGet(s$, i, 1), потом ORD()

Это и есть по уму индекс цикла и есть позиция нужного символа.
"проверяем символы по очереди StrGet(s$, i, 1)," если совпало " потом ORD()",
тут же i номер найденого символа.
toizy, просто немного сумбурно написал, но я его понял и вполне согласен.
 
YURIYДата: Суббота, 30 Мая 2009, 16:33 | Сообщение # 14
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote
Serg

Ветеран форума

Сообщений: 355

Ты за всё это время работы с MMB развился хоть на 1%? Как можно не понимать такие простые вещи... Если программирование тебе не даётся - зачем ломить стену головой?

Извини, если я не прав. Просто наблюдение со стороны...



Вечная память Андрею Сергееву!
 
SergДата: Суббота, 30 Мая 2009, 23:31 | Сообщение # 15
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Разве я всё не понимаю?Если не такой умный в этой области,нужно вешать руки?Я привык добиваться поставленной цели,если не нашёл в хелпе,эт не значит что тупой.
"Ткни" меня в то место в хелпе где написаны команды для определения позиции символа,тогда я пойму и разберусь.

Добавлено (30 Май 2009, 23:31)
---------------------------------------------
И ещё,Юр,зачем создавался сайт?Чтоб помоч другим освоить,чтоб протолкнуть других в этой области,чтоб помоч себе,т.к. много идей будет от поклонников сайта и ММб.
Разве я не прав?


 
YURIYДата: Воскресенье, 31 Мая 2009, 00:58 | Сообщение # 16
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Serg)
"Ткни" меня в то место в хелпе где написаны команды для определения позиции символа,тогда я пойму и разберусь.

Help -> Вкладка "Поиск" -> "Строковые функции". В результатах: "Дополнительные строковые функции".

Quote (Serg)
И ещё,Юр,зачем создавался сайт?Чтоб помоч другим освоить,чтоб протолкнуть других в этой области,чтоб помоч себе,т.к. много идей будет от поклонников сайта и ММб. Разве я не прав?

Это всё само собой. Я вот о чём. Всё познаётся в сравнении всё же. Ты на форуме уже пол года. За это время другие новички уже сами помогали на нашем форуме вновь прибывшим юзерам scratch

Извини ещё раз, если задел. Все мы разные, это само собой. Конечно, спрашивай, если что непонятно. Не забывай также о хелпе и поиске на сайте :)



Вечная память Андрею Сергееву!
 
SergДата: Воскресенье, 31 Мая 2009, 12:25 | Сообщение # 17
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
Дополнительные строковые функции

Естественно я тут был,но нету тут функции определения номера символа.
Code

VAL(текст$)  
CHAR(число)  
CHR(число)
ORD(символ$)  
LEN(строка$)  
LOW(строка$) / UPP(строка$)
POS(подстрока$,строка$)
NOL(ИмяФайла$)  
StrCopy(Строка$,Номер,Количество)  
StrDel(Строка$,Номер,Количество)  
StrIns(ИсходнаяСтрока$,ДопСтрока$,Номер)
StrGet(Строка$,Номер)  
StrSet(Строка$,Номер,C$)  
StrOfChar(C$,i)  
StrChange(Строка$,Найти$,Заменить$)  
StrToFile(ИмяФайла$,Строка$,Дополнить,НоваяСтрока)   
StrToLine(ИмяФайла$,Строка$,Номер,ПоверхСтроки)  
ExtractExt(Путь$)
ExtractName(Путь$)  
ExtractDir(Путь$)
ExtractDrive(Путь$)  

Подскажи какой из них воспользоваться.


 
toizyДата: Воскресенье, 31 Мая 2009, 13:49 | Сообщение # 18
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Тебе что, порядковый номер в строке? scared

Мы тебе про КОД символа. Если порядковый, то POS


Жизнь оказалась не такой уж и забавной, как поначалу...
 
SergДата: Воскресенье, 31 Мая 2009, 13:55 | Сообщение # 19
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
toizy,я так и подумал что не так подумаете :D
Quote
Как узнать номер символа в строке,например qwerty,буква "r" четвёртая.

я ж и написал что r четвёртая :D
Про пос так и думал.Но тоже надо создать цикл для определения позиции нескольких одинаковых символов в строке?


 
toizyДата: Воскресенье, 31 Мая 2009, 14:05 | Сообщение # 20
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
ну так объясняй доходчиво. тебя ж икто не понял

цикл да, нужен. Как-то так:

Code
s$ = 'qwertyasdrtyzxcrty'
sub$ = 'r'
pCount = 0
L = LEN(s$)
For i = 1 To L
   p = POS(sub$, s$)
   If (p <> 0) Then
     pCount = pCount + p
     Message("ПОзиция символа","pCount")
     s$ = StrDel(s$, 1, p)
   End
Next i


Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Воскресенье, 31 Мая 2009, 16:47 | Сообщение # 21
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (toizy)
цикл да, нужен. Как-то так:

Ну и на фиг нада pCount, когда i это и есть номер символа в строке,
убрать не нужную переменную и Message("ПОзиция символа","i").
Тебе просто голову затуркали :D
 
toizyДата: Воскресенье, 31 Мая 2009, 16:56 | Сообщение # 22
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (Alex3A)
Ну и на фиг нада pCount, когда i это и есть номер символа в строке,

Затем что я удаляю часть строки - StrDel

Добавлено (31 Май 2009, 16:55)
---------------------------------------------
сделано это затем, что POS

Quote
returns the index of the first character of SubString within String

Функции POS в ММВ немного отличаюца от POS в Делфи ))

Добавлено (31 Май 2009, 16:56)
---------------------------------------------
Хмм... ничем не отличаюца redface . но тем не менее :)


Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Воскресенье, 31 Мая 2009, 17:19 | Сообщение # 23
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (toizy)
но тем не менее

Не вник сразу в обработку, цикла хватило.
L = LEN(s$)
For i = 1 To L
получаются излишние проходы, подумай как сделать код елегантней
типа
L =GetArrayNum(s$,sub$)
и далее по тексту.
 
  • Страница 1 из 1
  • 1
Поиск: