C10 и русские буквы в сгенерированных приложениях

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
sergbrother
Прохожий
Сообщения: 4
Зарегистрирован: 13 Июнь 2015, 19:10

C10 и русские буквы в сгенерированных приложениях

Сообщение sergbrother »

Доброго.
Приобрел субъект у SoftVelocity, получил по почте ссылку на скачивание 10.0.0 Build 11834.
Скачал, поставил, как обычно русских букофф в приложении мало (только в полях ввода в формах и Caption Browse).
Написал обращение в туда (bug tracker), оно зарегистрировано и успешно там находится (уже пару месяцев). Улыбнуло - покупали Clarion 3.1 for DOS в свое время (типа в 1995 году) у Topspeed, надеялись на поддержку, так ничего тогда по поддержке не получили.
Поиск на форуме лечение - нашел упоминание о файле AbLang_RUS.inc, но его в C10 вроде нет.
Проблема старая, но я уже не помню, как ее решать.
Может поможет кто?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

C10 и русские буквы в сгенерированных приложениях

Сообщение Yufil »

Добрый день!

Ablang_rus - это из русифицированных шаблонов. Мож, кто занимался русификацией шаблонов для CW10?
Если никто не сделал - возьмит архив из двух файлов для CW6

https://mega.co.nz/#!8oIDGIYL!s6YNS2P-1 ... _oASn5NXSs

Надо переписать ablang_rus в Libsrc и вставить ссылку в Abprogrm.tpw (примерно строка 10)

Код: Выделить всё

  
  CODE
  Include('Ablang_rus.inc') ! ЮФ Русификация
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение Игорь Столяров »

sergbrother писал(а): Скачал, поставил, как обычно русских букофф в приложении мало
Можно не заморачиваться с самопальными шаблонами, а просто вставить где-нибудь в начале работы приложения:
(Проверено, все прекрасно работает в C63 - C10, для WinXP - Win10)

