Докладчик: Сергей Климов Разработчик Москва 2009 БАНКОВСКИЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ Новые возможности разработки в 10.2.

Презентация:



Advertisements
Похожие презентации
САОД кафедра ОСУ 1 Основные абстрактные типы данных Схема процесса создания программ для решения прикладных задач ВУ.
Advertisements

Рекурсивная обработка списков1 Структуры и алгоритмы обработки данных, 1 Лекция 3 Рекурсивная обработка списков 1.Представление и реализация.
1 Записи 2 Запись – это тип данных, который может включать в себя несколько полей – элементов разных типов (в том числе и другие структуры). Свойства:
Язык программирования C# Дмитрий Сошников
Structured Error Handling in the ABL Sarah Marshall QA Architect, OpenEdge Session 128.
Составные типы данных Лекция 8-9. Ломаско Павел Сергеевич9 августа 2012 г.
Автор: Климов Михаил, ученик 2 «А» Руководитель: Тюгаева Ирина Борисовна, учитель начальных классов НОУ СОШ «Образовательный центр ОАО Газпром», ЮЗАО,
1 Переопределение операций Макаревич Л. Г.. 2 Зачем нужна перегрузка операций? class Complex { double re; double im; public: Complex(double r=0, double.
1. Классы ООП 1.Наследование 2.Инкапсуляция 3.Полиморфизм.
Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.
Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Докладчик: Сергей Климов Разработчик Москва 2008 БАНКОВСКИЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ ABL Новые возможности.
Строки в Pascal
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
1 Программирование на языке Паскаль Тема 1. Массивы.
Информатика ЕГЭ Уровень А5. Вариант 1 Определите значения переменных a, b, c после выполнения следующего фрагмента программы: a:=5; b:=1; a:=a+b; if a>10.
Лекция 2 Раздел 2.1 Windows Phone Темы раздела 3.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 Работа с бинарными файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков.
Транксрипт:

Докладчик: Сергей Климов Разработчик Москва 2009 БАНКОВСКИЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ Новые возможности разработки в 10.2

С.Климов / Новые возможности разработки в 10.2 План Что нового в OOABL Кто ты, Джейсон? Разгоняем Architect

С.Климов / Новые возможности разработки в 10.2 Сборка мусора Нет необходимости в удалении объектов ABL и.NET! DEFINE VARIABLE testObj AS Progress.Lang.Object NO-UNDO. testObj = NEW Progress.Lang.Object(). DELETE OBJECT testObj.

С.Климов / Новые возможности разработки в 10.2 CLASS TestClass: METHOD STATIC PUBLIC VOID RunStaticTest(): MESSAGE "RunStaticTest" VIEW-AS ALERT-BOX INFO BUTTONS OK. END. METHOD PUBLIC VOID RunTest( str AS CHAR ): MESSAGE "RunTest - " str VIEW-AS ALERT-BOX INFO BUTTONS OK. END. Динамический вызов методов

С.Климов / Новые возможности разработки в 10.2 DEFINE VARIABLE testObj AS Progress.Lang.Object. DEFINE VARIABLE testRef AS Progress.Lang.Class. testRef = Progress.Lang.Class: GetClass( "TestClass" ). testObj = testRef:New(). DEF VAR testParam AS Progress.Lang.ParameterList. testParam = NEW Progress.Lang.ParameterList( 1 ). testParam:SetParameter( 1, "CHARACTER", "INPUT", "Demo" ). testRef:Invoke( testObj, "RunTest", testParam ). Динамический вызов методов 10.2a

С.Климов / Новые возможности разработки в 10.2 DEFINE VARIABLE testObj AS Progress.Lang.Object NO-UNDO. testObj = DYNAMIC-NEW( "TestClass" )(). /* Динамический вызов статического метода */ DYNAMIC-INVOKE( "TestClass", "runStaticTest" ). /* Динамический вызов метода */ DYNAMIC-INVOKE( testObj, "runTest", "Demo" ). Динамический вызов методов 10.2b

С.Климов / Новые возможности разработки в 10.2 USING System.Collections.Generic.*. DEFINE VARIABLE testObj AS "List " NO-UNDO. testObj = NEW "List "(). testObj:ADD(10). testObj:ADD(20). DEFINE VARIABLE i AS INTEGER NO-UNDO. DO i = 0 TO testObj:COUNT - 1: MESSAGE testObj[i] VIEW-AS ALERT-BOX INFO BUTTONS OK. END. Обобщения

С.Климов / Новые возможности разработки в 10.2 План Что нового в OOABL Кто ты, Джейсон? Разгоняем Architect

С.Климов / Новые возможности разработки в 10.2 { "dsCustOrd": { "ttCustomer": [{"CustNum": 1, "Name": "Lift Tours", "Balance": }], "ttOrder": [{"OrderNum": 100, "CustNum": 1, "OrderDate": " "}] }}; Знакомьтесь, Джейсон!

С.Климов / Новые возможности разработки в 10.2 JSON JavaScript Object Notation

С.Климов / Новые возможности разработки в 10.2 XML vs. JSON 1 L ift Tours Hoops Acme Sport s Widgets Acme Sports Widgets A cme Sports Widgets {"dsCustOrd": {"ttCustomer": [{"CustNum":1,"Name":"Lift Tours","Balance": }, {"CustNum":3,"Name":"Hoops","Balance": }, {"CustNum":17,"Name":"Acme Sports Widgets","Balance":10.0}, {"CustNum":17,"Name":"Acme Sp orts Widgets","Balance":10.0}, {"CustNum":17,"Name":"Ac me Sports Widgets","Balance":10.0}],"ttOrder": [{"Order Num":100,"CustNum":1,"OrderDate":" "}, {"Order Num":101,"CustNum":1,"OrderDate":" "}, {"Order Num":250,"CustNum":3,"OrderDate":" "}, {"Order Num":251,"CustNum":3,"OrderDate":" "}, {"Order Num":500,"CustNum":17,"OrderDate":" "}, {"Orde rNum":501,"CustNum":17,"OrderDate":" "}, {"Ord erNum":501,"CustNum":17,"OrderDate":" "}, {"Or derNum":501,"CustNum":17,"OrderDate":" "}, {"O rderNum":501,"CustNum":17,"OrderDate":" "}, {" OrderNum":501,"CustNum":17,"OrderDate":" "}, { "OrderNum":501,"CustNum":17,"OrderDate":" "}]} }

С.Климов / Новые возможности разработки в 10.2 JSON синтаксис "identifier" : value value Тип ФорматПример String namename : Dorothy Gale Number e78 age : 8 Boolean true false atHome : false Null nullcurrentLocation : null

С.Климов / Новые возможности разработки в 10.2 JSON синтаксис Объект: список пар имя-значение в кудрявых скобках { } "person": {"name": Dorothy Gale", "age": 8, "atHome": false} Массив: список значений в квадратных скобках [ ] "name": ["Alfred", "E", "Newman"]

С.Климов / Новые возможности разработки в 10.2 WRITE-JSON ( mode, { file | stream | stream-handle | memptr | longchar } [, formatted [, encoding [, omit-initial-values ] ] ] ) READ-JSON ( source-type, { file | memptr | handle | longchar } [, read-mode ] ) JSON в ABL

С.Климов / Новые возможности разработки в 10.2 PROCEDURE process-web-request:... hds = DATASET dsCustOrd:HANDLE. IF NOT WEB-CONTEXT:IS-JSON THEN DO: output-content-type("application/json":U). hds:WRITE-JSON("STREAM", "WebStream"). END. ELSE DO: hds:READ-JSON("HANDLE", WEB-CONTEXT). END.... END PROCEDURE. JSON в ABL

С.Климов / Новые возможности разработки в 10.2 План Что нового в OOABL Кто ты, Джейсон? Разгоняем Architect

С.Климов / Новые возможности разработки в 10.2 Память

С.Климов / Новые возможности разработки в 10.2 Память -Xms40m -Xmx384m %DLC%\oeide\eclipse\eclipse.ini

С.Климов / Новые возможности разработки в 10.2 Проект на сетевом диске Выключить автоматическую синхронизацию рабочего пространства с файловой системой!

С.Климов / Новые возможности разработки в 10.2 Несколько проектов Закрыть все неиспользуемые проекты!

С.Климов / Новые возможности разработки в 10.2 Настройки редактора Выключить автоматическое расширение ключевых слов и изменение их регистра!

С.Климов / Новые возможности разработки в 10.2 Настройки редактора Отключить интеллектуальную систему ввода!

С.Климов / Новые возможности разработки в 10.2 Горячие клавиши Открыть ресурс – CTRL+SHIFT+R Быстрая структура кода – CTRL+O Быстрый доступ – CTRL+3 Список открытых файлов – CTRL+E Быстрое перемещение по процедурам и функциям внутри файла: CTRL+SHIFT+UP и CTRL+SHIFT+DOWN Список горячих клавиш - CTRL+SHIFT+L

С.Климов / Новые возможности разработки в 10.2 KsvPlugin Позволяет открыть файл / список файлов внутри PROPATH Переместить открытый файл в проект Переоткрыть файл как ABL файл и многое другое…

Сергей Климов Разработчик tel: + 7 (495) Вопросы?

Thank You Merci Grazie Gracias Obrigado Danke Japanese French German Italian Spanish Brazilian Portuguese Arabic Traditional Chinese Simplified Chinese Hindi Tamil Thai Korean Спасибо!