Разное

Делфи команды: Delphi. Команды основного меню — Учись Как На Парах!

Содержание

Delphi. Команды основного меню — Учись Как На Парах!

В меню File находятся команды для выполнения операций с проектами, модулями и файлами.

Команда

Описание

New

Позволяет выбрать тип элемента из репозитория (архива, в котором хранятся заготовки для новых программ) и создать его

New Application

Создает новый проект, состоящий из формы, модуля и файла проекта

New Form

Создает новую форму и подключает ее к проекту

New Data Module

Создает новый модуль данных и подключает его к проекту

Open

Открывает ранее созданный проект, модуль, форму или текстовой файл

 

Reopen

Вызывает список ранее загружавшихся проектов и форм для выбора и повторной загрузки

 

Save

Сохраняет текущую форму или модуль или файл

 

Save As

Сохраняет текущую форму с новым именем

 

Save Project As

Сохраняет текущий проект с новым именем

 

Save All

Сохраняет все открытые файлы, проект и используемые им модули

 

Close

Закрывает текущую форму

 

Close All

Закрывает все открытые файлы

 

Use Unit

Добавляет имя указанного модуля в список используемых модулей (USES) текущего активного модуля

 

Add to Project

Добавляет файл к проекту

 

Remove From Project

Удаляет файл из проекта

 

Print

Выводит содержимое активного файла на печать

 

Exit

Завершает работу Delphi

В меню Edit расположены команды, осуществляющие операции редактирования, работы с областью обмена данными, отмены действий и управления отображением компонентов.

Команда

Описание

Undo

Отменяет ранее выполненные действия

Redo

Восстанавливает отмененные действия

Cut

Вырезает выделенный объект и помещает его в буфер обмена данными

Copy

Копирует выделенный объект и (или) фрагмент текста программы и помещает его в буфер обмена данными

Paste

Копирует содержимое буфера обмена данными в редактор или форму

Delete

Удаляет выбранный объект или фрагмент программы

Select All

Выделяет все компоненты формы или весь текст программы

Align to Grid

Выравнивает выбранный компонент по сетке

Bring to Front

Перемещает выбранный компонент поверх других компонентов

Send to Back

Перемещает выбранный компонент под другие компоненты

Align

Выравнивает компоненты

Size

Изменяет размер выделенных компонентов

Scale

Изменяет размер всех компонентов в форме

Tab Order

Изменяет порядок табуляции компонентов в активной форме

Creation Order

Задает порядок создания невизуальных компонентов

Lock Controls

Запрещает перемещение компонентов внутри формы

Add To Interface

Позволяет определить новую процедуру, функцию или свойство компонента ActiveX

Меню Search предоставляет команды для поиска и замены, а также команды для поиска указанных символов и строк, содержащих ошибки, найденные компилятором.

Команда

Описание

Find

Поиск указанного фрагмента текста

Find in files

Поиск указанного текста в нескольких файлах, задаваемых в диалоговой панели

Replace

Поиск указанного фрагмента текста и замена его новым текстом

Search Again

Повторный поиск или повторная замена

Incremental Search

Поиск текста по мере его ввода

Go to Line Number

Перемещение курсора на строку с указанным номером

Show Last Compile Error

Перемещение курсора на строку, содержащую ошибку, найденную компилятором

Find Error

Поиск ошибки времени исполнения (run-time error)

Browse Symbol

Показывает характеристики указанного символа программы по его имени

В меню View содержатся команды для отображения различной информации и вызова менеджера проектов, инспектора объектов, броузера объектов и других информационных утилит.

Команда

Описание

Project Manager

Менеджер проектов (Project Manager)

Project Source

Отображает исходный текст файла проекта

Object Inspector

Инспектор объектов (Object Inspector)

Alignment Palette

Палитра выравнивания компонентов

Browser

Броузер объектов (Object Browser)

Breakpoints

Список точек останова (Breakpoints List)

Call Stack

Стек вызовов (Call Stack)

Watches

Список точек слежения за переменными (Watch List)

Threads

Список потоков команд и их статус

Modules

Список модулей, загружаемых при выполнении данного проекта

Component List

Список компонентов

Window List

Список открытых окон

Toggle Form/Unit

Переключает активность из окна формы в окно текста программы и обратно

Unit

Показывает окно текста программы

Forms

Показывает окно формы

Type library

Отображает содержимое библиотеки типов для компонентов ActiveX, серверов ActiveX и других СОМ-объектов

New Edit Window

Открывает новое окно с текстом текущей программы

SpeedBar

Отображает (прячет) панель быстрого доступа

Component Palette

Отображает (прячет) палитру компонентов

В меню Project содержатся команды для компиляции и сборки проектов, а также для установки опций текущего проекта.

Команда

Описание

Add to Project

Добавляет файл к проекту

Remove from Project

Удаляет файл из проекта

Import Type Library

Импортирует в проект библиотеку типов элементов ActiveX

Add To Repository

Добавляет проект в репозиторий объектов

Compile

Компилирует модули, исходный текст которых изменился после последней компиляции

Build All

Компилирует все модули и создает исполняемую программу

Syntax Check

Проверяет синтаксическую правильность программы

Information

Отображает информацию о проекте

Web Deployment Options

Позволяет задать опции для внедрения компонента ActiveX или активной фирмы на Web-узел

Web Deploy

Внедряет компонент ActiveX или активную фирму на Web-узел

Options

Задает опции компилятора и компоновщика, управляет рабочими каталогами

В меню Run расположены команды для отладки программ. Эти команды позволяют управлять различными функциями устроенного отладчика.

Команда

Описание

Run

Компилирует и выполняет программу

Parameters

Задает параметры командной строки

Register ActiveX Server

Регистрирует сервер ActiveX в реестре Windows

Unregister ActiveX Server

Удаляет информацию о ранее зарегистрированном сервере ActiveX в реестре Windows

Step Over

Пошагово выполняет программу

Trace Into

Пошагово выполняет программу с заходом в подпрограммы

Trace To Next Source Line

Пошагово выполняет программу до следующей строки исходного текста

Run To Cursor

Выполняет программу до строки в окне редактора, на которой находится курсор

Show Execution Point

Отображает оператор, на котором было прервано выполнение программы

Program Pause

Приостанавливает выполнение программы

Program Reset

Завершает выполнение программы

Add Watch

Добавляет точку слежения за переменными

Add Breakpoint

Добавляет точку останова

Evaluate/Modify

Позволяет узнать или изменить значение переменной

В меню Component содержатся команды для создания компонентов, установки новых компонентов, импорта компонентов ActiveX, создания нового компонента на базе существующего и установки пакетов.

Команда

Описание

New Component

Вызывает окно эксперта компонентов

Install Component

Помещает компонент в существующий или новый проект

Import ActiveX Control

Импортирует компонент ActiveX

Create Component Template

Сохраняет компонент как шаблон для создания других компонентов

Install Package

Устанавливает пакеты, необходимые для прогона программы

Configure Palette

Вызывает диалоговую панель конфигурации палитры компонентов

Меню Database содержит средства для работы с базами данных.

Команда

Описание

Explore

Вызывает инструмент исследования баз данных — Database Explorer или SQL Database (в зависимости от версии DELPHI)

SQL Monitor

Вызывает инструмент запросов к БД – SQL Monitor

Form Wizard

Вызывает окно эксперта форм для создания формы, отображающей наборы данных из удаленных или локальных БД

Из меню Tools доступны средства настройки среды, дополнительные утилиты, входящие в состав Delphi, а также репозиторий объектов.

Команда

Описание

Environment Options

Вызывает диалоговую панель настройки среды

Repository

Вызывает репозиторий

Configure Tools

Вызывает диалоговую панель редактирования опции Tools

Package Collection Editor

Вызывает окно редактора пакетов

Image Editor

Вызывает окно редактора графики

Database Desktop

Вызывает инструмент обслуживания БД – Database Desktop

Меню Workgroups содержит средства для работы с коллективными проектами.

Команда

Описание

Browse PVCS Projects

Показывает окно коллективной работы нескольких программистов над одним проектом программы

Mange Archive Directories

Показывает диалоговое окно управления архивом коллективного проекта программы

Add Project to Version Control

Сохраняет текущую версию коллективного проекта

Set Data Directories

Показывает диалоговое окно выбора каталогов для размещения версий коллективного проекта

В меню Help содержатся команды для вызова различных разделов справочной системы и отображения диалоговой панели «О программе».

Команда

Описание

Contents

Отображает содержание справочной системы

Keyword Search

Выполняет поиск справки по ключевому слову

What’s New

Отображает справку по новым возможностям продукта

Getting Started

Выводит онлайновый вариант книги «Getting Started»

Using Object Pascal

Выводит онлайновый вариант книги «Using Object Pascal»

Developing Applications

Выводит онлайновый вариант книги «Developing Applications»

Object and Component Reference

Выводит онлайновый вариант книги «Object and Component Reference»

Borland Home Page

Соединяет с главной страницей Web-узла фирмы Borland

Delphi Home Page

Соединяет со страницей Web-узла фирмы Borland, посвященной Delphi

Borland Programs and Services

Соединяет со страницей Web-узла фирмы Borland, посвященной программам и сервисам

About

Отображает диалоговую панель «О программе»

Сокрытие команд меню, кнопок и панелей.

Delphi. Учимся на примерах Сокрытие команд меню, кнопок и панелей. Delphi. Учимся на примерах

ВикиЧтение

Delphi. Учимся на примерах
Парижский Сергей Михайлович

Содержание

Сокрытие команд меню, кнопок и панелей

Сокрытие команды меню Сервис?Windows Update

Ключ:

[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]

Значение:

«NoWindowsUpdate»=dword:00000001

Сокрытие команды меню Файл?Создать

Ключ:

[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]

Значение:

«NoExpandedNewMenu»=dword:00000001

Сокрытие команды меню Файл?Сохранить как

Ключ:

[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]

Значение:

«NoBrowserSaveAs»=dword:00000001

Сокрытие кнопки Настройка в панели Поиск

Ключ:

[HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftInternet ExplorerRestrictions]

Значение:

«NoSearchCustomization»=dword:00000001

Сокрытие раздела Избранное

Ключ:

[HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftInternet ExplorerRestrictions]

Значение:

«NoFavorites»=dword:00000001

Сокрытие команды меню Сервис?Почта и новости

Ключ:

[HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftInternet ExplorerRestrictions]

Значение:

«RestGoMenu»=dword:00000001

Сокрытие команды меню Сервис?Свойства обозревателя

Ключ:

[HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftInternet ExplorerRestrictions]

Значение:

«NoBrowserOptions»=dword:00000001

Сокрытие кнопки Сертификаты

Ключ:

[HKEY_CURRENT_USERSoftwarePoliciesMicrosoftInternet ExplorerControl Panel]

Значения:

«CertifPers»=dword:00000001

«CertifSite»=dword:00000001

Добавление дополнительных панелей

Добавление дополнительных панелей На Панели задач могут присутствовать не только стандартные элементы, перечисленные в начале раздела, но и дополнительные панели, облегчающие доступ к часто используемым объектам. Чтобы узнать, какие дополнительные панели могут быть

Создание собственных команд для контекстного меню Проводника и Рабочего стола

Создание собственных команд для контекстного меню Проводника и Рабочего стола Мы знаем, как удалять или редактировать некоторые команды из контекстного меню Проводника и Рабочего стола. Настало время научиться создавать свои собственные команды. Информация о

4.2.6. Добавление собственных команд в контекстное меню KDE

4.2.6. Добавление собственных команд в контекстное меню KDE Запустите Konqueror и щелкните правой кнопкой мыши на каком-нибудь файле. Вам чего-то не хватает? Хочется добавить какую-то команду? Или есть команда, которую вы выполняете очень часто? KDE позволяет создавать собственные

4.3.2. Добавление собственных команд в контекстное меню GNOME

4. 3.2. Добавление собственных команд в контекстное меню GNOME Меню Сценарии в GNOME устроено и действует аналогично меню Действия в KDE. Только если в случае KDE файл контекстного меню имел определенный формат, то в GNOME это — обычный bash-сценарий. Хорошо это или плохо, зависит от того,

10.1 Настройки панелей GNOME

10.1 Настройки панелей GNOME С интерфейсом вроде закончили, теперь я немного расскажу про то, как можно сделать ваше рабочее место более уютным. Для начала ещё раз обратите внимание на все описанные выше элементы панелей, почти каждый из них является так называемым

Присвоение команд элементам меню

Присвоение команд элементам меню Выполните команду Вид ? Инспектор. В правой части рабочего окна появится панель инструментов Инспектор. На вкладке Действие этой панели (рис. 11.13) из раскрывающегося списка Тип действия можно выбрать команды, которые будут присвоены

Настройка панелей инструментов и меню

Настройка панелей инструментов и меню Предположим, что вас почему-то не устраивают панели инструментов, предлагаемые редактором Visual Basic. Ну, так создайте себе новые! Можно добавлять и убирать кнопки и пункты меню в существующих панелях инструментов и меню, а если и этого

Настройка кнопок панелей инструментов

Настройка кнопок панелей инструментов Вам не потребуется VBA для создания панели инструментов, содержащей необходимый для вашей работы набор кнопок, — мощные средства настройки методом drag-and-drop, представленные в любом приложении Office, с честью справляются с подобными

Сокрытие пунктов системного меню Пуск

Сокрытие пунктов системного меню Пуск Сокрытие пункта Пуск?Найти Ключ:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer]

Сокрытие всех дополнительных папок в меню Пуск

Сокрытие всех дополнительных папок в меню Пуск Ключ:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer] Значение:

Сокрытие папки Мои документы в меню Пуск

Сокрытие папки Мои документы в меню Пуск Ключ:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerDocuments] Значение:

Ассоциация команд с пунктами меню

