|
Поменять регистри в 1с - 1С | ☑ | ||
---|---|---|---|---|
0
Casper21
07.10.15
✎
00:08
|
Написать программу:
Берем текст, находим там первую букву "а" и меняем все следующие букви (кроме той первой "а") "а" на "А", потом находим большую "Б" и все следующие меняем на маленькие "б". Или хоть алгоритм какой нибудь. Спасибо |
|||
1
PR третий
07.10.15
✎
00:11
|
Да.
|
|||
2
Злопчинский
07.10.15
✎
00:12
|
Согласен
|
|||
3
ViSo76
07.10.15
✎
00:21
|
Легко
|
|||
4
Asmody
07.10.15
✎
00:27
|
(0) А где: "Слава Путину! Слава России!"?
|
|||
5
Kain_wrath
07.10.15
✎
00:42
|
Белоленточники в треде
|
|||
6
Zamestas
07.10.15
✎
01:08
|
Как два пальца - алгоритм:
Берем текст, находим там первую букву "а" и меняем все следующие букви (кроме той первой "а") "а" на "А", потом находим большую "Б" и все следующие меняем на маленькие "б". |
|||
7
Andrewww123
07.10.15
✎
05:24
|
Можно проще: "ПоменятьРегистри(а->А)"
|
|||
8
DDwe
07.10.15
✎
05:45
|
Кто такой этот ТС?
|
|||
9
jurassic
07.10.15
✎
06:12
|
а можно я не буду писать такую программу?
|
|||
10
SleepyHead
гуру
07.10.15
✎
06:13
|
Книгу о вкусной и здоровой пище уже предлагали?
|
|||
11
kosts
07.10.15
✎
06:48
|
(0) Не благодари
|
|||
12
jurassic
07.10.15
✎
06:53
|
можно и в одну строку кода уложить
|
|||
13
Andrewww123
07.10.15
✎
06:55
|
(12) Любой код можно записать в виде одной строки
|
|||
14
kosts
07.10.15
✎
06:57
|
(12) Нет никакого смысла. Ну может быть кроме как для обфускации...
|
|||
15
jurassic
07.10.15
✎
07:03
|
(13) в один оператор
|
|||
16
mishaPH
модератор
07.10.15
✎
07:05
|
в что, ВРег(твоя строка)уже отменили?
|
|||
17
jurassic
07.10.15
✎
07:05
|
(16) а поможет?
|
|||
18
Andrewww123
07.10.15
✎
08:49
|
(15) Можно пример?
|
|||
19
jurassic
07.10.15
✎
08:57
|
(18) Лев(стр, Найти(стр, "а"))+Сред(стр, Найти(стр, "а")+1) - как-то так
|
|||
20
Andrewww123
07.10.15
✎
09:12
|
(19) Вообще не понял
|
|||
21
jurassic
07.10.15
✎
09:15
|
(20) конкатенация кусков строк. куски получаются из исходной строки каждый раз
|
|||
22
Andrewww123
07.10.15
✎
09:19
|
(21) А где одна строка-то? :) Эта одна строка сама вопрос не решает
|
|||
23
jurassic
07.10.15
✎
09:28
|
(22) кусок до первой а+стрзаменить остаток
ну да, остаётся б |
|||
24
jurassic
07.10.15
✎
09:33
|
кусок от (кусок до первой а+стрзаменить остаток) до первой б+стрзаменить остаток от (кусок до первой а+стрзаменить остаток)
изврат какой |
|||
25
Stim
07.10.15
✎
09:35
|
"находим там первую букву "а" и меняем все следующие букви (кроме той первой "а") "а" на "А", потом находим большую "Б""
меняем все буквы на "а", а потом ищем букву "Б"? Откуда ей взяться-то, если все буквы уже "а" ? |
|||
26
PR третий
07.10.15
✎
14:08
|
1. Находим первую "а", меняем ее на случайно сгенеренный ГУИД
2. Заменяем все "а" на "А" 3. Заменяем ГУИД на "а" 4. Находим первую "Б", меняем ее на случайно сгенеренный ГУИД 5. Заменяем все "Б" на "б" 6. Заменяем ГУИД на "Б" |
|||
27
jurassic
07.10.15
✎
14:09
|
(26) чаще всего даже сработает
|
|||
28
Лефмихалыч
07.10.15
✎
14:15
|
ваш кролик написал...
|
|||
29
ДенисЧ
07.10.15
✎
14:17
|
||||
30
jurassic
07.10.15
✎
14:29
|
(29) забавно там версия текста выглядит
|
|||
31
Casper21
07.10.15
✎
15:11
|
(16) ВРег(твоя строка) преобразует все символы не так ли?
А мне нужно было только те которые после "1-ой" буквы. Спасибо (11) я сделал по ево методу, большое спасибо! |
|||
32
Garykom
гуру
07.10.15
✎
15:15
|
(31) цикл по символам, определяем регистр текущего символа
2 строки "АБВ..." и "абв..." ищем в какой строке символ нашелся такой и регистр и делаем или НРег() или ВРег() ЗЫ и "сенька бери мяч" не надо |
|||
33
PR третий
07.10.15
✎
15:20
|
(27) Приведешь пример, когда не сработает?
|
|||
34
bolobol
07.10.15
✎
15:21
|
Да не пригодится это в 1С... Пишите на С, что ли, без единицы вначале, который
|
|||
35
magicSan
07.10.15
✎
15:25
|
(11) в цикле рекурсие какая жуть - что стрзаменить не катит?
|
|||
36
kosts
07.10.15
✎
15:27
|
(35) При вычислении факториала, всегда приводят способ с рекурсией, однако никого это не напрягает.
|
|||
37
magicSan
07.10.15
✎
15:30
|
(36) ещё ума хватает сравнивать цикл с стрзаменить ....
|
|||
38
kosts
07.10.15
✎
15:32
|
(37) Данный способ приведен как пример. Никого не заставляю его использовать.
|
|||
39
Casper21
07.10.15
✎
15:36
|
(38) а как заменить на СтрЗаменить?
|
|||
40
magicSan
07.10.15
✎
15:37
|
(39) Процедура ПриОткрытии()
хня("Б","456465аааББББрлорлоааааабббБББББкененааааа") КонецПроцедуры процедура хня(парам="а",стр="хня") ОчиститьСообщения(); Сообщить(стр); символ=?(парам=врег(парам),НРег(парам),врег(парам)); темп=найти(стр,парам); если темп>0 тогда стр=СтрЗаменить(стр,парам,символ); стр=лев(стр,темп-1)+парам+сред(стр,темп+1,999); конецесли; сообщить(стр); конецпроцедуры |
|||
41
Горогуля
07.10.15
✎
15:39
|
(33) строка включает в себя подстроку 'случайно сгенеренный ГУИД'
|
|||
42
magicSan
07.10.15
✎
15:40
|
(38) ты хоть запускал свою функцию??? не взлетела
|
|||
43
kosts
07.10.15
✎
15:41
|
(40) Молодец только не правильно. ха-ха. зато гонору то
456465аааББББрлорлоааааабббБББББкененааааа 456465аааБбббрлорлоаааааббббббббкененааааа |
|||
44
magicSan
07.10.15
✎
15:42
|
(43) и?? первый остался отсальные сменили регистр чо не так?
|
|||
45
kosts
07.10.15
✎
15:44
|
(44) в тексте задания маленькая а заменятся на большую, а не регистр меняется.
|
|||
46
magicSan
07.10.15
✎
15:45
|
(45) это в примере а в тексте менять регистр буквы
|
|||
47
magicSan
07.10.15
✎
15:45
|
(45) и да твоя функция тока для "а" - пиши ещё 65 дл остальных с учетом регистра.
|
|||
48
kosts
07.10.15
✎
15:47
|
(47) А, пусть ТС масштабирует
|
|||
49
kosts
07.10.15
✎
15:53
|
(40) нормально работает, эт я что-то на букве "а" зациклился...
|
|||
50
User_Agronom
07.10.15
✎
15:56
|
(1) Нет.
|
|||
51
Casper21
07.10.15
✎
15:58
|
(48) подскажите пожалуйста, как правильно ее запустить ((
:( |
|||
52
Горогуля
07.10.15
✎
15:58
|
(48) масштабирует, да?
|
|||
53
Casper21
07.10.15
✎
16:05
|
(40) Спасибо, разобрался
|
|||
54
Дмитрий
07.10.15
✎
16:06
|
Читаешь строку посимвольно. Символы, прочитанные первый раз - переводишь в верхний регистр и добавляешь их к другой строке, изначально пустой. Эту вторую строку используешь для контроля - если находишь в ней текущий символ первой строки, переводишь его в нижний регистр.
|
|||
55
Casper21
07.10.15
✎
16:15
|
(40) а как сделать так, чтобы меняло сразу несколько букв?
а-а, б-Б, В-в, Г-г. |
|||
56
Casper21
07.10.15
✎
22:02
|
а как сделать так, чтобы меняло сразу несколько букв?
а-а, б-Б, В-в, Г-г. Процедура ПриОткрытии() хня("Б","456465аааББББрлорлоааааабббБББББкененааааа") КонецПроцедуры процедура хня(парам="а",стр="хня") ОчиститьСообщения(); Сообщить(стр); символ=?(парам=врег(парам),НРег(парам),врег(парам)); темп=найти(стр,парам); если темп>0 тогда стр=СтрЗаменить(стр,парам,символ); стр=лев(стр,темп-1)+парам+сред(стр,темп+1,999); конецесли; сообщить(стр); конецпроцедуры |
|||
57
Garykom
гуру
07.10.15
✎
22:14
|
(56) может так?
Процедура Сформировать() ВходящаяСтрока = "АаБбВвГг"; ИсходящаяСтрока = ""; КоличествоСимволов = СтрДлина(ВходящаяСтрока); Для НомерСимвола=1 По КоличествоСимволов Цикл // цикл по символам входящей строки ТекСимвол = Сред(ВходящаяСтрока, НомерСимвола, 1); Если Врег(ТекСимвол)=ТекСимвол Тогда // верхний регистр, переводим в нижний ТекСимвол = Нрег(ТекСимвол); ИначеЕсли Нрег(ТекСимвол)=ТекСимвол Тогда // нижний регистр, переводим в верхний ТекСимвол = Врег(ТекСимвол); Иначе // хз какое то, не трогаем, переносим так КонецЕсли; ИсходящаяСтрока = ИсходящаяСтрока + ТекСимвол; // прибавляем символ в исходящую строку КонецЦикла; Сообщить("Было: "+ВходящаяСтрока); Сообщить("Стало: "+ИсходящаяСтрока); КонецПроцедуры |
|||
58
Casper21
07.10.15
✎
22:21
|
(57) и вам спасибо!
|
|||
59
Casper21
07.10.15
✎
22:22
|
а что такое СчЦ ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |