Файлы.ODP создаются на основе открытого стандарта XML OASIS OpenDocument. Популярная программа Microsoft PowerPoint начиная с версии 2010 тоже работает с файлами.ODP.. Конвертируйте файлы в формат PPTX PowerPoint Этот он-лайн конвертер позволяет конвертировать ваши файлы в формат программы Вы, в частности, можете конвертировать PPT в PPTX, PDF в PPTX или ODP в PPTX. Выгодно! 57 программ от CoolUtils по цене 4! узнай больше (экономия до $500). application/vnd.oasis.opendocument.presentation. Ссылки. Более подробная информация о ODP файлах. Все эти предикаты могут быть переориентированы для чтения из файлов. Рис.1. Результат работы программы pro55_1.pro. В данном примере показано использование предиката readint для чтения целых чисел и преобразования их в список. 2. При помощи программного обеспечения Flasher ODP скопировать новую версию программы для панели управления из PC в программатор. В противном случае отображается VErIF Pb : Загруженная программа неисправна - заново загрузить совместимый двоичный файл. Презентация из Опен Офиса openoffice.org скачать можно бесплатно. . Word и Excel - это платные программы. Да, их можно установить. Чем открывать файлы ODT, ODS, ODP онлайн: Google Docs (Google . ODP файлов, и какие программы вам необходимо открыть или ODP. Спецификации для формата. ODP файла и загружаемых образца. файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема. Файл ODP является одним из файлов категории Файлы данных. Его полное название это OpenDocument Presentation. Формат файла ODP создан Oracle. Если вы попали к нам, наверное Вы ищете программы, которые помогут Вам работать с этим конкретным.. Архив видеолекций – 7 курсов. Архив УМКД в электронном формате (> 1000) umk.kspu.ru. Разработана программа “СТЭЛС” для чтения. видеолекций в режиме online. НОУ ИНТУИТ | Лекция | Основы программирования для Web. Sphere MQАннотация: Лекция посвящена написанию программ, работающих с Web. Sphere MQ на основе интерфейса MQI. Первая программа rewriter (модель "один к одному") предназначена для чтения сообщений из одной очереди, записи их в другую очередь и в файл на диске. Рассматривается технология разработки приложений с использованием транзакций Web. Sphere MQ и транзакций базы данных. Приводится программа transmit, работающая с транзакционными функциями MQBEGIN, MQCMIT, MQBACK. Третья программа лекции distlist демонстрирует работу с механизмом списков распространения (Distribution List), реализующим модель "один ко многим". Этот механизм обычно используется в случае рассылки большому количеству клиентов постоянно меняющейся информации (котировки акций, курсы валют, новости и т. Программа rewriter (модель "один к одному")Первая программа будет достаточно простая и реализует так называемую модель "один к одному" или "точка- точка". Эта программа предназначена для чтения сообщений из очереди 1, записи их в очередь 2 и лог- файл на диске. Эта программа имеет практическое значение. Достаточно часто необходимо иметь файл переданных сообщений за определенный период времени, чтобы быстро ответить на вопрос "Было ли передано сообщение с такими идентификационными параметрами в теле сообщения: …"? Web. Sphere MQ сохраняет persistent сообщения на диске, но эти лог- файлы малопонятны, предназначены для восстановления сообщений при сбоях и достаточно быстро перезаписываются менеджерами очередей при значение параметра logging = circular (по умолчанию) и больших потоках сообщений (logging = linear рекомендуется только для систем промышленной эксплуатации и в этом случае администратор. Web. Sphere MQ должен заботиться о том, чтобы лог- файлы не "замусорили" весь жесткий диск). Поэтому наша программа может быть достаточно полезной. Автору приходилось сталкиваться с "плохим" стилем программирования, когда параметры программы "зашиваются" в текст. Даже в учебных курсах этого следует избегать, несмотря на некоторое усложнение программ. В наших программах мы будем использовать простые файлы инициализации, чтобы избежать этой ошибки. Назовем нашу программу rewriter. QUEUE_INPUT. C: \TEMP\rewriter. Разрабатываемая программа может быть представлена в следующей последовательности псевдокода: MQCONN. Wait. Interval). |- - конец цикла. MQDISCНиже приводится листинг программыrewriter. Microsoft Visual C++ ver. Не забудьте добавить mqm. Lib в Project => Settings => Link и обратиться к документации. Листинг программы rewriter */. Program name: Rewriter */. Description: Rewriter C program pass messages to output queue */. Function: */. Rewriter is a sample C program to demonstrate the main MQI calls; */. MQI */. #include < cmqc. Declare MQI structures needed */. MQOD od. G = {MQOD_DEFAULT}; /* Object Descriptor for GET */. MQOD od. P = {MQOD_DEFAULT}; /* Object Descriptor for PUT */. MQOD od. I = {MQOD_DEFAULT}; /* Object Descriptor for Init. Q */. MQOD od. R = {MQOD_DEFAULT}; /* Object Descriptor for report */. MQMD md = {MQMD_DEFAULT}; /* Message Descriptor */. MQGMO gmo = {MQGMO_DEFAULT}; /* get message options */. MQPMO pmo = {MQPMO_DEFAULT}; /* put message options */. MQTMC2 *trig; /* trigger message structure */. MQCHAR4. 8 QManager; /* queue manager name */. MQHCONN Hcon; /* connection handle */. MQHOBJ Hobj; /* object handle, server queue */. MQHOBJ Hinq; /* handle for MQINQ */. MQHOBJ Hout; /* handle for MQPUT */. MQLONG O_options; /* MQOPEN options */. MQLONG C_options; /* MQCLOSE options */. MQLONG Comp. Code; /* completion code */. MQLONG Reason; /* reason code */. MQLONG CReason; /* reason code (MQCONN) */. MQBYTE buffer[8. MQLONG buflen; /* buffer length */. MQLONG messlen; /* message length received */. MQLONG Select[1]; /* attribute selectors */. MQLONG Select. Value[1]; /* value attribute selectors */. MQLONG char_count. QManager, ""); /* Работаем с менеджером очередей по умолчанию */. NULL ). {printf("Cannot open rewriter. Открываем ini- файл и присваиваем значения переменным */. NULL). strcpy ( buf, ctime(& tmr)). G. Object. Name, queue. P. Object. Name, queue. MQCONN(QManager, & Hcon, & Comp. Code, & CReason). Comp. Code == MQCC_FAILED). MQCONN ended with reason code %ld\n", CReason). CReason). O_options = MQOO_INPUT_SHARED + MQOO_FAIL_IF_QUIESCING. MQOPEN(Hcon, & od. G, O_options, & Hobj, & Comp. Code, & Reason); /* открываем очередь для чтения - & od. G */. if (Reason != MQRC_NONE) { printf("MQOPEN (input) ended with reason code %ld\n", Reason); }. Comp. Code == MQCC_FAILED) { exit(Reason); }. O_options = MQOO_OUTPUT + MQOO_FAIL_IF_QUIESCING. MQOPEN(Hcon, & od. P, O_options, & Hout, & Comp. Code, & Reason); /* открываем очередь для записи - & od. P */. if (Reason != MQRC_NONE) { printf("MQOPEN (output) ended with reason code %ld\n", Reason); }. Comp. Code == MQCC_FAILED) { exit(Reason); }. NULL ){ printf("Cannot open log file %s\n", logfilename); }. Rewriter(C) sending messages from %s to %s and to log- file %s \n. G. Object. Name, od. P. Object. Name, logfilename). Читаем сообщения из QUEUE_INPUT и пишем в QUEUE_OUTPUT */. Comp. Code == MQCC_OK). Options = MQGMO_ACCEPT_TRUNCATED_MSG + MQGMO_WAIT. Wait. Interval = 3. Ожидаем новые сообщения 3 секунды */. Wait. Interval = MQWI_UNLIMITED. Msg. Id, MQMI_NONE, sizeof(md. Msg. Id)). memcpy(md. Correl. Id, MQMI_NONE, sizeof(md. Correl. Id)). MQGET(Hcon, Hobj, & md, & gmo, buflen, buffer, & messlen, & Comp. Code, & Reason). Comp. Code == MQCC_OK) || (Comp. Code == MQCC_WARNING)). MQPUT(Hcon, Hout, & md, & pmo, buflen, buffer, & Comp. Code, & Reason). Comp. Code == MQCC_OK) || (Comp. Code == MQCC_WARNING)). NULL). strcpy ( buf, ctime(& tmr)). Reason = fprintf( fp, "%s: %s\n", buf, buffer ). MQGET, MQPUT */. fclose (fp). C_options = 0; /* нет никаких опций при закрытии */. MQCLOSE(Hcon, & Hobj, C_options, & Comp. Code, & Reason); /* закрываем очередь для чтения */. Reason != MQRC_NONE). MQCLOSE (input) ended with reason code %ld\n", Reason); }. MQCLOSE(Hcon, & Hout, C_options, & Comp. Code, & Reason); /* закрываем очередь для записи */. Reason != MQRC_NONE). MQCLOSE (output) ended with reason code %ld\n", Reason); }. CReason != MQRC_ALREADY_CONNECTED). MQDISC(& Hcon, & Comp. Code, & Reason). Reason != MQRC_NONE){ printf("MQDISC ended with reason code %ld\n", Reason); }. Листинг. 9. 1. Rewriter C program pass messages to output queue. В данной версии мы выходим из цикла программы по опции gmo. Wait. Interval = 3. Wait. Interval работает быстрее, чем если бы мы опрашивали очередьпо собственному временному циклу). Другой вариант программы может быть таким. Задаем gmo. Wait. Interval = MQWI_UNLIMITED ; что соответствует gmo. Wait. Interval= - 1. Программа будет крутиться "бесконечно" до тех пор, пока мы не остановим её принудительно, например, нажатием клавиш CNTRL_C (стандартный останов). В этом случае нужно добавить обработчик прерываний по нажатию CNTRL_C потому, что при таком выходе объекты очереди останутся не закрытыми и идентификаторы объектов окажутся "зависшими" в виртуальной памяти компьютера. А это может привести к тому, что при повторном запуске программы эти "зависшие" идентификаторы будут мешать нормальному функционированию программы. Во втором варианте открытие и закрытие лог- файла необходимо также делать в обработчике прерываний или после каждой команды MQPUT, в противном случае лог- файл не будет формироваться. Следует отметить, что размер массива buffer ограничивает длину сообщения 8. Кб и при появлении сообщений большей длины следует увеличить размер буфера. Программаrewriter. Кб на компьютере INTEL Pentium 1. Ггц приведены в таблице ниже. Таблица. 9. 1. Язык программы\тип очереди. Not Persistent. Persistent. С++1. 00. 0 сооб/сек. Visual Basic 6. 0. Увеличение длины сообщения не ведет к пропорциональному уменьшению скорости. Эти исследования читатель может проделать самостоятельно. Реальные приложения, работающие с базами данных, имеют скорость обработки сообщений в 3- 4 раза меньше. Возвращаясь к вопросу о стилях программирования, следует отметить, что обработка кода ошибки является обязательным атрибутом качественного программирования и об этом не следует забывать. В нашей программе дается предупредительное сообщение и делается выход из программы. Если этого не сделать, то простая описка в rewriter. Для версии программы gmo. Wait. Interval = MQWI_UNLIMITED полезно сделать вывод на экран передаваемых сообщений, чтобы наблюдать динамику работы созданного интерфейса. Таких улучшений может быть достаточно много и мы рассмотрим две достаточно полезные модификации. Программа rewriter может вызываться как MQSeries- триггер. Для этого параметры можно задать следующим образом. Входная очередь – это очередь, на которой определен триггеринг. Выходная очередь – это User Data в триггерном процессе и имя лог файла – это Environment Date в триггерном процессе. В этом случае код в начале программы будет такой./* Код для вызова rewriter. MQSeries- триггер */. MQTMC2*)argv[1]. strncpy(od. G. Object. Name. trig- > QName. MQ_Q_NAME_LENGTH). QName. MQ_Q_NAME_LENGTH). QManager. trig- > QMgr. Name. MQ_Q_MGR_NAME_LENGTH). P. Object. Name. trig- > User. Data. MQ_PROCESS_USER_DATA_LENGTH). User. Data. MQ_PROCESS_USER_DATA_LENGTH). Env. Data, 4. 8). Возможная модификация этого варианта - программа rewriter может вызываться с передачей параметров через командную строку и эту модификацию читатель может проделать самостоятельно. Программа rewriter может быть модифицирована в программу разветвитель mqsplitter. Можно сделать программу mqsplitter. Visual. Basic 6. 0 с интерфейсом, показанным на рис.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2016
Categories |