Ассоциация команд с пунктами меню Редактор TextPad также позволяет создавать пункты пользовательского меню, представляющие заданные команды. Для выполнения компиляции всех C#-файлов в текущем каталоге мы создадим новый пункт меню Compile C# Console (Консоль компиляции C#) в меню Tools

Генерирование SQL-команд с помощью типов построителя команд

Генерирование SQL-команд с помощью типов построителя команд Вы должны согласиться с тем, что для работы с адаптерами данных может потребоваться ввод довольно большого объема программного кода, а также создание всех четырех объектов команд и соответствующей строки

Глава 38. Описания основных команд меню

Глава 38. Описания основных команд меню Файл Открыть изображениеИмпортировать изображение в пакет программы.Сканировать изображение Отсканировать изображение.Сканировать несколько страницСканировать изображения в цикле. Для того, чтобы остановить сканирование из

Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов

Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов Переадресация (перенаправление) команд – одна из наиболее полезных возможностей протокола SSH. Она вытекает из его основополагающих принципов построения, когда

Delphi-FAQ

Автор Сергей Бойко 7 февраля, 2013

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Панель инструментов представляет собой элемент управления, предназначенный для упрощения вызова команд для выполнения наиболее часто используемых операций. Обычно команды, вызываемые с помощью панели инструментов, дублируют часто используемые команды главного или контекстного меню. Панели инструментов содержат такие элементы управления, как кнопки и списки. Во многих Windows-приложениях имеется одна или более панелей инструментов, заметно облегчающих работу пользователя. Например, текстовый процессор Microsoft Word 2010 предоставляет несколько предопределенных панелей инструментов, кроме того, при необходимости панели можно перенастроить или даже создать новые. В качестве примера на скриншоте показана панель инструментов Главная этого текстового процессора.

Панели инструментов могут быть статическими, т. е. постоянно прикрепленными к некоторому краю окна, или плавающими, которые допускается перемещать в пределах окна. Создать панель инструментов можно:

  • на основе компонента Panel;
  • на основе специальных компонентов ToolBar или CoolBar;
  • на основе компонента Form.

Эти способы подробно будут рассмотрены в следующих статьях.
Читать далее…

Метки: VCL, Панель инструментов

Автор Сергей Бойко 16 декабря, 2011

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Комбинации клавиш служат для быстрого вызова часто используемых команд меню. Комбинации клавиш также называют «горячими» клавишами, быстрыми клавишами или акселераторами. Обычно комбинации клавиш задаются при разработке приложения в окне Инспектора объектов. При выполнении приложения также можно задать или изменить комбинации клавиш для отдельных пунктов меню. Комбинации клавиш задаются через свойства Caption и ShortCut.

В отличие от быстрых клавиш (shortcut keys), которые позволяют выполнить команду, не открывая меню, «горячие» клавиши (hot key) используются только при активном (открытом) соответствующем меню.


Читать далее…

Метки: VCL, Меню

Автор Сергей Бойко 16 декабря, 2011

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Создание и настройка меню с помощью Конструктора меню выполняются при создании приложения. Кроме того, меню можно создавать или изменять динамически непосредственно при выполнении приложения. Например, возможно:

  • создать новое меню любого типа или удалить его;
  • заблокировать или разблокировать отдельные пункты;
  • сделать пункт меню видимым или невидимым;
  • добавить или удалить пункт меню;
  • изменить название пункта;
  • установить или убрать отметку пункта;
  • изменить главное меню формы на другое;
  • соединить два меню.

Эти возможности обеспечиваются установкой свойствам пунктов меню требуемых значений и вызовом соответствующих методов.


Читать далее…

Метки: VCL, Меню

Автор Сергей Бойко 16 декабря, 2011

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Контекстное (всплывающее) меню появляется при размещении указателя в форме или в области некоторого элемента управления и нажатии правой кнопки мыши. Обычно контекстное меню содержит команды, влияющие только на тот объект, для которого вызвано это меню, поэтому такое меню также называют локальным. На скриншоте показан примерный вид контекстного меню.


Контекстное меню в Delphi представлено компонентом PopupMenu.


Читать далее…

Метки: VCL, Меню

Автор Сергей Бойко 15 декабря, 2011

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Главное меню располагается в верхней части формы под ее заголовком (см. скриншот) и содержит наиболее общие команды приложения. В Delphi главное меню представлено компонентом MainMenu.


Читать далее…

Метки: VCL, Меню

Автор Сергей Бойко 13 декабря, 2011

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Меню является важнейшими элементами управления пользовательского интерфейса любого приложения. Кроме того, коснемся механизма действий, позволяющего синхронизировать совместную работу различных элементов управления.

Практически все Windows-приложения имеют меню, которое является распространенным элементом пользовательского интерфейса. Меню представляет собой список объединенных по функциональному признаку пунктов, каждый из которых обозначает команду или вложенное меню (подменю). Выбор пункта меню равносилен выполнению соответствующей команды или раскрытию подменю.


Читать далее…

Метки: VCL, Меню

Автор Сергей Бойко 6 декабря, 2011

Опубликовано в рубрике Визуальные компоненты VCL в Delphi

Для организации стандартного диалогового окна Find (Найти) (см. скриншот) предназначен компонент FindDialog, который служит для ввода текстовой информации в строку Find what (Строка поиска). Введенная строка является значением свойства FindText типа String.


Читать далее…

Метки: VCL, Диалоговые окна

 Страница 1 из 12  1  2  3  4  5  6  7 » …  Последняя » 

Создание приложений в Delphi — презентация онлайн

Создание приложений в Delphi

2. Особенности программирования в оконных операционных средах

Окна среды программирования
используются для выполнения действий,
связанных с формированием в окнах
создаваемого приложения видимых
элементов (кнопок, списков, надписей,
меню и т.д.),
и для создания текстов программных
процедур обработки событий, связанных с
этими элементами (таких, например,
событий, как нажатие на кнопку, выбор
строки из списка или команды из меню и
т.д.).

3. Среда визуального программирования

на примере среды программирования Delphi 7

4.

Система окон, команд, меню и панелей среды разработкиОкна среды разработки, например, окна
среды программирования Delphi 7 (главное
окно Delphi, окна Object TreeView, Object
Inspector, а также окно формы и окно
программного модуля – окна с заголовками типа
Form1 и Unit1.pas) используются для создания
проекта программного приложения типа
Application, а именно, для формирования
видимых в окнах программ элементов (кнопок,
списков, надписей, меню и т.д.) и для создания
процедур обработки событий, связанных с
этими элементами (таких, например, событий,
как нажатие на кнопку, выбор строки из списка
или команды из меню и т.д.).
Главное окно среды программирования Delphi
содержит главное меню Delphi (команды File, Edit,
View, Run, Help и другие), панели инструментов с
кнопками и Палитру компонентов (обычно справа
вверху).
Команды главного меню Delphi открывают
доступ к меню с более конкретными командами
второго уровня.
Быстрый доступ к наиболее важным и
употребительным командам можно получать также
с использованием контекстных меню (например,
после щелчка правой кнопкой «мыши»).
Панели инструментов содержат кнопки,
которые могут быть использованы для более
быстрого выполнения тех же действий по
сравнению использованием команд главного меню
Delphi или контекстных меню.
Палитра компонентов обычно занимает
правую часть главного окна Delphi. С
помощью компонентов создаются видимые в
окнах программ элементы (кнопки, списки,
надписи, меню и т.д.).
Прочие окна среды программирования
(Object TreeView, Object Inspector, а также
окно формы и окно программного модуля –
это окна с заголовками типа Form1 и
Unit1.pas) используются для создания
проекта программного приложения.

7. Использование компонентов

Компоненты (кнопки, текстовые поля,
надписи, списки и прочие) при создании
приложения должны быть размещены в окне
формы (или в окнах форм) этого
приложения.
При выполнении действий, связанных с
выбором, размещением и использованием
компонентов, используются Палитра
компонентов (с нее выбираются
компоненты с помощью указателя «мыши»),
а также окно Object Inspector
(предназначенное для отображения и
установки значений свойств компонентов
и для определения реакции компонентов
на все доступные события) и окно Object
TreeView (в этом окне отображаются связи
между компонентами).

8. Свойства, события, методы

Значения свойств компонентов
определяют расположение, размеры, вид и
прочие характеристики компонентов.
Значения свойств компонентов можно
устанавливать в окне Object Inspector на
вкладке Properties на стадии
проектирования приложения.
Значения свойств компонентов можно
изменять и программным путем во время
выполнения приложения
Событие наступает при выполнении
каких-либо действий, связанных с
компонентом.
Если при наступлении события должны
быть выполнены действия, являющиеся
реакцией приложения на это событие, то
для выполнения этих действий должна быть
создана процедура обработки этого
события. Затем в эту процедуру должны
быть добавлены операторы, выполняющие
действия, определяющие реакцию
программного приложения на событие.
В общем случае для создания процедуры
обработки того или иного события, связанного с
выделенным компонентом или даже с несколькими
выделенными компонентами, можно в окне Object
Inspector открыть вкладку Events (События), поместить
указатель «мыши» в правую часть строки с названием
выбранного события и выполнить двойной щелчок левой
кнопкой «мыши».
После выполнения этих действий в окне Object
Inspector
в строке с названием выбранного события появится
название процедуры обработки этого события, а в
окне программного модуля появится «пустая» заготовка
процедуры обработки этого события.
В созданную заготовку процедуры обработки
события должны быть добавлены операторы,
выполняющие действия, определяющие реакцию
приложения на выбранное событие.
Метод – это процедура или функция,
принадлежащая объекту. Методом, в том
числе, является и процедура обработки
события, связанного с объектом.
В среде программирования Delphi
разработано множество методов, которые
могут быть использованы для
разнообразных целей.
.

12. Создание проектов

Для создания проекта нового
программного приложения (типа Application)
можно запустить среду программирования
Пуск=>Программы=>Borland Delphi
7=>Delphi 7 или, если в среде
программирования уже выполнялась работа с
каким-либо проектом, можно выполнить
команды главного меню среды
программирования
File=>New=>Application

13. Сохранение файлов проектов

После формирования видимых элементов и
создания программных текстов приложения (а еще
лучше до этого) следует сохранить все файлы
проекта приложения в папке, специально
созданной или создаваемой при сохранении для
файлов именно этого проекта. При сохранении
файлов проекта рекомендуется изменить
стандартные имена проекта и модуля (или
модулей) типа Project1 и Unit1, предлагаемые
средой программирования на имена,
соответствующее назначению проекта (буквы в
имени должны быть только латинскими).
Кроме того, файл проекта и файлы модулей
должны быть сохранены с разными именами.
Для сохранения файлов проекта
приложения может быть использована в
зависимости от конкретной ситуации любая из
соответствующих команд из меню команды
File
(Save, Save As…, Save Project As…, Save All),
причем для сохранения всех файлов,
связанных
с проектом приложения, следует сохранить
как файл проекта (с расширением dpr), так и
файлы модулей (с расширением pas).
Остальные файлы, связанные с файлом
проекта или
с файлами модулей, сохраняются
автоматически.
При сохранении файлов проекта следует
обращать внимание на то, что, несмотря на
возможность сохранения файла проекта (и
связанных с ним файлов) и файлов модулей (и
связанных с ними файлов) в разных папках
(командами, соответственно, Save Project As… и
Save As…), очень рекомендуется сохранять все
эти файлы в одной папке, специально созданной
или создаваемой при сохранении для файлов
именно этого проекта. В противном случае
становится возможным неправильное
использование файлов проекта, и как следствие,
неправильное выполнение приложения.

16. Запуск созданных приложений

Для запуска созданного приложения на
выполнение в среде программирования можно
выполнить команды меню Run => Run или
соответствующую кнопку Run на панели
инструментов Debug (можно также использовать
клавишу F9).
При запуске приложения на выполнение в
среде программирования сначала происходит
трансляция (точнее, компиляция) программы, в
результате которой создается выполняемый файл
приложения с расширением exe (этот файл часто
называют exe-модулем), который затем и
выполняется под управлением среды
программирования.

17. Создание и редактирование приложений в среде программирования

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

18. Особенности создания проекта, сохранения файлов проекта, открытия проекта в среде программирования

При создании проекта приложения создается
несколько файлов: файл проекта (с расширением
dpr), файлы модулей (pas), файлы форм (dfm),
файл ресурсов проекта (res),
файлы для сохранения параметров настройки
компилятора (cfg), проекта (dof), среды
программирования (dsk) и, возможно, другие
файлы, связанные с проектом.
После формирования видимых
элементов и создания программных текстов
приложения (а еще лучше до этого) следует
сохранить все файлы проекта
приложения в папке, специально созданной
или создаваемой при сохранении для
файлов именно этого проекта. При
сохранении файлов проекта
рекомендуется изменить стандартные
имена проекта и модуля (или модулей)
типа Project1 и Unit1, предлагаемые средой
программирования на имена,
соответствующее назначению проекта
(буквы в имени должны быть только
латинскими).
Кроме того, файл проекта и файлы
модулей должны быть сохранены с
разными именами.
При сохранении файлов проекта следует обращать
внимание на то, что, несмотря на возможность
сохранения файла проекта (и связанных с ним
файлов) и файлов модулей (и связанных с ними
файлов) в разных папках (командами, соответственно,
Save Project As… и Save As…), очень рекомендуется
сохранять все эти файлы в одной папке, специально
созданной или создаваемой при сохранении для
файлов именно этого проекта.
В противном случае становится возможным
неправильное использование файлов проекта, и как
следствие, неправильное выполнение приложения.
При создании нового проекта или открытии
другого проекта, если до этого еще не были
сохранены все файлы ранее открытого проекта
могут появляться окна с вопросами о сохранении
изменений в тех или иных файлах ранее
открытого проекта.
На эти вопросы следует ответить
в зависимости от необходимости сохранять
или не сохранять эти изменения.