Код: Выделить всё

  Locale('CLACHARSET','WINDOWS')
  Locale('CLACASE','WINDOWS')
  Locale('CLAMONTH','Января,Февраля,Марта,Апреля,Мая,Июня,Июля,Августа,Сентября,Октября,Ноября,Декабря')
  Locale('CLAMON','Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек')
  Locale('CLAAMPM','WINDOWS')
  Locale('CLABUTTON','&OK,&1. Да,&2. Нет,Пре&рвать,&Повторить,&Игнорировать,&Отменить,&Справка')

  SYSTEM{Prop:CharSet} = CHARSET:CYRILLIC
  
  Omit('**CW6**',_CWVER_ = 6100)
  SYSTEM{PROP:Font}    = 'Arial'
  **CW6**
  
   ! Необязательная локализация выдаваемых сообщений о проблемах

  Locale('CLAMSG2'  ,'Файл не найден')                                     ! File Not Found
  Locale('CLAMSG3'  ,'Путь не найден')                                     ! Path Not Found
  Locale('CLAMSG4'  ,'Слишком много открытых файлов')                      ! Too Many Open Files
  Locale('CLAMSG5'  ,'Нет доступа')                                        ! Access Denied
  Locale('CLAMSG7'  ,'Память повреждена')                                  ! Memory Corrupted
  Locale('CLAMSG8'  ,'Недостаточно памяти')                                ! Insufficient Memory
  Locale('CLAMSG30' ,'Запись в очереди не найдена')                        ! Entry Not Found
  Locale('CLAMSG32' ,'Файл уже заблокирован')                              ! File Is Already Locked
  Locale('CLAMSG33' ,'Запись не доступна')                                 ! Record Not Available
  Locale('CLAMSG35' ,'Запись не найдена')                                  ! Record Not Found
  Locale('CLAMSG36' ,'Поврежденный файл данных')                           ! Invalid Data File
  Locale('CLAMSG37' ,'Файл не был открыт')                                 ! File Not Open
  Locale('CLAMSG38' ,'Поврежденный ключевой файл')                         ! Invalid Key File
  Locale('CLAMSG40' ,'Недопустимое повторение ключа')                      ! Creates Duplicate Key
  Locale('CLAMSG43' ,'Запись уже захвачена')                               ! Record Is Already Held
  Locale('CLAMSG45' ,'Некорректное имя файла')                             ! Invalid Filename
  Locale('CLAMSG46' ,'Необходимо перестроить ключ')                        ! Key File Must Be Rebuilt
  Locale('CLAMSG47' ,'Неверная структура файла')                           ! Invalid Record Declaration
  Locale('CLAMSG48' ,'Невозможно открыть файл транзакций')                 ! Unable To Log Transaction
  Locale('CLAMSG52' ,'Файл уже открыт')                                    ! File Already Open
  Locale('CLAMSG53' ,'Поврежденный заголовок dBase файла')                 ! Invalid Clarion File
  Locale('CLAMSG54' ,'Файл не имеет атрибута CREATE')                      ! No Create Attribute
  Locale('CLAMSG56' ,'Транзакция уже активна')                             ! LOGOUT Already Active
  Locale('CLAMSG57' ,'Поврежденный MEMO-файл')                             ! Invalid Memo File
  Locale('CLAMSG63' ,'Необходим монопольный доступ к файлу')               ! Exclusive Access Required
  Locale('CLAMSG64' ,'Нарушение совместного доступа')                      ! Sharing Violation
  Locale('CLAMSG65' ,'Ошибка отката транзакции')                           ! Unable To ROLLBACK Transaction
  Locale('CLAMSG73' ,'Отсутствует MEMO-файл')                              ! Memo File Missing
  Locale('CLAMSG75' ,'Неверное описание типа поля')                        ! Invalid Field Type Descriptor
  Locale('CLAMSG76' ,'Неверный параметр сортировки')                       ! Invalid Index String
  Locale('CLAMSG77' ,'Индекс недоступен')                                  ! Unable To Access Index
  Locale('CLAMSG78' ,'Вызов функции с неверным количеством параметров')    ! Invalid Number Of Parameters
  Locale('CLAMSG79' ,'Тип данных не поддерживается драйвером баз данных')  ! Unsupported Data Type In File
  Locale('CLAMSG80' ,'Функция не поддерживается драйвером баз данных')     ! Unsupported File Driver Function
  Locale('CLAMSG81' ,'Неизвестная ошибка драйвера баз данных')             ! Unknown Error Posted
  Locale('CLAMSG88' ,'Длина ключа(индекса) превышает 245')                 ! Invalid Key Length
  Locale('CLAMSG89' ,'Запись была изменена другим пользователем')          ! Record Changed By Another Station
  Locale('CLAMSG90' ,'Ошибка драйвера баз данных')                         ! File Driver Error
  Locale('CLAMSG800','Неверное выражение')                                 ! Illegal Expression
  Locale('CLAMSG801','Не найдена переменная')                              ! Variable Not Found 
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение kreator »

Есть ещё вариант - запихать всё это в env файл, плюс хорошо бы и CLAMSG прописать (???). А в шаблонах и классах много чего руссифицировать надо.
Народ, а что на десятку можно переезжать (с большим проектом)? Патчей не ждать? Посмотрел десятку слегка, работа над ошибками проведена, на первый взгляд всё здорово.
We are hard at work… for you. :)
sergbrother
Прохожий
Сообщения: 4
Зарегистрирован: 13 Июнь 2015, 19:10

C10 и русские буквы в сгенерированных приложениях

Сообщение sergbrother »

Игорь, спасибо огромное.
Вставил в Embed 'After program code statement' Ваш код и все сразу в момент руссифицировалось.
Куда пиво присылать? :cat:
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение Игорь Столяров »

kreator писал(а): Народ, а что на десятку можно переезжать
В принципе - да ... Достаточно большие изменения в среде, вроде стала побыстрей и поустойчивей.
Практически нет изменений в языке (template, source, runtime), даже все самописные DLL подходят от С91, можно не пересобирать.
Даже не помню, что бы такое было. По большому счету это C92, но законы жанра (условия распространения по подписке) требуют
выпуска новой версии для запуска сбора средств. Поэтому C10. Ура ! :idied:
Make Clarion Great Again ! 😎
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение Губин Игорь »

kreator писал(а): Народ, а что на десятку можно переезжать (с большим проектом)?
Переехал. Глюков не обнаружено. Исправления старых известных мне глюков тоже :idied:
Из необратимого - перестройка DCT. По ощущениям скорость работы как самой среды, так и приложений возросла.
Это я только кажусь дураком! На самом деле я полный идиот!
PavelNK
Старожил
Сообщения: 279
Зарегистрирован: 15 Март 2011, 8:02

