8 с половиной долларов

3rdParty, создание списка открытых окон, переключение между окнами

  • Автор: Still Zero
  • Уровень знаний: advanced
  • Подразделы: нет
  • Дата публикации: 21.10.2005

Главное в нашем деле это идея. Второй момент это возможность ее реализовать, а третий — продать.

Насчет идеи … идею не обязательно придумывать самому, можно подсмотреть как это сделано у других, можно у своих, но развить дальше или сделать лучше. О чем я? О 3rd Party разработках.

3rd Party — сторонние, «третьи» разработки. Это программы для программистов. Средства, позволяющие программисту, т.е. Вам использовать что-то сделанное другими людьми за вас. В Кларионе это могут быть шаблоны, библиотеки, классы, вспомогательные утилиты. 3rd Party разработки для Клариона очень развиты. Читать далее

Редактирование по месту (выбор значения из справочника)

Использование Edit-in-Place для выбора значения из справочника. В Кларионе по умолчанию принята система брауз-форма. Т.е. для редактирования просматриваемых данных открывается дополнительное окно формы, в котором пользователь заполняет необходимые данные.
«Редактирование по месту» оно же Edit-in-Place, оно же EIP, это способ редактирования данных без формы. Редактирование происходит в самом браузе. Такой подход оправдывает себя при внесении небольшого количества данных, т.е. все эти данные будут видны в лист-боксе. Преимущество EIP в отсутствии дополнительного окна. Я был противником использования EIP до недавнего времени. IMHO неудобно и слишком много кода. Но все меняется. В Кларион версии 6 (C6) появилось новое свойство REQ и новый класс EditLookupClass (не описан в документации), и это именно то, чего мне так не хватало.
Как обычно, я приведу пример, код которого вы можете скачать внизу статьи. Читать далее

Иконки в заголовках лист-бокса

Кратко о отрисовке иконок в заголовке лист-бокса.
Как известно, в Кларионе не предусмотрен стандартный вывод иконок в заголовки колонок лист-бокса. В этой статье я расскажу вам о том, каким образом
можно обойти это ограничение.

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


На стандартной кнопке мы легко можем показать иконку. Более того мы можем отцентрировать иконку по правому/левому краю или по центру. Таким образом, наложив стандартную кнопку на заголовок колонки мы добьемся желаемого результата. Поэтому все что нужно, это знать координаты заголовка. Читать далее

Снова сабклассинг

Каким образом обрабатывать сообщения Windows, используя классы.

function expandIt(inID){
  inIDs=eval(inID);
  if (inIDs.style.display=="none"){
    inIDs.style.display="block";
  }else{
    inIDs.style.display="none";
  }
}

Введение
Слова «sub-classing» созвучно со словом «class», и первый перевод этого слова,
который приходит в голову — «подкласс», на самом деле это не так. Сабклассинг и классы это две абсолютно несвязанные вещи.

xClasses (1015)

© Still Zero, 2005-2006. Все права защищены.

VIRTUAL — определение виртуальных методов

Переведен стандартный раздел помощи для ключевого слова «VIRTUAL». Рекомендуется к прочтению.
Атрибут VIRTUAL — это атрибут, используемый при описании прототипа метода класса. Определяет, что процедура будет являться виртуальным методом класса.
Это позволяет методам РОДИТЕЛЬСКОГО класса вызывать методы ДОЧЕРНЕГО класса. Атрибут VIRTUAL должен быть объявлен
в обоих прототипах методов: и в родительском и в дочернем классе. Читать далее

В первый класс

Мнение о том каким должен быть «настоящий» класс. Этапы разработки класса. В этой статье я изложу свое мнение о том, каким должен быть настоящий класс, от и до.

Перед прочтением желательно прочитать help по ключевому слову CLASS. Если в процессе чтения вам встретятся незнакомые операторы, команды, ключевые слова — читайте также help и по ним в стандартной помощи Клариона — F1.

Не так давно я в который раз получил задание на создание отчета вида: товар, цена, количество, сумма без НДС, сумма НДС, сумма. Последние три поля являются расчетными.
И мне опять пришлось вспоминать, а вернее выводить формулу для расчета НДС. Расчет НДС можно производить разными путями Читать далее

CLASS — определение класса в Clarion

Переведен стандартный раздел помощи для ключевого слова «CLASS». Рекомендуется к прочтению.
Описание класса:

label CLASS([parentclass])[,EXTERNAL] [,IMPLEMENTS] [,DLL] [,STATIC] [,THREAD]
           [,BINDABLE] [,MODULE( )] [, LINK( )] [, TYPE]
                     [ data members and methods ]
      END

Читать далее

ООП…рулит

Cерия статей простым и доступным языком рассказывает о использовании ООП применительно к базам данных.

По мере надобности можно дописать отчеты, в которых появилась необходимость. В некоторой точке вы начинаете писать код, который уже встречался в другом отчете. Код не одинаков «один в один», но имеет похожую логику. И однажды, вы понимаете, что имеете три разных отчета представляющих одни и те же данные в разных видах. Это является проблемой. Например, при изменении данных в таблице, вы будете вынуждены модифицировать три процедуры отчета и изменить три секции кода. При большом количестве процедур это настоящая проблема, можно что-то легко забыть или пропустить.

Сейчас есть лучшее решение такой задачи: ООП. Читать далее

Получение SQL данных

Originally published in Clarion Magazine (www.clarionmag.com). Translated and reprinted with permission.
Впервые опубликовано в журнале Clarion Magazine (www.clarionmag.com). Переведено и перепечатано с разрешения.

  • Автор: Том Руби
  • Уровень знаний: начальный/advanced
  • Подразделы: нет
  • Оригинальная дата публикации: 31 августа 2005г.
  • Дата перевода: сентябрь 2005г.

Нет сомнений, что было бы удобным если бы в Кларионе можно было бы выполнить SQL запрос и получить результат. Например, я хочу получить сумму нескольких записей. На SQL я бы просто написал запрос типа:

SELECT Sum(Amount) FROM tblSomething WHERE SomeField = SomeValue

Проблема в том, что в Кларионе мне нужно создать View, включая в него поле Amount и … очень долгий путь вообщем.

Но есть другой метод! Ничего не говоря нам, SoftVelocity сделала нечто действительно пригодное для Клариона. Они дали нам класс, который они назвали cCwADO, который великолепно обрабатывает такой тип ситуаций и его использование едва ли труднее чем сесть в кресло. Читать далее

SQL…рулит

Сегодня, SQL рулит. Если вы хотите быть большим игроком на рынке для написания клиентов баз данных, вы должны знать SQL.

Я не говорю о разработке SQL баз данных и их администрировании. Я говорю именно о написании клиентской программы для использования базы данных, то что вы пишите на Кларионе.

Компании в наши дни отвернулись от Клариона, потому что они считают, что этого языка недостаточно для разработки сверхмощных программ. Эти компании ошибаются, но они делают свои заключения на основании того, что видят. Некоторые Кларион-программисты используют несколько шаблонов и говорят заказчику, что приложение закончено. И заказчики остаются разочарованными. Читать далее