21. Структура программного модуля

unit <имя модуля>;
interface
<интерфейсная часть>
implementation
<исполняемая часть>
end. <= признак конца модуля
Между исполняемой частью и признаком
конца модуля могут также находиться
инициализирующая (initialization) и
завершающая (finalization)части модуля.

22. Способы создания обработчиков событий

В общем случае для создания
обработчика событий или, иначе говоря,
процедуры обработки того или иного
события, связанного с выделенным
компонентом или даже с несколькими
выделенными компонентами, можно в окне
Object Inspector открыть вкладку Events
(События), поместить указатель «мыши» в
правую часть строки с названием выбранного
события и выполнить двойной щелчок левой
кнопкой «мыши».
Создать процедуру обработки события,
наиболее характерного для данного
компонента, или получить доступ к этой
процедуре можно, поместив указатель
«мыши» в область этого компонента в окне
формы или на его значок в окне Object
TreeView и затем выполнив двойной щелчок
левой кнопкой «мыши».

24. Использование окна кода при создании и редактировании текста программы

Первоначально окно кода (с заголовком типа
Unit1.pas) содержит минимальный исходный текст,
обеспечивающий нормальное функционирование пустой
формы в качестве окна Windows-программы.
Текст программы обычно вставляется между
строками
{$R *.dfm} и end.
Описания переменных и других объектов можно
вставлять в области описаний выше строки
implementation.
Окно кода обладает всеми свойствами текстового
редактора, необходимыми для ввода и редактирования
текстов программ, а также некоторыми дополнительными
возможностями, связанными с контролем текста
программы по мере его ввода.

25. Компиляция и запуск приложения

Для компиляции созданного приложения и его
запуска на выполнение в среде программирования
можно выполнить команды меню Run => Run или
нажать соответствующую кнопку Run на панели
инструментов Debug (можно также использовать
клавишу F9).
В результате компиляции создается
выполняемый файл приложения с расширением
exe (этот файл часто называют exe-модулем),
который затем и выполняется под управлением
среды программирования.
Созданное приложение может выполняться
независимо от среды программирования (для
простого приложения достаточно запустить на
выполнение
exe-модуль).

Разработка Delphi — DreamSoft

Разработка Delphi — DreamSoft

Разрабатываем новый софт, дорабатываем существующий, актуализируем его и сопровождаем.
Готовы к любому сотрудничеству

Почему стоит заказать услуги у нас

0 +

успешных
внедрений софта

0 +

лет разработки
на Delphi

0 +

лет на рынке
IT услуг

0 +

специалистов
в команде

Почему нужно выбирать разработку программ на Delphi в сравнении с другими языками программирования

Узнать подробнее

Современный и эффективный язык программирования

Delphi является современным языком программирования, который постоянно развивается и идёт в ногу со временем. Последняя версия Delphi обеспечивает беспрецедентную поддержку разработки клиентов для Windows 10 (один из лучших в отрасли), ещё более быстрый компилятор, способный обрабатывать миллионы строк кода на основе Pascal за считанные минуты, а также уникальная возможность настроить таргетинг на многие операционные системы (Windows, Linux, macOS, Android, iOS) с одним и тем же исходным кодом, включая пользовательский интерфейс.

Высокая скорость работы ПО

Delphi имеет один из самых быстрых и эффективных компиляторов, порождающий хороший объектный код, который является компактным и работает намного быстрее чем программы, написанные на других современных языках, являющихся интерпретируемыми. Это позволяет делать программы на Delphi намного менее требовательными к «железу», что существенно экономит средства потребителей.

Высокая надёжность софта

Программы на Delphi уже много лет как зарекомендовали себя как одни из самых надёжных, поэтому их используют в банковской сфере, крупные европейские автопроизводители. Также широко распространены программы на Delphi в торговле и аптечной сфере.

Экономия на разработке ПО

Высокая скорость разработки на языке Delphi достигается не только за счёт мощной и удобной среды разработки, возможности создавать приложения посредством интерактивного выбора и перетягивания на форму компонентов, но и за счёт использования большого количества уже готовых модулей (библиотек), большинство из которых распространяется бесплатно. Благодаря этим факторам, разработка ПО на делфи позволяет не только получить желанный продукт быстрее, но и значительно сэкономить бюджет.

Экономия на сопровождении ПО

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

Расширяемость команды разработки

Вход специалиста в язык Delphi является одним из самых быстрых (1–2 месяца), что позволяет масштабировать команду в сжатые сроки и снижать стоимость разработки

Формы сотрудничества

Услуги аутсорсинга

Выполнение разработки отдельных задач силами ДримСофт. Ответственность за конечный результат делится между Заказчиком и ДримСофт.

Получить консультацию

Услуги аутстаффинга

Усиление вашей команды нашими специалистами. Ответственность за конечный результат ложится на Заказчика.

Получить консультацию

Разработка продуктов

Полный цикл разработки программных продуктов. Ответственность за конечный результат ложится на ДримСофт.

Получить консультацию

Реализованные проекты на Delphi

DS-Trade

Программный комплекс, позволяющий вести учёт движения товаров, производить их реализацию через кассовую программу, получать необходимые отчеты

Результаты от внедрения ПО для клиента

  • появилась возможность применения любых видов дисконтных программ (купоны, подарочные сертификаты, 3 = 2, скидки в определенное время и т. д.)
  • трудозатраты на заказ товаров снизились на 90-95%, были упразднены склад запасов и соответствующие рабочие места
  • появилась возможность визуализации показателей в режиме реального времени
  • сформирована единая интегрированная система всех подразделений торговли (офис – склад – торговая точка)
  • автоматизирован сбор данных, который позволяет на основе аналитики принимать оперативные управленческие решения и прогнозировать продажи
  • исключилось влияние человеческого фактора, что привело к ускорению внутреннего товарооборота на 50%, оптимизации закупки товаров по правилам бизнеса.

DS-Pharm

Программное обеспечение для сети аптек. Состоит из серверной и клиентской части.

Результаты от внедрения ПО для клиента

  • появилась возможность применения любых видов дисконтных программ (купоны, подарочные сертификаты, 3 = 2, скидки в определенное время и т. д.)
  • трудозатраты на заказ товаров снизились на 90-95%
  • появилась возможность визуализации показателей в режиме реального времени
  • сформирована единая интегрированная система всех подразделений торговли (офис – склад – торговая точка)
  • автоматизирован сбор данных, который позволяет на основе аналитики принимать оперативные управленческие решения и прогнозировать продажи
  • исключилось влияние человеческого фактора, что привело к оптимизации закупок товаров

DS-Weight

Программно-аппаратный комплекс для автоматизации работы промышленных весовых станций с фото и видео фиксацией.

Результаты от внедрения ПО для клиента

  • Совместим с большинством платформенных и железнодорожных весов.
  • Поддерживает обмен данными с «1С».
  • Работает как в автоматическом, так и в ручном режиме.
  • Управление дополнительным оборудованием для организации движения по весам: шлагбаумы, светофоры, дублирующие табло, указатели, световая и звуковая сигнализация и многое другое.
  • Информирование о событиях взвешивания через email, SMS или мессенджеры.
  • Поддерживаются как сетевые распределённые конфигурации с удалёнными рабочими местами пользователей, так и изолированные конфигурации без доступа к сети Интернет.
  • Поддерживается работа с несколькими весовыми платформами с общей базой данных учета всех взвешиваний.
  • Поддерживается режим работы поосного взвешивания.
  • Гарантийное и после гарантийное обслуживание.
  • Возможна заказная конфигурация под требования заказчика.

Цикл разработки

Анализ и разработка требований

Проектирование

Программирование и разработка

Тестирование

Запуск, аналитика и сопровождение

Закрытие

Настоящим в соответствии с Законом Республики Беларусь от 07.05.2021 № 99-З «О защите персональных данных» свободно, своей волей и в своем интересе даю свое безусловное согласие на обработку моих персональных данных Обществу с ограниченной ответственностью «ДримСофт» (УНП 391404694), зарегистрированному в соответствии с законодательством Республики Беларусь по адресу: Республика Беларусь, г. Витебск, ул. 18-я Городокская, 12 (далее по тексту – Оператор).

Персональные данные — основные и дополнительные персональные данные физического лица, подлежащие в соответствии с законодательными актами Республики Беларусь внесению в регистр населения, а также иные данные, позволяющие идентифицировать такое лицо.

Настоящее согласие выдано мною на обработку следующих персональных данных:
— фамилия, имя, отчество;
— номер контактного телефона;
— адрес электронной почты.

Согласие дано Оператору для совершения следующих действий с моими персональными данными с использованием средств автоматизации и/или без использования таких средств: сбор, систематизация, накопление, хранение, уточнение (обновление, изменение), использование, обезличивание, а также осуществление любых иных действий, предусмотренных действующим законодательством Республики Беларусь как неавтоматизированными, так и автоматизированными способами.

Данное согласие дается Оператору для обработки моих персональных данных в следующих целях:
— предоставление мне услуг/работ;
— направление в мой адрес уведомлений, касающихся предоставляемых услуг/работ;
— подготовка и направление ответов на мои запросы;
— направление в мой адрес информации, в том числе рекламной, о мероприятиях/товарах/услугах/работах Оператора.

Настоящее согласие действует до момента его отзыва путем направления соответствующего уведомления на электронный адрес [email protected].

MyDelphi7 Быстрые кнопки (кнопки быстрого доступа)

 

 

 

Инструментальные панели быстрых кнопок для Delphi 7 представлены на рисунке 2. Панель Интернет по умолчанию невидима. В Delphi 6 ее состав несколько отличается от приведенного, а в Delphi 5 она вообще отсутствует. В Delphi 4 нет и панели настройки конфигурации. Назначение размещенных на панели быстрых кнопок можно узнать из ярлычков, появляющихся, если вы поместите курсор мыши над соответствующей кнопкой и на некоторое время задержите его. В таблице 1 приведены пиктограммы этих кнопок, соответствующие им команды меню и «горячие» клавиши, а также краткие пояснения.

 

рисунок 2

 

Таблица 1

Команда меню / Горячие клавиши

Пояснение команды

File | New | Open

Открыть проект или модуль из Депозитария

File | Open

File | Reopen

Открыть файл проекта, модуля, пакета. Кнопочка со стрелкой справа от основного изображения соответствует команде Reopen, позволяющей открыть файл из списка недавно использовавшихся

File | Save As

File | Save

(Ctrl – S)

Сохранить файл модуля, с которым в данный момент идет работа

File | Save All

Сохранить все (все файлы модулей и файл проекта)

File | Open Project

(Ctrl – F11)

Открыть файл проекта

Project | Add to Project

(Shift – F11)

Добавить файл в проект

Project | Remove from Project

Удалить файл из проекта

Help | Contents

Вызов страницы Содержание встроенной справки

View | Units

(Ctrl – F12)

Переключиться на просмотр текста файла модуля, выбираемого из списка

View | Forms

(Shift – F12)

Переключиться на просмотр формы, выбираемой из списка

View | Toggle Form/Unit

(F12)

Переключение между формой и соответствующим ей файлом модуля

File | New | Form

Включить в проект новую форму

Run | Run

(F9)

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

Run | Program Pause

Пауза выполнения приложения и просмотр информации CPU. Кнопка и соответствующий раздел меню доступны только во время выполнения приложения

Run | Trace Into

(F7)

Пошаговое выполнение программы с заходом в функции

Run | Step Over

(F8)

Пошаговое выполнение программы без захода в функции

View | Desktops | Save Desktop

Сохранение текущей конфигурации окна (начиная с Delphi 5)

View | Desktops | Set Debug Desktop

Установка конфигурации окна при отладке (начиная с Delphi 5)

File | New | Other | WebSnup | WebSnup Data Module

Создание модуля данных приложения WebSnup для Web (начиная с Delphi 6)

File | New | Other | WebSnup | WebSnup Page Module

Создание модуля страницы приложения WebSnup для Web (начиная с Delphi 6)

File | New | Other | WebSnup | WebSnup Application

Создание приложения WebSnup для Web (начиная с Delphi 6)

 Вызов внешнего редактора страниц Web, который устанавливается кнопкой Edit на странице Internet окна опций, вызываемого командой Tools | Environment Options (в Delphi 6)

 

На рис. 2 и в табл.1 приведен стандартный состав инструментальных панелей быстрых кнопок. Однако Delphi предоставляет вам широкие возможности настроить панели по своему усмотрению, добавить в них какие-то быстрые кнопки о применяемых вами команд, убрать кнопки, которыми вы редко пользуетесь, сделать некоторые из инструментальных панелей невидимыми. Настройку инструментальных панелей быстрых кнопок рассмотрим в будущих уроках.

 

 

Всё, что представлено на этом сайте, копировать запрещено!

 

 

 

 
©Copyright MyDelphi7 2003
Операторы и функции

— Barry Honig

DelPhi теперь использует интерпретатор команд, позволяющий использовать англоязычные команды в файле параметров.

Концепция команды в DelPhi существует в двух формах: операторах и функциях.
Операторы имеют вид:

Переменная=значение

например.

Масштаб=2.0
размер сетки=33
периодическая граница=x
frc write=true

и т.д.
Команды имеют вид:

операция(specifier,file=»xxx.yyy»,format=abc»)

напр.

in(pdb,file=»lys.pdb»)
out(phi,unit=20,format=2)
center(file=»test.pdb»)

и т.д.

(обратите внимание на (преднамеренное) сходство с открытыми операторами FORTRAN) Разница заключается в сложности. Операторы просто устанавливают значения или флаги, функции вызывают выполнение операций внутри функции и включают модераторов, влияющих на эти операции.

