Доступ к элементам формы
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Доступ к элементам формы
Добрый день всем!
Возможно ли в С9 такое:
Loop i#=1 to 10
?button&i#{prop:text}='....'
End
Или
Loop i=элементФормы то ЭлементыФормы
If i=button then
i{prop:text}='...'
End
End
Вообще нужно перебрать все кнопки на форме и изменить их надписи на них.
Заранее благодарен!
Возможно ли в С9 такое:
Loop i#=1 to 10
?button&i#{prop:text}='....'
End
Или
Loop i=элементФормы то ЭлементыФормы
If i=button then
i{prop:text}='...'
End
End
Вообще нужно перебрать все кнопки на форме и изменить их надписи на них.
Заранее благодарен!
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Доступ к элементам формы
Пользуйся.
Может список контролов неполный. Только начало.
Код: Выделить всё
SetLanguage Routine
if GLO:Language=1
exit
end
if ~GLO:Language
Language" = 'RU'
else
Language" = choose(GLO:Language,'EN','IT','DE','FR','ES','PT')
end
0{prop:Text} = getini(0{prop:Text},Language",0{prop:Text},GLO:LanguageFile)
0{prop:MSG} = getini(0{prop:MSG},Language",0{prop:MSG},GLO:LanguageFile)
qty# = create(0,CREATE:prompt)
if qty#
destroy(qty#)
loop i#=1 to (qty#-1)
case i#{prop:Type}
of CREATE:button
orof CREATE:tab
orof CREATE:group
orof CREATE:prompt
i#{prop:Text} = getini(i#{prop:Text},Language",i#{prop:Text},GLO:LanguageFile)
i#{prop:MSG} = getini(i#{prop:MSG},Language",i#{prop:MSG},GLO:LanguageFile)
i#{prop:Tip} = getini(i#{prop:Tip},Language",i#{prop:Tip},GLO:LanguageFile)
of CREATE:list
orof CREATE:combo
i#{prop:MSG} = getini(i#{prop:MSG},Language",i#{prop:MSG},GLO:LanguageFile)
i#{prop:Tip} = getini(i#{prop:Tip},Language",i#{prop:Tip},GLO:LanguageFile)
j# = 1
loop
if i#{proplist:Exists, j#}=True
i#{proplist:Header, j#} = getini(i#{proplist:Header, j#},Language",i#{proplist:Header, j#},GLO:LanguageFile)
j# += 1
else
break
end
end
end
end
end
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7387
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 14 раз
- Поблагодарили: 49 раз
Доступ к элементам формы
Вот если бы ты к этому коду прикрутил перевод интерфейса по словарю - было бы супер ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Доступ к элементам формы
Ну а как по словарю? Сейчас храню фразы. Воспользоваться гугловским сервисом перевода? В интерфейсе нужны максимально точные формулировки исходя из специфики функционала программы. Боюсь на машинный перевод нельзя положиться. Или не о том речь?Игорь Столяров писал(а):Вот если бы ты к этому коду прикрутил перевод интерфейса по словарю - было бы супер ...
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7387
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 14 раз
- Поблагодарили: 49 раз
Доступ к элементам формы
Именно о том. Это мечта всей жизни - создать автоматизированную систему перевода интерфейса программы.kreator писал(а):Или не о том речь?
В принципе, я уже как-то думал на эту тему, можно пойти следующим путем:
1. Как показано в твоем примере - пробегаем по всем окнам и формируем список (БД) уникальных
названий на русском: строки, кнопки, шапки списков и т.д. Без учета регистра естественно.
2. Выгружаем в текст, натравливаем на него какой переводчик и получаем значения на нескольких языках.
3. Загружаем обратно в БД, корректируем смысловую нагрузку вручную (тонкости перевода)
4. Все. Далее все-то же самое, просто значение подставляет из БД, в зависимости от выбранного языка,
с учетом заглавных букв, знаков препинания и т.д.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Доступ к элементам формы
У меня тоже в этом направлении мысли были. На начальном этапе нет времени усложнять, проект и так горит. А так я согласен. По пунктам:
1. Хранить словарь (естественно, фразы) в БД.
2. Сделать интерфейс для удобоваримого перевода всего что есть на экране. Не уверен, что нужен машинный переводчик, лучше сразу к спецу.
3. Структура словаря (вызывает вопрос). Сейчас я сделал "глобальные фразы", типа "Add" всегда "Добавить". В Clarione есть класс Translate, так вот там привязка к конкретному окну. Я поначалу посчитал это ни к чему. Но в последствии столкнулся с тем, что одинаковые фразы на английском языке на разных окнах нужно по разному "перевести". Вот этот момент тоже неплохо бы как-то обыграть. Но жёсткая привязка к окну тоже не нужна, зачем плодить одинаковые записи.
1. Хранить словарь (естественно, фразы) в БД.
2. Сделать интерфейс для удобоваримого перевода всего что есть на экране. Не уверен, что нужен машинный переводчик, лучше сразу к спецу.
3. Структура словаря (вызывает вопрос). Сейчас я сделал "глобальные фразы", типа "Add" всегда "Добавить". В Clarione есть класс Translate, так вот там привязка к конкретному окну. Я поначалу посчитал это ни к чему. Но в последствии столкнулся с тем, что одинаковые фразы на английском языке на разных окнах нужно по разному "перевести". Вот этот момент тоже неплохо бы как-то обыграть. Но жёсткая привязка к окну тоже не нужна, зачем плодить одинаковые записи.
We are hard at work… for you.