C10 и русские буквы в сгенерированных приложениях

Сообщение PavelNK »

Проблемы остались - Message обрезает русские сообщения :(
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение Игорь Столяров »

PavelNK писал(а): Проблемы остались - Message обрезает русские сообщения
Я же уже написал про это ниже по теме обсуждения ...
Вставь где-нибудь в начале программы (порядок следования строк не менять):

Код: Выделить всё

  Locale('CLACHARSET','WINDOWS')
  Locale('CLACASE','WINDOWS')
  Locale('CLAMONTH','Января,Февраля,Марта,Апреля,Мая,Июня,Июля,Августа,Сентября,Октября,Ноября,Декабря')
  Locale('CLAMON','Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек')
  Locale('CLAAMPM','WINDOWS')
  Locale('CLABUTTON','&OK,&1. Да,&2. Нет,Пре&рвать,&Повторить,&Игнорировать,&Отменить,&Справка')

  SYSTEM{Prop:CharSet} = CHARSET:CYRILLIC
  SYSTEM{PROP:Font}     = 'Arial'
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение kreator »

Игорь Столяров писал(а):SYSTEM{PROP:Font} = 'Arial'
Вот так по-модному:

Код: Выделить всё

SYSTEM{PROP:Font} = 'Segoe UI'
:idied:
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение Игорь Столяров »

kreator писал(а): SYSTEM{PROP:Font} = 'Segoe UI'
Мне не понравилось. Шрифт мельче ARIAL, что для сообщений не есть плюс.
К тому же со старыми операционками, вроде WinXP, можно нарваться на проблемы ...
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение kreator »

Я прямо знал, что так ответишь :D . Segoe как раз разработан для удобочитаемости, весь интерфейс Винды на нём. А отсутствие поддержки в XP можно обернуть ещё и в свою пользу - объяснить клиентам, что MS завершила поддержку XP, а мы можем посодействовать в переходе на Win10 за отдельную плату. Как-то так.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение Игорь Столяров »

kreator писал(а): что MS завершила поддержку XP
Я не против системного шрифта современных Windows ...
Здесь скорее проблема в том, что не всякий компьютер с WinXP потянет Win10, ой не всякий ...
К тому MS лукавит насчет перехода, я помню в свое время при переходе WinXP на Win7 пришлось много компов
менять просто из-за отсутствия драйверов на старое железо ... Та же история и здесь, не зря пол Китая сидит на XP. :idied:
Make Clarion Great Again ! 😎
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

C10 и русские буквы в сгенерированных приложениях

Сообщение Yufil »

Добрый день!

Несколько бессвязных мыслей ... :D
1. Вроде, Win8 и позже требует UEFI вместо BIOS. Недавно на работе попытка установить Win8/64 на неплохой комп обломилась..

2. Никто не пользует XPTaskPanel в CW9-CW10 ? Там почему-то деструктор класса падать стал на ровном месте :( Тот же исходник в CW6 работает со свистом.

3. Не очень удобно в Дизайнере экранов, для каждого контрола сразу выставляется кодовая страница 204, но в исходном коде она не появляется, а вот если пихнуть стрелки вверх-вниз на спинбоксе, всё устаканится. Неудобно :?

4. Ещё о русских буквах - в Abpopup.clw строка 701 и дальше

Код: Выделить всё

      OF VAL('A') TO VAL('Z')
      OROF VAL('a') TO VAL('z')
      OROF VAL('0') TO VAL('9')
Если сюда не добавить кириллицу, то Popup-меню в Browse правильно работать не будет ...
Эту правку в текст программы не воткнёшь
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

C10 и русские буквы в сгенерированных приложениях

Сообщение kreator »

Меня четвёртый пункт заинтересовал, никогда не сталкивался, хотя часто пользуюсь. Там идёт проверка на уникальность названия пункта меню, причём, если название и текст пункта совпадают (метод AddItem вызывается с одним значением). Как нарваться на эту ошибку (а она, действительно, должна быть судя по тексту)?
We are hard at work… for you. :)
Ответить