Следует также отметить, как DelPhi отличает их друг от друга. Он делает это, замечая, что каждый оператор имеет знак равенства, который не находится внутри каких-либо квадратных скобок. Я упоминаю об этом, потому что неизбежно будут возникать опечатки, и интерпретатор время от времени будет путаться. Я пытался предвидеть некоторые ошибки ввода и информировать о них пользователя, но самой сложной частью любой сложной программы является обработка ошибок, и на данный момент DelPhi будет возвращать вам только то, что не понимает, и продолжать работу с программой. . Так что будьте осторожны со знаками равенства. Еще одна вещь, которую следует использовать с осторожностью, — это запятые. Интерпретатор использует запятые (без квадратных скобок), чтобы решить, сколько команд ему предстоит выполнить. Например,

Scale=2.0, gridsize=65,center(file=»mid.pdb»)

нормально, но

frcwrite=on, out,(eps),

выдаст вам предупреждение, и совершенно правильно . Не нужно использовать запятые для разделения команд, DelPhi также допускает «|» и «:», которые менее двусмысленны, но я нахожу их менее естественными. Не используйте точки, так как их можно спутать с числовыми значениями.

Команды не чувствительны к регистру, хотя имена файлов будут, например,

in(pdb,file=»lys.pdb»)

и

в (pdb,file=»Lys.pdb»)

различаются.

С пробелами все в порядке, интерпретатор все равно их отбрасывает. Комментарии можно добавлять с помощью восклицательных знаков. Все, что находится справа от инициала «!» игнорируется до появления другого «!» или достигнут конец строки. Например:

!установить масштаб! масштаб=1,5 ! probe radius=1.4

приведет к установке масштаба, но не радиуса датчика, тогда как

scale=1.5! Теперь установите радиус зонда! радиус зонда=1,4

приводит к установке обоих.

Вы можете поместить в строку столько команд, сколько хотите, конечно, через запятую, или по одной на строку. Кроме того, если вы достигли конца строки и хотите перейти к следующей, вы можете использовать косую черту продолжения, как в FORTRAN. Например:

мембрана=истина,ионный радиус=\
2. 0, размер сетки=33

читается как,

мембрана=истина,ионный радиус=2.0, размер сетки=33

(сомневаюсь, что это будет часто использоваться, но никогда нельзя сказать.)

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

Для каждого типа операторов существует набор сокращений. Он бывает двух видов: двухбуквенный код и шестибуквенный код. На самом деле шестибуквенные коды — это шести-трехбуквенные коды. Причина их включения заключается в том, что они более компактны (хотя и менее читаемы), чем длинные описания, и поэтому они менее подвержены опечаткам (если их знать!). Они дело вкуса. Полный список сокращений и допустимых полных версий приведен в ПРИЛОЖЕНИИ в конце этого документа.

Да, Нет, Может быть

При установке логических значений следующие значения не чувствительны к регистру и эквивалентны:

да, вкл, истина, t
нет, выкл, ложь, f

Текущий набор разрешенных функций:

CENTER
ACENTER
ЧТЕНИЕ/ВХОД (эквивалент)
ЗАПИСЬ/ВЫВОД (эквивалент)
ENERGY
QINCLUDE

Мы рассмотрим их один за другим, поскольку они различаются больше по формату, чем по заявлениям. Но сначала некоторые из общих функций

Function(file=»test.file)

откроет файл test.file для центрирования, вывода или ввода.

Function(unit=14)

сделает то же самое, но с fort.14 или чем-то, что с ним связано.

Function(format=abc)

будет выполнять операции с файлами определенного формата или определенным образом. Формат по умолчанию всегда равен нулю (т. е. «0»). Формат может быть числом или строкой. Например, если бы кто-то хотел написать отформатированный phimap, он бы написал:

out(phi, format=1)

или если кто-то хотел записать файл frc в любимом формате Мэрилин

out(frc,form=Marylyn)

Обратите внимание, что «format», «frm» и «form» эквивалентны. Как можно заметить, это делает функции очень гибкими.

Для функций не существует сокращений.

Center

Center(0.2,3,2)

сместит молекулу на 0,2 сетки по оси x, на 3 по оси y и на 2 по оси z, как и в стандартном файле параметров. Так зачем делать из этого функцию? Из-за возможности открытия файла для получения центра

Center(unit=15)

откроет форт.15, прочитает все атомы в нем и сделает их центр центром забега.

Существует возможность добавления квантификатора формата, позволяющего читать, скажем, неформатированный файл, но это еще не сделано.

Чтобы прочитать только первый атом файла и использовать его координаты, используйте следующее:

Center(file=»whatever»,an=1)

Почему «an=1»? Почему бы просто не использовать спецификатор формата или что-то в этом роде? Причина в том, что «an=1» — это язык GRASP для атома номер один. Когда-нибудь в будущем я, возможно, захочу включить возможность добавлять квалификаторы GRASP для выбора частей файлов для функции, например. в файл frc записывать только те атомы, которые заряжены и т. д. Так что это, так сказать, просто плацдарм в будущее.

Acenter

Едва ли это заслуживает того, чтобы быть функцией, но я не мог решить, как это приспособить по-другому. Acenter принимает три абсолютные координаты, то есть в Å, и использует их в качестве центра, поэтому

Acenter(1.0,5.6,7.0)

центрирует молекулу в координатах x=1,0 Å, y=5,6 Å, z=7,0 Å.

Энергия

Заменяет линию энергии в файле параметров старого стиля. В настоящее время он принимает в качестве аргумента любой из следующих:

G или GRID for the grid energy,
S or SOL or SOLVATION for the corrected reaction field energy
C or COULOMBIC or COU for the coulombic energy
AS or ANASURF or ANALYTICALSURFACE для аналитической поверхностной энергии
AG или ANAGRID или ANALYTICALGRID для аналитической энергии сетки

, разделенные запятыми. (Как всегда, здесь нет чувствительности к регистру.)

Так, например,

energy(s,g,Cou)

дает сольватную, кулоновскую и сеточную энергии.

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

Чтение/Ввод

Очевидно, эта функция имеет дело с вводом файлов. Он поставляется с несколькими спецификаторами, а именно:

SIZ : для радиусных файлов
CRG : для файла заряда
PDB : для файла pdb
FRC : для использования файла для определения потенциала сайта чтобы дать пользователю возможность указать имя файла или номер единицы любого из этих файлов. Позднее будут добавлены функциональные возможности, например, в командном файле GRASP можно будет задавать размеры или расходы, можно будет читать другой формат файла pdb и т. д. Обратите внимание, что файлы по умолчанию для всех операций чтения (и записи) — это стандартные DelPhi.

Запись/Вывод

Очевидно, что это касается и вывода. Спецификаторы:

PHI : для PHIMAPS
FRC : для потенциалов сайта
EPS : для EPSMAPS
MODPDB : для модифицированных файлов PDB
UNPDB : для модифицированных файлов PDB
UNPDB : для модифицированных файлов PDB

UNPDB . для неформатированных файлов frc

Очевидно, здесь есть некоторая избыточность, например, неформатированные файлы pdb и frc могут подпадать под рубрику PDB и FRC с разными типами формата. Но пока будем оттачивать близко к тому, к чему мы привыкли. В качестве примера использования

write(eps)

записывает epsmap в стандартном формате.

out(modpdb, file=»test.out»)

записывает измененный файл pdb с именем «test. out»

Обратите внимание, что изначально все записи выключены, включая eps и phi.

Можно заметить, что с помощью приведенных выше команд можно указать номер модуля или имя файла для каждого файла, обычно используемого DelPhi, за исключением файла параметров. Здесь мы сталкиваемся с ловушкой 22: нет смысла изменять имя входного файла из входного файла! Вместо этого мы решили разрешить пользователю передавать имя входного файла в DelPhi. Например, если вы хотите использовать файл параметров «test.prm» в качестве файла параметров, введите:

delphi test.prm

Ввод

delphi

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

delphi test.prm test2.prm

использует только test.prm

Qinclude

Функция qinclude работает так же, как оператор include работает в FORTRAN или C, т. е. вставляет строки из другого файла в текущий. Например, предположим, что у нас есть следующие файлы:

test.prm:

scale=3.0, write(frc),write(modpdb,file=»test.out»)
acenter(0.123,4.55,2.34)

test2.prm:

тип границы=2 , read(pdb,file=»test.pdb»)

затем файл:

scale=3.0, write(frc),write(modpdb,file=»test.out»)
qinclude(test2.prm)
acenter(0.123,4.55,2.34)

эквивалентно:

масштаб=3.0, запись(frc),запись(modpdb,file=»test.out»)
тип границы=2, чтение(pdb,file=» test.pdb»)
acenter(0,123,4,55,2,34)

или можно было бы даже написать:

qinclude(test1.prm)
qinclude(test2.prm)

Ясно, что эта форма предназначена для того, чтобы позволить пользователю создать свой собственный файл по умолчанию и qвключить этот файл в начало любого последующего файла параметров. Следовательно, тогда требуется только оператор qinclude плюс строка или строки, указывающие те параметры, которые мы хотим изменить в файле по умолчанию.

Обратите внимание, что qinclude является немедленным, т.е. включает строки из указанного файла на позиции команды qinclude. Это важно помнить, так как в DelPhi, если вы умножаете количество, то последний экземпляр является текущим, т.е.

масштаб=2,0
масштаб=3,0

оставляет масштаб установленным на 3 сетки/Å. Именно по этой причине мы включаем команду write(specifier,off), так что если у нас есть файл по умолчанию, который разрешает запись, мы все равно можем отключить его, не изменяя файл по умолчанию.

Может ли файл qinclude содержать файл qinclude? Но конечно. В настоящее время вы можете вкладывать файлы qinclude до десяти в глубину, и я смею требовать больше, чем это КОГДА-ЛИБО!

Если файл qinclude не существует, DelPhi сообщит вам об этом и перейдет к следующей команде. Если нет файла, переданного в qinclude, т.е.

qinclude()

то передается включаемый файл по умолчанию ~/qpref.prm, если он существует. Qinclude — это специальная команда, поэтому для нее всегда требуется отдельная строка, т. е. НЕ добавляйте дополнительные команды в строку, которая (должна) начинаться с команды qinclude (даже с комментариями).

масштаб=2.0                            ! устанавливает масштаб на 2 сетки/Å
perfil=90                            ! устанавливает процент заполнения поля на 90%
indi=2                                ! внутренний диэлектрик = 2
!bndcon=3                        ! граничное условие фокусировки не включено
in(pdb,file=»ala.pdb»)     ! читает в ala.pdb
in(crg,file=»ala.crg»)       ! читает ответственный файл ala.crg
in(siz,file=»ala.siz»)         ! читает размер файла ala.siz
!in(phi,unit=18)               ! считывает ранее созданный потенциал
                                           ! карта для фокусирования вычислений — не включено
!out(phi,unit=14)             ! выводит потенциальную карту в файл по умолчанию
!out(phi,file=»ala. phi»)   ! выводит карту потенциалов в ala.phi
out(modpdb)                    ! выводит файл pdb с радиусами и заряжает
энергии (с, с)                        ! выводит кулоновское поле и поле реакции
                                          ! (сольватация) энергии
in(frc,file=»self»)             ! использует записи файла pdb для вывода потенциальных
out(frc,file=»ala.frc»)      ! и значения полей в ala.frc

Энтони Николлс ([email protected])

С вопросами обращайтесь по адресу [email protected]

 

grep для файла Delphi .dproj, содержащего команды копирования для определенных DLL « The Wiert Corner – нерегулярный поток материалов

