AUTOMATION
Вы можете управлять картой Москвы
из Ms Excel, Ms Access, Delphi,
из Вашей собственной программы на Visual Basic.
доступно все, что доступно из меню MOM

 
           Если Вы не знакомы с AUTOMATION
 

 

 
           Готовые примеры
 

 
           Delphi
 

    Каждый пример дан в двух эквивалентных формах
  1. XLS - файла (см. абзацем выше "...AUTOMATION для MsExcel...")
  2. Delphi - откомпилированного примера (см. далее)
    Внимание!
    Внутри примеров указаны конкретные пути к файлам
  1. Test.mom
  2. _bmp1.mdb
  3. _bmp2.mdb
    Delphi.zip - 925 Kbyte
    Отредактируйте эти пути перед запуском примера.

Содержание

Пример 1

Загрузка на карту файла _BMP1.MDB
10_Load.exe (исходные тексты: 10_delphi.zip)
10_delphi.zip - 10 Kbyte
11_Load.exe (исходные тексты: 11_delphi.zip)
11_delphi.zip - 10 Kbyte

Пример 2

Масштабирование
20_ScaleXY.exe (исходные тексты: 20_delphi.zip
20_delphi.zip - 10 Kbyte
21_ScaleXY.exe (исходные тексты: 21_delphi.zip)
21_delphi.zip - 10 Kbyte

Пример 3

Загрузка на карту файла _BMP1.MDB, а затем Масштабирование
30_ScaleGrFg.exe (исходные тексты: 30_delphi.zip)
30_delphi.zip - 11 Kbyte
31_ScaleGrFg.exe (исходные тексты: 31_delphi.zip)
31_delphi.zip - 11 Kbyte

Пример 4

Масштабирование несколько раз подряд
41_Test.exe (исходные тексты: 41_delphi.zip)
41_delphi.zip - 12 Kbyte

Файлы

_BMP1.MDB - для загрузки на карту _BMP2.MDB - для загрузки на карту

 
           Инструкция
 

Загрузите какой-либо из 4-х XLS-файлов. Согласитесь с применением макросов. Далее нажимайте кнопки согласно инструкции внутри XLS-файла.
    Примечания.
  1. Необходимо зарегистрировать файл momMe.exe
    (т.к.он - сервер Автоматизации). Для этого запустите его один раз и выключите (это саморегистрирующийся сервер). Проверить регистрацию можно так: сделайте двойной щелчок по файлу test.mom - он должен запуститься.
  2. momMe.exe, кот.содержится в этом ZIP-упакованном примере,
    расчитан на работу с Access97. Для работы с Access2000/XP воспользуйтесь файлом momXP.exe, ZIP которого лежит на сервере рядом с этим примером, который Вы скачали.
  3. В разделе ниже помещен перечень всех поддерживаемых функций:

 
Сводка методов AUTOMATION
 
 

Интерфейс "Document" можно получить так:
		Set MomDoc = CreateObject("Mom.Document")
Он поддерживает следующий функции:
========================================
	CString m_loadFile;
	void OnLoadFileChanged();
	BOOL m_proba;
	void OnProbaChanged();
	long LoadHtmlFig(long nParagraf, LPCTSTR sHtmlStr);
	void ViewGroup(long iGroup);
	BOOL Povorot(float a11, float a12, float b1, float a21, float a22, float b2);
	BOOL GetReadyDraw();
	BOOL Execut(LPCTSTR CommandLine, long nWinType);
	void RefreshWindow();
	LPDISPATCH CreateAutOle();
	BOOL SaveGroup(long Group);
	BOOL LoadGroup(long Group);
	void TestErrorHandler(short wCode);
	long GetXselect();
	long htmlLoad(LPCTSTR sFileName, long iGroup);
	long ExpansionRegion(long iGrReg, long iFgReg, long iGrFig, long iFgFig);
	LPDISPATCH CreateGroup();
	LPDISPATCH CreateSearch();
	void SetSHtml(LPCTSTR sHtml);
	long LoadHtmlFigToGroup(long nGroup, long nParagraf, LPCTSTR sHtmlStr);
	long LoadF(LPCTSTR sName);
	long FigToGroup(long iFigure, long iGroup, long iX, long iY, LPCTSTR sName, LPCTSTR sType, LPCTSTR sPict, LPCTSTR sHref, long iPrgf);
	void PointToFig(long iGroup, long iFigure, long iX, long iY);
	long PointSignal(long iX, long iY);
	long FigureSignal(long iGr, long iFg);
	long PointScale(long iX, long iY, long iScale);
	long FigureScale(long iGr, long iFg, long iScale);
	void SpeedToFig(long iGroup, long iFigure, long iVtyp, long iM, long iB);
	BOOL grafLoad(LPCTSTR sFileName);
	BOOL grafSave(LPCTSTR sFileName);
	BOOL ForegroundWin(LPCTSTR winName);
	BOOL AreaSelect(long iGrPolygon, long iFgPolygon, long iGrPoints);
	long LoadFGr(LPCTSTR s_Name, long iGr);
	long xmlSave(LPCTSTR mdbQuery, LPCTSTR mdbFile, LPCTSTR xmlFile);
	long SetFilePatch(long iMod, long iKey1, long iKey2, LPCTSTR sPatch);
	BOOL Quit(long iWndClose);
	BSTR AreaOfPoint(long iGrPolygon, long iX, long iY);


Интерфейс "Group" можно получить так:
		Set MomDoc = CreateObject("Mom.Document")
		Set MomGroup = MomDoc.CreateGroup()
Он поддерживает следующий функции:
========================================
	long GetGroupQuant();
	long GetFigQuant(long iGroup);
	long GetTypGroupFig(long iGroup, long iFigure);
	long GetXGroupFig(long iGroup, long iFigure, long iNum);
	long GetYGroupFig(long iGroup, long iFigure, long iNum);
	long GetQuanGroupFig(long iGroup, long iFigure);
	BOOL SetName(long iGroup, long iFigure, LPCTSTR sName);
	void SetXGroupFig(long iGroup, long iFigure, long iNum, long newX);
	void SetYGroupFig(long iGroup, long iFigure, long iNum, long newY);
	void DeleteGroup(long iGroup);
	long GetFilQuantGroup(long iGroup);
	BSTR GetFilNamGroup(long iGroup, long iNum);
	BSTR GetFilNamGroupFig(long iGroup, long iFigure);
	long AddFilNamGroup(long iGroup, LPCTSTR sName);
	void SetTypGroupFig(long iGroup, long iFigure, long iType);
	void DeleteFig(long iGroup, long iFigure);
	BSTR GetNamGroup(long iGroup);
	BOOL SetNamGroup(long iGroup, LPCTSTR sName);
	long GetMxGroupFig(long iGroup, long iFigure, long iNum);
	long GetMyGroupFig(long iGroup, long iFigure, long iNum);
	void SetMxGroupFig(long iGroup, long iFigure, long iNum, long newX);
	void SetMyGroupFig(long iGroup, long iFigure, long iNum, long newY);
	long GetFlagGroupFig(long iGroup, long iFigure);
	void SetFlagGroupFig(long iGroup, long iFigure, long iFgag);
	void SetAnch(long fNum, long pNum, long iGr, long iFg);
	long GetAnchP(long iGr, long iFg);
	long GetAnchF(long iGr, long iFg);
	BSTR GetNameTypGroupFig(long iGroup, long iFigure);
	BSTR GetNamGroupFig(long iGroup, long iFigure, long iModa);
	long GetVQuanGroupFig(long iGroup, long iFigure);
	long GetVmGroupFig(long iGroup, long iFigure, long iNum);
	long GetVbGroupFig(long iGroup, long iFigure, long iNum);
	long SetVmGroupFig(long iGroup, long iFigure, long iNum, long newM);
	long SetVbGroupFig(long iGroup, long iFigure, long iNum, long newB);
	long GetVTypGroupFig(long iGroup, long iFigure);
	long GetGrHoz(long iGr, long iFg);
	long GetFgHoz(long iGr, long iFg);

Интерфейс "Search" можно получить так:
		Set MomDoc = CreateObject("Mom.Document")
		Set MomGroup = MomDoc.CreateSearch()
Он поддерживает следующий функции:
========================================
	BSTR GetName(long iNum);
	long GetGroup(long iNum);
	long GetFigure(long iNum);
	BSTR GetFilename(long iGroup, long iFigure);
	BSTR Name2fileName(LPCTSTR s_Name);
	BSTR GetSubjects(long iPart);
	long SetStreet(LPCTSTR sStreetName);
	long GetPointX();
	long GetPointY();
	long SetAddr(LPCTSTR sAddr);
	void SetDistinguish(long iNum);
	long SetHouse(long iStreetGroup, long iStreetFigure, LPCTSTR s_House);
	BSTR GetHouse();


© Вл.Сидыганов 2005 momexe@mail.ru

Рейтинг@Mail.ru