FAQ

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Admin
Администратор
Сообщения: 3440
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

FAQ

Сообщение Admin » 06 Июль 2017, 7:47

  1. Шрифты, языки, кодировки, крякозябры
    Конвертация UTF-8 -> Windows 1251 и обратно
    Show
    Класс тут

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

     include('Cstr.inc')
    cvt 	cstr
      code
      cvr.set('some text')
      cvt.toutf8()
      ! or
      cvt.toascii()
      message(cvt.str())
    Кракозябры в IDE
    Show
    В файле bin\Clarion.env:

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

    CLASYSTEMCHARSET=204
    CLACHARSET=Cyrillic
    Программное переключение раскладки клавиатуры
    Show
  2. Другое
    Работаем с internet (http, https, ftp, sftp, ftpes и т.д.)
    Show
    Как выгрузить в очередь произвольный SQL-запрос.
    Show
    Процедура проверки перед входом в программу.
    Show
    Создать процедуру (CheckPassword) для проверки пароля при входе программу test.app
    Процедура Main -> ThisWindow.Run PROCEDURE -> перед Parent (2500)
    вставка кода:

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

    IF NOT CheckPassword() THEN RETURN Level:Cancel END
    
    если 0 то закрывается test.app
    Как воспроизвести в кларион звук.файл
    Show
    Вернуть несколько значений в функции
    Show
    С10 (С11) - запуск при переустановке windows 10
    Show

    Пришлось переустанавливать windows 10, для запуска С10 (С11) понадобилось только сохранить каталог SoftVelocity который находиться

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

    c:\Users\ [ NAME USER ] \AppData\Roaming\SoftVelocity\
    После переустановки бросаем весь каталог в папку

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

    c:\Users\ [ NAME USER ] \AppData\Roaming\
    устанавливаем только Visual C++ и все. Никакой регистрации, все настройки и солюшены остаются в том порядке как были до переустановки windows.
  3. ABC
    Browse. Ручное добавление записи, с обновлением и позиционированием
    Show

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

       .......
      ADD(MyFile); IF ERRORCODE() THEN STOP(ERROR()) END
    
      ! встать на созданную запись
      BRWx.ResetFromFile()
      BRWx.ResetQueue(1)
      ThisWindow.Reset(1) 
    
      MyFile:AutoId = Temp_AutoId
      Get(MyFile:AutoId, MyFile:AutoIdKey)
    
      BRWx.Q.MyFile:AutoId = MyFile:AutoId
      Get(Queue:Browse,BRWx.Q.MyFile:AutoId)
      BRWx.ResetFromBuffer()
      BRWx.TakeNewSelection() 
    
    Выбор принтера программно
    Show
    Как в C10 создать ABC multi-dll приложение
    Show
  4. SQL
    Загрузка SQL запроса в Clarion Queue (Замена или аналог {PROP:SQL})
    Show
    Автоинкремент через словарь (MYSQL)
    Show
    взято отсюда и подредактировано
    1. На стороне mysql указываем

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

    id INT (11) NOT NULL AUTO_INCREMENT
    Все ниже указанное в DCT (dictonary)
    2. В свойствах таблички на вкладке Options добавьте поле

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

    EMULATEAUTONUMKEY
    типа Boolean. Значение true.
    Благодаря этому кларион сгенерит код добавляющий add(Tаблица) при открытии формы редактирования записи и удаляющий эту запись при нажатии cancel.
    3. Заходите в словарь в свойствах таблички в драйверопшнс добавьте -

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

    /AUTOINC='SELECT LAST_INSERT_ID()'
    Или любой другой запрос, который вернет id (у меня этот работает).
    4. Теперь идем в свойства поля id на вкладку Options, Добавим в User Options новый PropertyLabel, типа boolean. Имя ему укажите

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

    IsIdentity
    Это надо, чтобы кларогенератор знал, что поле id заполняется на сервере.
    Если по полю ID в словаре создали ключ, то в вкладке Attributes надо снять галочку autonumber. Иначе компилятор скажет, что он не согласен.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса

Ответить