Jeroen W. Pluimers о .NET, C#, Delphi, базах данных и личных интересах

  • Подписаться

    • Записи (RSS)
    • Комментарии (RSS)
  • Архивы

    • октябрь 2022 (3)
    • Сентябрь 2022 (25)
    • август 2022 (24)
    • июль 2022 (26)
    • июнь 2022 (26)
    • май 2022 (23)
    • апрель 2022 (32)
    • март 2022 г.  (69)
    • Февраль 2022 (63)
    • январь 2022 (66)
    • декабрь 2021 (75)
    • ноябрь 2021 (66)
    • Октябрь 2021 (64)
    • Сентябрь 2021 (67)
    • август 2021 (69)
    • июль 2021 (69)
    • 90 338 июня 2021 (69)
    • май 2021 (68)
    • апрель 2021 (67)
    • март 2021 (72)
    • Февраль 2021 (63)
    • Январь 2021 (65)
    • декабрь 2020 (70)
    • ноябрь 2020 (64)
    • Октябрь 2020 (68)
    • Сентябрь 2020 (67)
    • август 2020 г. (67)
    • июль 2020 (71)
    • июнь 2020 (68)
    • май 2020 (64)
    • Апрель 2020 (67)
    • март 2020 г. (70)
    • Февраль 2020 (61)
    • Январь 2020 (74)
    • Декабрь 2019 г. (70)
    • ноябрь 2019 (63)
    • Октябрь 2019 (73)
    • Сентябрь 2019 (68)
    • август 2019 (66)
    • июль 2019 (68)
    • июнь 2019 (68)
    • май 2019 (72)
    • Апрель 2019 (73)
    • март 2019 г.  (64)
    • Февраль 2019 (68)
    • Январь 2019 (78)
    • Декабрь 2018 (87)
    • ноябрь 2018 г. (77)
    • Октябрь 2018 г. (79)
    • Сентябрь 2018 (77)
    • август 2018 (76)
    • июль 2018 (74)
    • июнь 2018 (63)
    • Май 2018 (70)
    • Апрель 2018 г. (63)
    • Март 2018 (72)
    • Февраль 2018 г. (48)
    • Январь 2018 (83)
    • декабрь 2017 г. (67)
    • ноябрь 2017 г. (62)
    • Октябрь 2017 (63)
    • Сентябрь 2017 (52)
    • август 2017 г. (62)
    • июль 2017 г. (48)
    • июнь 2017 (57)
    • Май 2017 (68)
    • Апрель 2017 г. (55)
    • март 2017 г. (59)
    • Февраль 2017 г. (58)
    • Январь 2017 г. (60)
    • Декабрь 2016 г. (59)
    • ноябрь 2016 г. (74)
    • Октябрь 2016 г. (61)
    • Сентябрь 2016 (87)
    • август 2016 г. (57)
    • июль 2016 г. (51)
    • июнь 2016 г. (49)
    • Май 2016 (48)
    • Апрель 2016 г.  (51)
    • март 2016 г. (49)
    • Февраль 2016 (50)
    • Январь 2016 г. (48)
    • декабрь 2015 г. (59)
    • ноябрь 2015 г. (57)
    • Октябрь 2015 (37)
    • Сентябрь 2015 (31)
    • август 2015 г. (41)
    • июль 2015 г. (31)
    • июнь 2015 г. (37)
    • Май 2015 (30)
    • Апрель 2015 г. (32)
    • март 2015 г. (37)
    • Февраль 2015 г. (52)
    • Январь 2015 (50)
    • декабрь 2014 г. (43)
    • ноябрь 2014 г. (39)
    • Октябрь 2014 (40)
    • Сентябрь 2014 (41)
    • август 2014 г. (58)
    • июль 2014 (32)
    • июнь 2014 (23)
    • Май 2014 (38)
    • Апрель 2014 (105)
    • Март 2014 (145)
    • Февраль 2014 г. (81)
    • Январь 2014 (56)
    • декабрь 2013 г. (58)
    • ноябрь 2013 г. (32)
    • Октябрь 2013 (26)
    • Сентябрь 2013 (26)
    • август 2013 г. (54)
    • июль 2013 г. (47)
    • июнь 2013 г.  (41)
    • Май 2013 (33)
    • Апрель 2013 г. (41)
    • март 2013 г. (50)
    • Февраль 2013 г. (47)
    • Январь 2013 г. (55)
    • декабрь 2012 (32)
    • ноябрь 2012 (23)
    • Октябрь 2012 (37)
    • Сентябрь 2012 (52)
    • август 2012 г. (46)
    • июль 2012 (40)
    • июнь 2012 (30)
    • Май 2012 (27)
    • Апрель 2012 (30)
    • Март 2012 (29)
    • Февраль 2012 (32)
    • январь 2012 (25)
    • декабрь 2011 (38)
    • ноябрь 2011 (28)
    • Октябрь 2011 (46)
    • Сентябрь 2011 (63)
    • август 2011 (35)
    • июль 2011 (24)
    • июнь 2011 (24)
    • май 2011 (24)
    • Апрель 2011 (29)
    • март 2011 г. (50)
    • Февраль 2011 (48)
    • Январь 2011 (18)
    • декабрь 2010 г. (5)
    • ноябрь 2010 г. (18)
    • Октябрь 2010 (22)
    • Сентябрь 2010 (29)
    • август 2010 (24)
    • июль 2010 (27)
    • июнь 2010 г.  (29)
    • Май 2010 (25)
    • Апрель 2010 (23)
    • март 2010 г. (10)
    • Февраль 2010 (6)
    • январь 2010 (16)
    • декабрь 2009 г. (12)
    • ноябрь 2009 (3)
    • Октябрь 2009 (11)
    • Сентябрь 2009 (21)
    • август 2009 (11)
    • июль 2009 (11)
    • июнь 2009 г.(5)
    • май 2009 г. (12)
    • апрель 2009 г. (20)
    • 22 ноября (1)
  • *nix *nix-tools .NET Об Apple C# Конференции Темы конференций Delphi Delphi XE2 Delphi XE3 Development Event История Google Интернет LifeHacker Linux Mac OS X / OS X / MacOS Personal Power User Scripting Безопасность Разработка программного обеспечения Управление исходным кодом VMware Windows Windows 7 Windows 8

  • Последние сообщения

    • Средство проверки ссылок HTML/XML/RSS – Visual Studio Marketplace
    • В моем списке расширений, которые стоит попробовать в vscode: девятая вкладка.
    • Джелмер Виссер в Твиттере: «Доелвит ли брандмауэр в Твиттере? Это вервеленд. Zo doorsta je де буря. … 1/*”
    • Примечание (типографика) — Википедия; Сноска – PrintWiki
    • Git (даже последние версии) зависает после «Разрешение дельт: 100%»
  • Статистика блога

    • 3 206 692 совпадения
  • Мета-заголовок

    • Регистрация
    • Вход в систему
    • Лента записей
    • Лента комментариев
    • WordPress.com
  • Название облака тегов

    .NET Framework андроид Яблоко 1 апреля искусство авиация пакетный файл битбакет ведение блога командная строка компьютер Конференции c библиотека времени выполнения Дельфы дельфи 1 дельфи 5 атака отказа в обслуживании дизайн DevDays09документация DOS-уязвимость образование эмбаркадеро фликр гаджеты гики Gmail Google Карты Гугл поиск Гугл хэш-коллизия интернет iOS айфон айфон 5 джероен вехи Mac OS X Марк Хоффман СМИ патчи майкрософт бюллетень по безопасности Майкрософт поверхность майкрософт мобильный Ник Ходжес нинтендо другие пути пдф фотография кнопка питания режим квеста исследовательская работа rsync наука Скотт Хансельман рейтинг серьезности программного обеспечения язык исходного кода источник твердотельный накопитель переполнение стека технологии транспорт Путешествовать твиттер vcl вм VMware VMware Fusion Рабочая станция VMware wget спидфан Windows Phone Windows XP вордпресс кскд
  • Лучшие клики

    • mac. getutm.app
    • google.com/search?q=»Извини…
    • wiert.files.wordpress.com…
    • 64k-tec.de/2010/01/fritzb…
    • twitter.com/ jpluimers
    • mvps.org/htmlhelpcenter/i…
    • wiki.agocontrol.com/index…
    • dl.acm.org/citation.cfm?i…
    • google.com/search?q=ibm+»…
    • stackoverflow.com/questio…
  • Лучшие сообщения

    • Google 2FA «К сожалению, мы не можем выполнить этот запрос в настоящее время. Повторите попытку позже или используйте другой номер телефона».
    • Единственным практичным способом запуска виртуальных машин x86 на Apple M1 является UTM на основе QEMU.
    • Zypper или YaST заблокированы: управление системой заблокировано приложением с идентификатором pid у2база).
    • Получение общедоступного IP-адреса из командной строки
    • Схема подключения C13/C14 под напряжением/нейтралью/землей
    • Диалоговое окно Chrome Print не предлагает размещение на странице, в альбомной ориентации и других параметрах печати (я смотрю на вас, @OHRA)
    • draw. io Трафареты Floorplan — draw.io
    • Звонки с номера 18553308653 могут быть связаны с тем, что кто-то пытается использовать ваш номер телефона для настройки двухфакторной аутентификации учетной записи Microsoft
    • Запуск SuperMicro IPMIView в MacOS
    • Visual Studio: показывать пробелы и настраивать пробелы вместо вкладок

grep для файла Delphi .dproj, содержащего команды копирования для определенных библиотек DLL

Опубликовано jpluimers 20 января 2021 г. операторы правильного копирования для получения определенных библиотек DLL в выходной каталог.

Очень удобно копировать, например, библиотеки DLL FastMM или OpenSSL из центрального расположения.

[WayBack] GNU grep (показывает имена файлов и поддерживает UTF-8 и UTF-16):

 grep -in  S  копия *.dproj | grep -я ssl | grep -я dll | grep -v усилитель 

Старый добрый Borland grep:

grep -in d копия *. dproj | grep -я ssl | grep -я dll | grep -v amp

Уловка amp исключает все строки, содержащие amp  в них, включая & 90 810 строк, которые интегрированная среда разработки дублирует в файле .dproj, чтобы сохранить правильное связывание конфигураций сборки.

Связано:

  • Сборки ngHttp2 и OpenSSL win32/i386/x86 и win64/x64_86 (также известные как x86_64) для Windows
  • События перед сборкой/прелинковкой/после сборки Delphi
  • События сборки Delphi / Visual Studio: код выхода xcopy 9009; убедитесь, что ваш PATH действительно включает каталоги Windows

–jeroen

Оценить:

Нравится:

Нравится Загрузка...

Эта запись была опубликована 20 января 2021 г. в 06:00 и находится в разделе Delphi, Разработка, Разработка программного обеспечения. Вы можете следить за любыми ответами на эту запись через ленту RSS 2.0. Вы можете оставить отзыв или вернуться со своего сайта.

 

  • %d блоггерам нравится это:

      Проекты MPSSE

      Главная
      Товары
      Драйверы
      Прошивка
      Поддержка
      Документы
      Эталонные проекты
      Примеры программного обеспечения
      Примеры FT51A
      Примеры FT90x
      Примеры FT9xx
      Проекты ЕВА
      FT600/601 Примеры
      Примеры FT602
      Android-проекты
      Android Java D2XX
      Винкулум-II Проекты
      Винкулум Проекты
      SafeGuard-ИТ
      FTDIChip-ID
      МПССЕ
      Примеры кода
      Примеры FT12
      Примеры FT313H
      Примеры FT4222H
      Коммунальные услуги
      Сообщество
      Ссылки по теме
      Часто задаваемые вопросы
      Андроид
      ЕВА
      MCU
      Продажи Сеть
      Интернет Магазин
      Информационный бюллетень
      Корпоративный
      Свяжитесь с нами

      Примеры проектов MPSSE

      Эта страница содержит примеры, характерные для многопротокольного синхронного Серийный движок (MPSSE) FT2232D, FT2232H, FT4232H и устройства FT232H.

      • LibMPSSE-I2C (рекомендуется)
        FTDI выпустила недавно обновленную библиотеку для обработки всех команд MPSSE. необходимо для взаимодействия с устройством по протоколу I2C. А создана отдельная страница, где можно найти библиотеку LibMPSSE загружен вместе с примерами кода и примечаниями к выпуску. Пользователь руководство доступно как АН_177.
      • LibMPSSE-SPI (рекомендуется)
        FTDI предоставила новую библиотеку для настройки MPSSE для эмуляция SPI. Создана отдельная страница, где находится LibMPSSE. библиотеку можно загрузить вместе с примерами и примечаниями к выпуску. Руководство пользователя доступно как АН_178.
      • DLL-библиотека FTCJTAG (Этот код больше не поддерживается FTDI)
        FTDI также создала DLL для обрабатывать все команды MPSSE, необходимые для взаимодействия с устройством, используя протокол JTAG. Как и в случае с нашей FTCI2C DLL, была создана отдельная страница, на которой можно загрузить FTCJTAG DLL вместе с примерами кода.

       

       

      MPSSE можно настроить напрямую с использованием Команды D2XX. Следующие примеры на эта страница иллюстрирует, как добиться этого для нескольких популярных протоколов:

       

      • AT-шина с хостом Режим эмуляции

      • JTAG

      • I2C

      • USB-I2C

      • СПИ

       

       

      Режим эмуляции шины хоста
      Обзор

       

      Это пример проекта, который демонстрирует использование Мультипротокол FT2232D Контроллер Synchronous Serial Engine (MPSSE) для выполнения главной шины MCU управление AT-Bus. Исполняемое приложение и полный код проекта (в Delphi).

       

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует D2XX от FTDI драйвера для установки.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код Delphi для приложения, нажмите здесь.

       

       

      USB к Интерфейс JTAG TAP с использованием FT2232H
      Обзор

       

      Это пример проекта для FT2232H демонстрирует, как использовать устройство Многопротокольный синхронный последовательный движок (MPSSE) для преобразования USB в JTAG Интерфейс тестовой цепочки TAP. Предоставляется полный код проекта.

       

      ТИ есть инструмент обучения JTAG и сопровождающий реферат, доступный на их сайт, который доступен для бесплатного скачивания. Щелкните здесь, чтобы посетить веб-сайт TI.

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует Драйверы FTDI D2XX должны быть установлены.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код приложения по нажмите здесь.

       

       

      USB к Интерфейс JTAG
      Обзор

      Это пример проекта для FT2232D демонстрирует, как использовать устройство Многопротокольный синхронный последовательный движок (MPSSE) для преобразования USB в JTAG шинный интерфейс. Исполняемое приложение и полный код проекта (в Delphi).

       

      ТИ есть инструмент обучения JTAG и сопровождающий реферат, доступный на их сайт, который доступен для бесплатного скачивания. Щелкните здесь, чтобы посетить веб-сайт TI.

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует Драйверы FTDI D2XX должны быть установлены.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код Delphi для приложения, нажмите здесь.

       

       

      USB к I2C Интерфейс с использованием FT2232H
      Обзор

       

      Это пример проекта для FT2232H демонстрирует, как использовать устройство Многопротокольный синхронный последовательный движок (MPSSE) для преобразования USB в I2C шинный интерфейс с использованием FT2232H. Исполняемое приложение и полный код проекта предоставлены.

       

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует D2XX от FTDI драйвера для установки.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код приложения по нажмите здесь.

       

      USB к I2C Интерфейс
      Обзор

      Это пример проекта для FT2232D демонстрирует, как использовать устройство Многопротокольный синхронный последовательный движок (MPSSE) для преобразования USB в I2C шинный интерфейс. Исполняемое приложение и полный код проекта (в Delphi).

       

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует D2XX от FTDI драйвера для установки.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код Delphi для приложения, нажмите здесь.

       

      USB к I 2 C

      Это проект для бесплатной загрузки, содержащий исходный код и исполняемый файл для поддержки AN_255.

       

      Код демонстрирует подключение FT232H в режиме MPSSE для эмуляции главного интерфейса I 2 C, который взаимодействует с мостом FT201X USB-I 2 C.

      USB к I 2 C в С#

      Это бесплатный проект загрузить, содержащий исходный код и исполняемый файл для поддержки AN_411 FTx232H MPSSE I 2 Основной пример C в C Sharp.

       

      Код продемонстрирует используя функцию MPSSE FT232H, FT2232H и устройства FT4232H для создайте USB-устройство I 2 C master с проектом C# Visual Studio. Это использует датчик приближения и датчик цвета RGB, как I 2 9периферийные устройства 1342 C для создать систему, которая может обнаруживать присутствие объекта в непосредственной близости близость и затем может определить его цвет.

       

      Интерфейс USB-SPI с использованием FT2232H
      Обзор

       

      Это пример проекта для FT2232H демонстрирует, как использовать устройство Многопротокольный синхронный последовательный движок (MPSSE) для преобразования USB в SPI шинный интерфейс с помощью устройства FT2232H Hi_Speed. Исполняемое приложение и полный код проекта (в С++).

       

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует D2XX от FTDI драйвера для установки.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код C++ для приложения, нажмите здесь.

       

      USB к SPI Интерфейс
      Обзор

       

      Это пример проекта для FT2232D демонстрирует, как использовать устройства Многопротокольный синхронный последовательный движок (MPSSE) для преобразования USB в SPI шинный интерфейс. Исполняемое приложение и полный код проекта (в Delphi).

       

       

      Требования

       

      Это проект предназначен для работы в Windows 2000 или Windows XP и требует Драйверы FTDI D2XX должны быть установлены.

       

      Загрузите проектную документацию и схему в формате PDF по адресу нажмите здесь.

       

      Загрузите исходный код Delphi для приложения, нажмите здесь.

       

       

      USB к SPI

      Наш спасибо Бобу Фриту за предоставленный пример VB6 с использованием FT2232D MPSSE для связи SPI с АЦП MAX187.

       

      Источник код и исполняемый файл доступны бесплатно скачать. Этот код предоставляется "как есть" исключительно в иллюстративных целях и, как таковые, ни FTDI, ни Боб Фрит предоставить техническую поддержку для этого кода VB6.

      Перечень кодов — оборотная сторона, онлайн-редактор LaTeX

      Содержание

      • 1 Введение
      • 2 Вербатимная среда
      • 3 Использование списков для выделения кода
      • 4 Импорт кода из файла
      • 5 Код стилей и цветов
      • 6 Заголовки и список списков
      • 7 Образец проекта на обратной стороне
      • 8 Справочник
        • 8.1 Поддерживаемые языки
        • 8.2 Параметры для настройки стилей списка кодов
      • 9 Дальнейшее чтение

      Введение

      LaTeX широко используется в науке, а программирование стало важным аспектом в нескольких областях науки, отсюда и потребность в инструменте, правильно отображающем код. В этой статье объясняется, как использовать стандартную среду verbatim , а также листинги пакета , которые предоставляют более продвинутые функции форматирования кода. В этой отдельной статье обсуждается создал пакет , который выполняет подсветку синтаксиса с использованием библиотеки Python pygmentize .

      Среда verbatim

      Инструментом по умолчанию для отображения кода в LaTeX является verbatim , который генерирует вывод моноширинным шрифтом.

       \begin{дословно}
      Текст заключен внутри окружения \texttt{verbatim}
      печатается напрямую
      и все команды \LaTeX{} игнорируются.
      \end{дословно}
       

       Открыть этот пример на обратной стороне


      Приведенный выше код выдает следующий результат:

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

       \begin{дословно*}
      Текст заключен внутри окружения \texttt{verbatim}
      печатается напрямую
      и все команды \LaTeX{} игнорируются. 
      \end{дословно*}
       

       Открыть этот пример на обратной стороне


      Приведенный выше код выводит следующий результат:

      В этом случае пробелы выделяются специальным символом «видимый пробел»: .

      Текст, похожий на Verbatim, также можно использовать в абзаце с помощью команды \verb .

       В каталоге \verb|C:\Windows\system32| можно найти много окон
      системные приложения.
       
      Команда \verb+\ldots+ создает \ldots
       

       Открыть этот пример на обратной стороне


      Приведенный выше код выводит следующий результат:

      Команда \verb|C:\Windows\system32| печатает текст внутри разделителей | в дословном формате. В качестве разделителя можно использовать любой символ, кроме букв и *. Например, \verb+\ldots+ использует + в качестве разделителя.

      Использование списков для выделения кода

      Чтобы использовать среду lstlisting , вы должны добавить следующую строку в преамбулу вашего документа:

       \usepackage{списки}
       

      Вот пример использования среды lstlisting из пакета listings :

       \begin{lstlisting}
      импортировать numpy как np
          
      def incmatrix(genl1,genl2):
          м = len(genl1)
          n = длина (genl2)
          M = None # чтобы стать матрицей инцидентности
          VT = np. zeros((n*m,1), int) #фиктивная переменная
          
          # вычислить побитовую матрицу xor
          M1 = битовая матрица (genl1)
          M2 = np.triu (bitxormatrix (genl2), 1)
          для я в диапазоне (м-1):
              для j в диапазоне (i+1, m):
                  [r,c] = np.where(M2 == M1[i,j])
                  для k в диапазоне (len (r)):
                      VT[(i)*n + r[k]] = 1;
                      VT[(i)*n + c[k]] = 1;
                      VT[(j)*n + r[k]] = 1;
                      VT[(j)*n + c[k]] = 1;
                      
                      если M равно None:
                          M = np.copy(VT)
                      еще:
                          M = np.concatenate ((M, VT), 1)
                      
                      VT = np.zeros ((n * m, 1), целое число)
          
          вернуть М
      \end{список}
       

       Откройте этот пример списков на обороте.


      Приведенный выше код выводит следующий результат:

      В этом примере выходные данные игнорируют все команды LaTeX, а текст печатается с сохранением всех разрывов строк и пробелов. Давайте посмотрим второй пример:

       \begin{lstlisting}[язык=Python]
      импортировать numpy как np
          
      def incmatrix(genl1,genl2):
          м = len(genl1)
          n = длина (genl2)
          M = None # чтобы стать матрицей инцидентности
          VT = np.zeros((n*m,1), int) #фиктивная переменная
          
          # вычислить побитовую матрицу xor
          M1 = битовая матрица (genl1)
          M2 = np.triu (bitxormatrix (genl2), 1)
          для я в диапазоне (м-1):
              для j в диапазоне (i+1, m):
                  [r,c] = np.where(M2 == M1[i,j])
                  для k в диапазоне (len (r)):
                      VT[(i)*n + r[k]] = 1;
                      VT[(i)*n + c[k]] = 1;
                      VT[(j)*n + r[k]] = 1;
                      VT[(j)*n + c[k]] = 1;
                      
                      если M равно None:
                          M = np.copy(VT)
                      еще:
                          M = np.concatenate ((M, VT), 1)
                      
                      VT = np.zeros ((n * m, 1), целое число)
          
          вернуть М
      \end{список}
       

       Откройте этот пример списков на обороте.


      Приведенный выше код выводит следующий результат:

      Дополнительный параметр в скобках [language=Python] включает подсветку кода для данного конкретного языка программирования (Python), специальные слова выделены жирным шрифтом, а комментарии выделены курсивом. Полный список поддерживаемых языков программирования см. в справочном руководстве.

      Импорт кода из файла

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

       Следующий код будет напрямую импортирован из файла
      \lstinputlisting[language=Octave]{BitXorMatrix.m}
       



      Команда \lstinputlisting[language=Octave]{BitXorMatrix.m} импортирует код из файла BitXorMatrix.m , дополнительный параметр в скобках включает подсветку языка для языка программирования Octave. Если вам нужно импортировать только часть файла, вы можете указать два параметра через запятую внутри скобок. Например, чтобы импортировать код из строки 2 в строку 12, предыдущая команда становится

       \lstinputlisting[language=Octave, firstline=2, lastline=12]{BitXorMatrix.m}
       

      Если первая строка или последняя строка опущены, предполагается, что значения находятся в начале или в конце файла соответственно.

      Стили и цвета кода

      Форматирование кода с помощью пакета listing имеет широкие возможности настройки. Давайте посмотрим на пример

       \documentclass{статья}
      \usepackage{списки}
      \usepackage{xcolor}
      \definecolor{codegreen}{rgb}{0,0.6,0}
      \definecolor{codegray}{rgb}{0,5,0,5,0,5}
      \definecolor{codepurple}{rgb}{0,58,0,0,82}
      \definecolor{backcolor}{rgb}{0,95,0,95,0,92}
      \lstdefinestyle{мой стиль}{
          backgroundcolor=\color{backcolor},
          комментарий стиль = \ цвет {codegreen},
          ключевой стиль=\цвет{пурпурный},
          numberstyle=\tiny\color{codegray},
          stringstyle=\color{codepurple},
          базовый стиль=\ttfamily\размер сноски,
          breakatwhitespace=ложь,
          линии разрыва = истина,
          заголовокпоз=б,
          keepspaces=true,
          числа = слева,
          цифрыep=5pt,
          выставочные пространства = ложь,
          showstringspaces=false,
          шоутабс=ложь,
          вкладка = 2
      }
      \lstset{стиль=мой стиль}
      \начать{документ}
      Следующий код будет напрямую импортирован из файла
      \lstinputlisting[language=Octave]{BitXorMatrix. m}
      \конец{документ}
       


      Приведенный выше код выдает следующий результат:

      Как видите, цветовая гамма и стиль кода значительно улучшают читабельность.

      В этом примере импортируется пакет xcolor , а затем используется команда \definecolor{}{}{} для определения новых цветов в формате rgb, которые будут использоваться позже. Для получения дополнительной информации см.: использование цветов в LaTeX.

      По сути, есть две команды, которые генерируют стиль для этого примера:

      \lstdefinestyle{mystyle}{...}
      Определяет новый стиль листинга кода под названием «mystyle». Внутри второй пары фигурных скобок передаются параметры, определяющие этот стиль; полное описание этих и некоторых других параметров см. в справочном руководстве.
      \lstset{style=mystyle}
      Включает стиль "mystyle". Эту команду можно использовать в документе для переключения на другой стиль, если это необходимо.

      Заголовки и список списков

      Как и в случае с плавающими элементами (таблицы и рисунки), к списку можно добавлять подписи для более наглядного представления.

       \begin{lstlisting}[language=Python, caption=пример Python]
      импортировать numpy как np
          
      def incmatrix(genl1,genl2):
          м = len(genl1)
          n = длина (genl2)
          M = None # чтобы стать матрицей инцидентности
          VT = np.zeros((n*m,1), int) #фиктивная переменная
          
          # вычислить побитовую матрицу xor
          M1 = битовая матрица (genl1)
          M2 = np.triu (bitxormatrix (genl2), 1)
          для я в диапазоне (м-1):
              для j в диапазоне (i+1, m):
                  [r,c] = np.where(M2 == M1[i,j])
                  для k в диапазоне (len (r)):
                      VT[(i)*n + r[k]] = 1;
                      VT[(i)*n + c[k]] = 1;
                      VT[(j)*n + r[k]] = 1;
                      VT[(j)*n + c[k]] = 1;
                      
                      если M равно None:
                          M = np.copy(VT)
                      еще:
                          M = np. concatenate ((M, VT), 1)
                      
                      VT = np.zeros ((n * m, 1), целое число)
          
          вернуть М
      \end{список}
       

       Откройте этот пример списков на обороте.


      Приведенный выше код выводит следующий результат:

      Добавление разделенного запятыми параметра caption=Python example внутри скобок включает заголовок. Эта подпись может быть позже использована в списке объявлений.

       \lstlistoflistings
       

      Образец проекта Overleaf

      Откройте эту ссылку на и попробуйте пример пакета списков на Overleaf.

      Справочник

      Поддерживаемые языки

      поддерживаемые языки (и их диалекты, если возможно, диалекты указаны в скобках, а диалекты по умолчанию выделены курсивом):

      Ассемблер
      ABAP (R/2 4.3, R/2 5.0, R/3 3.1, R/3 4.6C, R/3 6.10 ) АСЛ
      Ада ( 2005 , 83, 95) Алгол (60, 68 )
      Муравей (Motorola68k, x86masm)
      Awk ( gnu , POSIX) баш
      Базовый (визуальный) C ( ANSI , Гендель, объектив, острый)
      C++ (ANSI, GNU, ISO , Visual) Caml ( легкий , объектив)
      КИЛ Чистый
      Кобол (1974, 1985 , IBM) Комал 80
      command. com ( WinXP ) Комсоль
      кш Делфи
      Эйфель Элан
      Эрланг Эйфория
      Фортран (77, 90, 95 ) ГКЛ
      Гнуплот Хаскелл
      HTML IDL (пусто, CORBA)
      сообщить Java (пусто, AspectJ)
      JVMIS кШ
      жаргон Лисп (пусто, Авто)
      Логотип сделать (пусто, гну)
      Mathematica (1.0, 3.0, 5.2 ) Матлаб
      Меркурий МетаПост
      Миранда Мицар
      МЛ Модуль-2
      МуПАД НАСТРАН
      Оберон-2 OCL (декоративная, OMG )
      Октава унции
      Паскаль (Borland6, Стандартный , XSC) Перл
      PHP ПЛ/Я
      Плазма Постскриптум
      POV Пролог
      Промела PSTricks
      Питон Р
      Уменьшить Рекс
      РГБ Рубин
      S (пустой, ПЛЮС) САС
      Scilab ш
      ШЕЛXL Simula ( 67 , CII, DEC, IBM)
      СПАРКЛ SQL
      tcl (пусто, тк) TeX (AlLaTeX, обычный, LaTeX, простой , примитивный)
      VBScript Верилог
      VHDL (пусто, AMS) VRML ( 97 )
      XML XSLT

      Опции для настройки стилей листинга кода

      • backgroundcolor - цвет фона. Необходим внешний цвет или xcolor .
      • commentstyle - стиль комментариев на исходном языке.
      • базовый стиль - размер шрифта/семейство/и т.д. для источника (например, basicstyle=\ttfamily\small )
      • keywordstyle - стиль ключевых слов на исходном языке (например, keywordstyle=\color{red} )
      • стиль номера - стиль, используемый для номеров строк
      • numberep - расстояние номеров строк от кода
      • stringstyle - стиль строк в исходном языке
      • showspaces - выделить пробелы в коде (true/false)
      • showstringspaces - выделять пробелы в строках (true/false)
      • showtabs - выделение табуляторов в коде (true/false)
      • номера - положение номеров строк (слева/справа/нет, т.е. без номеров строк)
      • prebreak — отображение метки в конце линии разрыва (например, prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}} )
      • captionpos - позиция заголовка (t/b)
      • кадр - показ внешнего кода кадра (нет/левая линия/верхняя линия/нижняя линия/линии/один/теневой блок)
      • breakwhitespace — устанавливает, должны ли автоматические разрывы происходить только на пробелах
      • линии разрыва - автоматический разрыв линии
      • keepspaces - сохранять пробелы в коде, полезные для ввода
      • размер вкладки - размер вкладки по умолчанию
      • escapeinside - укажите символы для перехода из исходного кода в LaTeX (например, escapeinside={\%*}{*)} )
      • rulecolor - Укажите цвет рамки-окна

      Дальнейшее чтение

      Для получения дополнительной информации см. :

      • Код Подсветка с чеканкой
      • Использование цветов в LaTeX
      • Содержание
      • Управление в большом проекте
      • Многофайловые проекты LaTeX
      • Размеры, семейства и стили шрифтов
      • Гарнитуры шрифтов
      • объявления пакета документации
      • объявления Веб-сайт CTAN

      MAR-10365227-2.v1 HyperBro | CISA

      Уведомление

      Этот отчет предоставляется "как есть" только в информационных целях. Министерство внутренней безопасности (DHS) не дает никаких гарантий в отношении какой-либо информации, содержащейся здесь. DHS не поддерживает какие-либо коммерческие продукты или услуги, упомянутые в этом бюллетене или иным образом.

      Этот документ имеет пометку TLP:WHITE -- Разглашение не ограничено. Источники могут использовать TLP:WHITE, если информация сопряжена с минимальным или непредвиденным риском неправомерного использования в соответствии с применимыми правилами и процедурами публичного обнародования. В соответствии со стандартными правилами авторского права информация TLP:WHITE может распространяться без ограничений. Для получения дополнительной информации о протоколе светофора (TLP) см. http://www.cisa.gov/tlp.

      Резюме

      Описание

      Этот отчет об анализе вредоносных программ (MAR) является результатом аналитических усилий Агентства по кибербезопасности и безопасности инфраструктуры (CISA) по предоставлению подробного анализа файлов, связанных с HyperBro, трояном удаленного доступа (RAT). CISA получила образцы вредоносных программ HyperBro во время реагирования на инциденты на месте в организации сектора оборонной промышленной базы (DIB), скомпрометированной субъектами продвинутой постоянной угрозы (APT).

      CISA проанализировала 4 файла, связанных с вредоносным ПО HyperBro. Файлы создают программу-бэкдор, которая способна загружать и скачивать файлы в систему и из нее. RAT также может регистрировать нажатия клавиш и выполнение команд в системе.

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

      Download the STIX version of this report: MAR-10365227-2.v1, 249B

      Submitted Files (4)

      52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7 (vftrace.dll)

      df847abbfac55fb23715cde02ab52cbe59f14076f9e4bd15edbe28dcecb2a348 (msmpeng.exe)

      f1a2791eebaea183f399110c9e8ae11c67f5bebf93a5573d1ac3c56fc71b2230 (config.ini)

      f2ba8b8aabf73020febd3a6d52ce88f295537fe57723df714c13f5a8780 (thumb.dat)

      IPs (1)

      104.168.236.46

      Находки

      df847abbfac55fb23715cde02ab52cbe59f14076f9e4bd15edbe28dcecb2a348
      Теги

      погрузчик

      Детали
    • 4 Наименование
    • msmpeng.exe
      Размер 351240 байт
      Тип Исполняемый файл PE32 (GUI) Intel 80386, для MS Windows
      МД5 4109ac08bdc8591c7b46348eb1bca85d
      ША1 6423d1c324522bfd2b65108b554847ac4ab02479
      ША256 df847abbfac55fb23715cde02ab52cbe59f14076f9e4bd15edbe28dcecb2a348
      ША512 0605362190a9cb04a7392c7eae3ef79964a76ea68dc03dfabe6ec8f445f1c355772f2ca8166cbee73188e57bff06b74fb2cfa59869cb4461fffe1c3589856554
      ссдип 6144:BTMoU0+zvvLIpa8bo5GOc1G41vupWn2rwRGekPHZLZKA1UnmOlm:XUDvvsc80Aoc1GYvAW2EGtH5ZKAKmOQ
      Энтропия 6. 471736
      Антивирус

      Совпадений не найдено.

      Правила YARA

      Совпадений не найдено.

      ssdeep Совпадений

      Совпадений не найдено.

      Метаданные PE
      Дата компиляции 2016-01-05 08:22:40-05:00
      Импорт хэша б66афб12е84аа5се621а6635837кадба
      Название компании CyberArk Software Ltd.
      Описание файла КиберАрк Viewfinity
      Внутреннее имя vf_host.exe
      Юридическая информация Авторское право Copyright © 1999-2016 CyberArk Software Ltd. Все права защищены.
      Исходное имя файла vf_host.exe
      Название продукта КиберАрк Viewfinity
      Версия продукта 5.5.10.101
      Полиэтиленовые секции
      MD5 Имя Необработанный размер Энтропия
      3822119e846581669481aba79308c57c заголовок 1024 2,580725
      98ccfff2af4ccaa3335f63592a1fba02 . текст 270848 6,543317
      9dcc89a0d16e36145bb07924ca260dfe .rdata 50688 5.132125
      14d4fc147f67601753310725b2b .данные 5632 3,711689
      615729d1383743a91b8baf309f1a8232 .rsrc 16896 4,839559
      Упаковщики/компиляторы/крипторы
      Microsoft Visual C++ ?.?
      Отношения
      df847abbfa... Используется 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      Описание

      Этот артефакт является версией vf_host.exe от Viewfinity. Этот файл используется для боковой загрузки вредоносной библиотеки динамической компоновки (DLL) vftrace.dll.

      Программа также может обходить средства контроля учетных записей (UAC) в системе путем отключения режима одобрения администратором в групповой политике управления учетными записями пользователей в HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System. Это может позволить вредоносному ПО запускаться с правами администратора или разрешать удаленный вход (RDP) с полными правами администратора.

      52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      Теги

      троян

      Детали
      54924 Имя vftrace.dll Размер 73728 байт Тип Исполняемый файл PE32 (DLL) (GUI) Intel 80386, для MS Windows МД5 7655ff65f74f08ee2c54f44e5ef8f098 ША1 3c7beb8978feac9ba8f5bab0656242232471bf7d ША256 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7 ША512 efea9b8a7b6b7cfa31814af4ffe45fab68d159a6239271b632166b2f6b44af8a4e1cc559fa56537ec4142e0484031a9b79034d4e5a8cbbf1d5250b86370cdfcf ссдип 1536:d0X1BkgxVXJyBaUihWutqQQ4znsWgcdqydbPX:O7XMBOs41znqypP Энтропия 6. 334911
      Антивирус
      Адавар Ген.:Вариант.Bulz.429221
      АнЛаб Троян/Win.HYPERBRO
      Авира TR/Инжектор.nmrbf
      Битдефендер Ген.:Вариант.Bulz.429221
      Комодо Вредоносное ПО
      Сайрен W32/Агент.GCPS-3922
      ESET вариант трояна Win32/LuckyMouse.BR
      ИКАРУС Trojan.Win32.LuckyMouse
      К7 Рискованное ПО ( 0040eff71 )
      НАНОАВ Trojan.Win32.LuckyMouse.iwacwz
      Софос Трой/Агент-БГВД
      Trend Micro Trojan.780F7AE8
      Trend Micro HouseCall Trojan.780F7AE8
      ВирусБлокАда TScope.Malware-Cryptor.SB
      Зилля! Trojan. LuckyMouse.Win32.24
      Правила YARA

      Совпадений не найдено.

      ssdeep Совпадений

      Совпадений не найдено.

      PE Метаданные
      Дата компиляции 2021-03-02 02:18:56-05:00
      Импорт хэша 182f35372e9fd050b6e0610238bcd9fd
      Полиэтиленовые секции
      MD5 Имя Необработанный размер Энтропия
      а89421фб59д336588б94906аа72 заголовок 1024 2,836214
      624b09cd367db7ebfc510aab51f95791 .текст 42496 6.6

      8885c137e1772d11b48e71da92aa3d3c .rdata 23552 4,949495
      2304803a4ce5a785e19eb0b45efb7065 .данные 2048 2,051382
      2139727f6ccf1b15d0f96e805001b2fc . gfids 512 1.386027
      .rsrc 512 4.712298
      73a0737f1475d88793ad42fc04bef1ab .reloc 3584 6.466489
      Упаковщики/Компиляторы/Крипторы
      Borland Delphi 3.0 (???)
      Отношения
      52072a8f99... Подключено_к 104.168.236.46
      52072a8f99... Используется_By df847abbfac55fb23715cde02ab52cbe59f14076f9e4bd15edbe28dcecb2a348
      52072a8f99... Создан f1a2791eebaea183f399110c9e8ae11c67f5bebf93a5573d1ac3c56fc71b2230
      52072a8f99... Создан f2ba8b8aabf73020febd3a6d52ce88f295537fe57723df714c13f5a8780
      Описание

      Эта DLL загружается пользователем df847abbfac55fb23715cde02ab52cbe59f14076f9e4bd15edbe28dcecb2a348, подробно описанным в этом отчете.

      При выполнении библиотеки DLL создается глобальный уникальный идентификатор (GUID) для идентификации системы для системы управления и контроля (C2) во время связи. GUID записывается в файл с именем «Config.ini» и помещается в текущий каталог.

      Программа расшифрует и прочитает файл конфигурации с именем 'thumb.dat', который дает ей указание создать новый экземпляр хост-процесса службы (svchost.exe) и внедрить себя в новый экземпляр. Svchost.exe запускается с параметром -k netsvcs, чтобы позволить вредоносной программе подключиться к своему C2. Вредонос собирает следующую информацию для отправки на C2 через POST при установлении соединения.

      --- Начало сбора информации ---
      Имя компьютера
      IP-адрес
      Путь к расположению вредоносных программ
      Имя процесса, в котором он запущен (svchost.exe)
      Режим
      Имя вредоносного ПО
      GUID
      --- Конец собранной информации ---

      Во время анализа вредоносное ПО попыталось подключиться к универсальному идентификатору ресурса (URI) , hxxps[:]//104. 168.236.46/api/v2/ajax с фиксированной строкой User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/34.0.1847.116 Safari/537.36 .

      Для сохранения в системе программа создает в реестре службу под названием «Служба Защитника Windows», которая запускается автоматически при входе пользователя в систему.

      --- Начать настройку реестра ---
      HKLM\System\CurrentControlSet\services\windefenders\Type. Данные: 272
      HKLM\System\CurrentControlSet\services\windefenders\Start. Данные: 2
      HKLM\System\CurrentControlSet\services\windefenders\ErrorControl. Данные: 1
      HKLM\System\CurrentControlSet\services\windefenders\ImagePath    Данные: «C:\Program Files (x86)\Common Files\windefenders\msmpenge.exe»
      HKLM\System\CurrentControlSet\services\windefenders\DisplayName    Данные: Защитники Windows
      HKLM\System\CurrentControlSet\services\windefenders\WOW64. Данные: 1
      HKLM\System\CurrentControlSet\services\windefenders\ObjectName. Данные: LocalSystem
      HKLM\System\CurrentControlSet\services\windefende37337060\DeleteFlag. Данные: 1
      HKLM\System\CurrentControlSet\services\windefende37337060\Start. Данные: 4
      HKLM\System\CurrentControlSet\services\windefenders\Description    Данные: Windows Defenders Service
      ---End Registry Settings---

      Он также может создать запись автозапуска в реестре в HKLM\Software\Microsoft\Windows \Текущая версия\Выполнить.

      Вредоносное ПО создает скрытую папку с именем «windefenders» по пути C:\Program Files (x86)\Common Files\, куда копирует PE-файл «msmpeng.exe» вместе с файлом GUID «config.ini». , вредоносная библиотека vftrace.dll и зашифрованный файл конфигурации thumb.dat. Вторая скрытая папка под названием «windefenders» также создается по пути C:\ProgramData\. Эта папка содержит еще один экземпляр PE-файла.

      Программа способна регистрировать нажатия клавиш, загружать и скачивать файлы, а также вызывать RpcServerListen для ожидания входящих подключений удаленного вызова процедур (RPC). Он также откроет канал с именем «\Device\NamedPipe\testpipe», который он использует для передачи команд от своего демона любым рабочим процессам, которые он может настроить.

      104.168.236.46
      Теги

      управление и управление

      URL-адреса
      • hxxps[:]//104.168.236.46/api/v2/ajax
      Порты
      • 443 TCP
      Whois

      Имя домена: HOSTWINDSDNS.COM
      Идентификатор домена в реестре: 1655837964_DOMAIN_COM-VRSN
      WHOIS-сервер регистратора: whois.namecheap.com
      URL-адрес регистратора: http://www.namecheap.com
      Дата обновления: 2021-06 25T06:27:14Z
      Дата создания: 2011-05-12T23:01:53Z
      Дата истечения срока действия реестра: 2029-05-12T23:01:53Z
      Регистратор: NameCheap, Inc.
      Регистратор IANA ID: 1068
      Контактный адрес электронной почты регистратора по вопросам злоупотреблений: [email protected] clientTransferProhibited https://icann.org/epp#clientTransferProhibited
      Сервер имен: DNS1. HOSTWINDSDNS.COM
      Сервер имен: DNS2.HOSTWINDSDNS.COM
      Сервер имен: DNS3.HOSTWINDSDNS.COM
      Сервер имен: DNS4.HOSTWINDSDNS.COM
      DNSSEC : без знака

      Доменное имя: hostwindsdns.com
      Идентификатор домена в реестре: 1655837964_DOMAIN_COM-VRSN
      WHOIS-сервер регистратора: whois.namecheap.com
      URL-адрес регистратора: http://www.namecheap.com
      Дата обновления: 27.04.202012:40: 10.00Z
      Дата создания: 2011-05-12T23:01:53.00Z
      Дата истечения срока регистрации регистратора: 2029-05-12T23:01:53.00Z
      Регистратор: NAMECHEAP INC @namecheap.com
      Регистратор Злоупотребление Контактный телефон: +1.9854014545
      Реселлер: NAMECHEAP INC
      Статус домена: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
      Идентификатор регистратора в реестре: Отредактировано в целях обеспечения конфиденциальности : Отредактировано в целях конфиденциальности
      Город регистрации: Отредактировано в целях конфиденциальности
      Штат/провинция регистрации: WA
      Почтовый индекс регистранта: Отредактировано в целях конфиденциальности
      Страна регистранта: США
      Телефон регистранта: Отредактировано в целях конфиденциальности
      Добавочный номер телефона регистранта: Отредактировано в целях конфиденциальности
      Факс регистранта: Отредактировано в целях конфиденциальности
      Добавочный номер факса регистранта: Отредактировано в целях конфиденциальности ://www. namecheap.com/domains/whois/result?domain=hostwindsdns.com
      Идентификатор администратора реестра: отредактировано в целях обеспечения конфиденциальности
      Имя администратора: отредактировано в целях обеспечения конфиденциальности
      Организация администратора: отредактировано в целях обеспечения конфиденциальности
      Улица администратора: Отредактировано в целях обеспечения конфиденциальности
      Город администратора: Отредактировано в целях обеспечения конфиденциальности
      Штат/провинция администратора: Отредактировано в целях обеспечения конфиденциальности
      Почтовый индекс администратора: Отредактировано в целях обеспечения конфиденциальности
      Страна администратора: Отредактировано в целях обеспечения конфиденциальности Цели
      Добавочный телефон администратора: отредактировано в целях конфиденциальности
      Факс администратора: отредактировано в целях конфиденциальности
      доб. факса администратора: отредактировано в целях конфиденциальности /результат?домен=hostwindsdns. com
      Идентификатор технологии в реестре: отредактировано в целях обеспечения конфиденциальности
      Название технологии: отредактировано в целях обеспечения конфиденциальности
      Техническая организация: отредактировано в целях обеспечения конфиденциальности
      Tech Street: отредактировано в целях обеспечения конфиденциальности
      Tech City: отредактировано в целях обеспечения конфиденциальности Цели
      Почтовый индекс технической службы: Отредактировано в целях конфиденциальности
      Страна технической службы: Отредактировано в целях обеспечения конфиденциальности
      Телефон технической службы: Отредактировано в целях обеспечения конфиденциальности
      Добавочный номер технической службы: Отредактировано в целях обеспечения конфиденциальности
      Технический факс: отредактировано в целях конфиденциальности
      Добавочный номер технического факса: отредактировано в целях конфиденциальности
      Техническая электронная почта: выберите ссылку «Связаться с владельцем домена» на https://www. namecheap.com/domains/whois/result?domain=hostwindsdns.com
      Имя Сервер: dns1.hostwindsdns.com
      Сервер имен: DNS2.hostwindsdns.com
      Сервер имен: DNS3.hostwindsdns.com
      Сервер: DNS4.Hostwindsdns.com
      DNSSEC: Unsigned

      Отношения
      928225555555555555555555555555555555555555555555555555555555555555555555555555555555555555555тели 9204. 10455555555555555075555555555555555555555505.
      .
      Подключено_От 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      Описание

      Во время анализа файл vftrace.dll попытался подключиться к этому домену.

      f1a2791eebaea183f399110c9e8ae11c67f5bebf93a5573d1ac3c56fc71b2230
      Детали
      Наименование config.ini
      Размер 49 байт
      Тип Текст ASCII с разделителями строк CRLF
      МД5 9d8d7d7bb357ee37a6ae71c5140f28b9
      ША1 40fc8b1a6b9fa1526970ff2a2e1d3f899d7
      ША256 f1a2791eebaea183f399110c9e8ae11c67f5bebf93a5573d1ac3c56fc71b2230
      ША512 1d30fb579e0dba09b24669a5a981652f1f6404d2f536e8e640c48585b3035d0826fed15279568400418c19849e17489baccd18e35b53f8cdbc196a0dd5abd496
      ссдип 3:pSMk0eR2Hxm+yn:pSMFeR2Vy
      Энтропия 4,546046
      Антивирус

      Совпадений не найдено.

      Правила YARA

      Совпадений не найдено.

      ssdeep Совпадений

      Совпадений не найдено.

      Отношения
      f1a2791eeb... Created_By 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      Описание

      Этот артефакт содержит GUID, созданный вредоносной программой для уникальной идентификации системы во время связи с C2.

      Теги thumb.dat Размер 58274 байт Тип данные МД5 84f09d192ec
    • ede22c370836ffa6 ША1 7fb23c6b4db90b55694bdd1cc5c1b4c706a4e181 ША256 f2ba8b8aabf73020febd3a6d52ce88f295537fe57723df714c13f5a8780 ША512 56474f45eed25ab86ac9d17b6afb69e0dee07fe507fc5ac4e22ebae0d124700c533dc2adaaaf4be096a5dab27f7f88c21b290cca600576dbf8f10482f2f62d8b ссдип 1536:xy98XehX2k0xfXGxGKt5mzvOOIE3CYzahbdoZJI7Vq:xRX0X90KNtevUXYzahbdfq Энтропия 7. 301514
      Антивирус

      Совпадений не найдено.

      Правила YARA

      Совпадений не найдено.

      ssdeep Совпадений

      Совпадений не найдено.

      Отношения
      f2ba8b8aab... Created_By 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      Описание

      Этот артефакт представляет собой зашифрованные данные конфигурации, которые считываются 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7, подробно описанным в этом отчете. Расшифрованные строки в конфигурации перечислены ниже:

      ---Begin Decrypted Strings---
      system -k networkservice
      svchost.exe
      localservice -k localservice
      networkservice
      clip.log
      rb %04/%02d%02d:%02d:%02d
      ab+
      ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\Microsoft
      config_ :\ \ %d %d
      ntdll.dll
      )
      Win8
      Win2012
      Win8.1
      Win2012(R2)
      WinXp
      Win2003
      Win10
      Win2016
      IsWow64Process
      kernel32
      открыть
      %d/%d/%d %d:%d
      key. log
      explorer.exe
      /api/v2/ajax
      POST
      https://%s:%d/api/ v2/ajax
      \ pipe \ testpipe
      \ hkey_current_user \
      \ hkey_local_machine \
      config.ini
      Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Run
      Log.log
      %S \ %D
      Exe
      WB
      Kerl32.dll
      %MS \ %D
      exe
      WB
      52.dll
      %Ms \ %D
      Windows
      WB
      . .exe
      \cmd.exe
      ntdll
      SeDebugPrivilege
      runas
      taskmgr
      exe
      ccc
      bbb
      aaa
      windefende%d
      80A85553-1E05-4323-B4F9-43A4396A4507
      Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/34.0.1847.116 Safari-Encrypted/900.36 ---

      Эта конфигурация позволяет вредоносной программе подключаться к своему C2, создавать постоянство в системе, регистрировать нажатия клавиш и данные телеметрии, а также выполнять команды из командной строки.

      Сводка отношений

      df847abbfa. .. Используется 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      52072a8f99... Подключено_к 104.168.236.46
      52072a8f99... Используется_By df847abbfac55fb23715cde02ab52cbe59f14076f9e4bd15edbe28dcecb2a348
      52072a8f99... Создан f1a2791eebaea183f399110c9e8ae11c67f5bebf93a5573d1ac3c56fc71b2230
      52072a8f99... Создан f2ba8b8aabf73020febd3a6d52ce88f295537fe57723df714c13f5a8780
      104.168.236.46 Подключено_От 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      f1a2791eeb... Created_By 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7
      f2ba8b8aab... Created_By 52072a8f99dacd5c293fccd051eab95516d8b880cd2bc5a7e0f4a30d008e22a7

      Заключение

      Во время анализа этих образцов наблюдались следующие тактики и приемы MITRE ATT&CK.

      T1543.003 Постоянство: создание или изменение системного процесса. Злоумышленники могут создавать или изменять службы Windows для многократного выполнения вредоносных полезных нагрузок в рамках сохраняемости. Когда Windows загружается, она запускает программы или приложения, называемые службами, которые выполняют фоновые системные функции. Информация о конфигурации службы Windows, включая путь к исполняемому файлу службы или программам/командам восстановления, хранится в реестре Windows. Конфигурации службы можно изменить с помощью таких утилит, как sc.exe и Reg.

      T1574.002 Поток выполнения Hijack: неопубликованная загрузка DLL. Злоумышленники могут выполнять свои собственные вредоносные полезные нагрузки, загружая библиотеки DLL. Неопубликованная загрузка включает в себя перехват DLL, которую загружает программа. Но вместо того, чтобы просто установить DLL в порядке поиска программы, а затем ожидать вызова приложения-жертвы, злоумышленники могут напрямую загрузить свои полезные данные, установив, а затем запустив законное приложение, которое выполняет их полезные данные.

      T1567.000 Эксфильтрация: эксфильтрация через веб-службу. Злоумышленники могут использовать существующую законную внешнюю веб-службу для кражи данных, а не свой основной канал управления и контроля. Популярные веб-сервисы, выступающие в качестве механизма эксфильтрации, могут обеспечить значительное прикрытие из-за вероятности того, что хосты в сети уже взаимодействуют с ними до компрометации. Также могут уже существовать правила брандмауэра, разрешающие трафик к этим службам.

      T1560.000 Коллекция: Архивировать собранные данные. Злоумышленник может сжимать и/или шифровать данные, собранные до эксфильтрации. Сжатие данных может помочь запутать собранные данные и свести к минимуму объем данных, отправляемых по сети. Шифрование можно использовать для сокрытия информации, которая удаляется, от обнаружения или для того, чтобы сделать эксфильтрацию менее заметной при проверке защитником.

      Рекомендации

      CISA рекомендует пользователям и администраторам рассмотреть возможность использования следующих передовых методов для повышения уровня безопасности систем своей организации. Любые изменения конфигурации должны быть проверены владельцами и администраторами системы перед внедрением, чтобы избежать нежелательных последствий.

      • Обновляйте антивирусные сигнатуры и ядра.
      • Обновляйте исправления операционной системы.
      • Отключить службы общего доступа к файлам и принтерам. Если эти службы необходимы, используйте надежные пароли или аутентификацию Active Directory.
      • Ограничить возможность (разрешения) пользователей устанавливать и запускать нежелательные программные приложения. Не добавляйте пользователей в группу локальных администраторов без необходимости.
      • Применение политики надежных паролей и регулярная смена паролей.
      • Будьте осторожны при открытии вложений электронной почты, даже если вложение ожидается, а отправитель известен.
      • Включите персональный брандмауэр на рабочих станциях агентства, настроенный на отклонение нежелательных запросов на подключение.
      • Отключить ненужные службы на рабочих станциях и серверах агентства.
      • Сканировать и удалять подозрительные вложения электронной почты; убедитесь, что отсканированное вложение соответствует «истинному типу файла» (т. е. расширение соответствует заголовку файла).
      • Мониторинг привычек пользователей при просмотре веб-страниц; ограничить доступ к сайтам с нежелательным содержанием.
      • Соблюдайте осторожность при использовании съемных носителей (например, флэш-накопителей USB, внешних накопителей, компакт-дисков и т. д.).
      • Сканировать все программное обеспечение, загруженное из Интернета, перед выполнением.
      • Поддерживайте ситуационную осведомленность о последних угрозах и внедряйте соответствующие списки контроля доступа (ACL).

      Дополнительную информацию о предотвращении и устранении инцидентов с вредоносными программами можно найти в специальной публикации Национального института стандартов и технологий (NIST) 800-83, 9.0147 «Руководство по предотвращению и устранению вредоносных программ для настольных и портативных компьютеров».

      Контактная информация

      • 1-888-282-0870
      • Служба поддержки CISA (НЕКЛАСС)
      • CISA SIPR (SIPRNET)
      • CISA IC (JWICS)

      CISA постоянно стремится улучшать свои продукты и услуги. Вы можете помочь, ответив на очень короткую серию вопросов об этом продукте по следующему URL-адресу: https://us-cert.cisa.gov/forms/feedback/

      FAQ по документу

      Что такое МСРЧ? Отчет о первоначальных обнаруженных вредоносных программах (MIFR) предназначен для своевременного предоставления организациям анализа вредоносного ПО. В большинстве случаев в этом отчете будут представлены начальные индикаторы защиты компьютера и сети. Чтобы запросить дополнительный анализ, свяжитесь с CISA и предоставьте информацию об уровне желаемого анализа.

      Что такое МАР? Отчет об анализе вредоносного ПО (MAR) предназначен для предоставления организациям более подробного анализа вредоносного ПО, полученного путем обратного проектирования вручную.

    • Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *