当前位置:文档之家› 用VC++对MapX进行二次开发总结

用VC++对MapX进行二次开发总结

用VC++对MapX进行二次开发总结
用VC++对MapX进行二次开发总结

用VC++对MapX进行二次开发总结(二)

1839发表评论查看评论3.MapX在VC++ 环境下GIS基本功能的实现

在进行MapX 开发之前,确保已经在计算机中正确的安装了MapX 控件。下面就用一个具体的实例,介绍在VC+ +中集成MapX 的方法。

3.1 将MapX支持类库加入工程

在您的项目中包括MapX.cpp和.h文件。这两个文件包含用于对MapX控件进行访问的类定义和方法实现。MapX.h 和 MapX.cpp 文件可能位于安装有 MapX 的 Samples50\CPP 子目录中(如果您安装的事MapX 4.0,则路径为…\ Samples40\C++\Cpp)。

利用VC++ 环境下的应用程序生成向导创建一单文档应用程序MapSample。将MapX.h和MapX.cpp文件拷贝到当前工程路径下,然后从Project菜单中选择Add to Project >Files命令,此时打开Insert Files into Project对话框,选择MapSample文件夹下的MapX.h和MapX〉cpp文件加入到工程中。

警告:不要选择Project菜单中的Add to Project > Components And Controls命令。这样做将会创建一个.cpp文件,但该文件将是不完整的。我一开始就是这么做的,结果很多常用函数都没有,郁闷了我很长时间。希望大家一起要切记这一点。

3.2 使用VC++创建MapX控件

在将包含该控件得视图中包括它:

#include “MapX.h”

Class CMapXSampleView : public CView

{:::Protected:CMapX m_ctrlMapX;::}

要声明表示用于MapX的控件ID的常数:

(1)选择“View”>”Resource Symble”。

(2)单击“New”。

(3)键入“IDC_MAP”来作为名称。

要在类向导中为WM_SIZE和WM_CREATE消息创建处理程序:

(1)转入”View”>”ClassWizard”;

(2)从“Class Name”组合框中选择您的视图类。

(3)在“Messages”列表框中,单击“WM_CREATE”,然后单击“Add Function”。

(4)接着还在该消息框中选择” WM_SIZE”并单击“Add Function”。

(5)然后,单击“Edit Code”

在创建视图时创建该控件。在CMapXSampleView::OnCreate中:

//create map with default size

//resize message will cause it to be size to the client area of the view

If(!m_ctrlMapX.Create(NULL,WS_VISIBLE, CRect(0,0,100,100),this,IDC_MAP))

Returen -1;

Keep the control’s size in sync with the containing window;

//resize the map to be the same size as our client area

Void CMapXSampleView:: OnSize(UINT nType, int cx, int cy)

{CView::OnSize(nType, cx, cy);if(cx!=0 && cy!=0)m_ctrlMapX.MoveWindow(0,0,cx,cy);}

像您为WM_CREATE消息所作的一样为WM_SETFOCUS消息创建新消息标头。

在我们的示例中,我们想要确保只要窗口被激活MapX就获得焦点:

void CMapXSampleView::OnSetFocus(CWnd* pOldWnd)

{CView::OnSetFocus(pOldWnd);m_ctrlMapX.SetFocus();}

3.3 使用地图标准工具

在地图显示出来后,用户通常要以各种比例查看地图的全局、局部或细部,必须提供诸如放大、缩小和漫游等功能。采用MapX通用工具,可以非常方便地实现上述功能。设定MapX使用标准工具的方法很简单,只需设定地图对象的CurrentTool属性。下面的例子是用标准放大工具实现放大功能。

添加新菜单项资源,输入标题“工具”,在“工具”下添加子菜单,输入标题“放大”及ID 为ID_ZOOM_ IN。打开类向导,选择视图类CMapXSampleView,为菜单项ID_ZOOM_IN 添加COMMAND 消息映射函数OnZoomIn ( ),并编辑码如下。

void CMapXSampleView::OnZoomIn()

{m_ctrlMapX.SetCurrentTool(miZoomInTool);// miZoomInTool为放大工具常量}

编译运行程序,选择“工具|放大”,就会看到此时光标变为放大镜,单击鼠标就会实现放大功能。可用相同方法实现其他标准工具的功能。MapX提供的可用标准工具如下表。

3.4 使用自定义工具

MapX提供的地图标准工具能满足一般需要,但在一些特殊地方,用户可能需要某种特殊工具来完成某些特定的地图操作功能。因此,MapX提供了用户自定义工具的方法,这样可以大大扩展MapX的应用范围。开发者可使用地图对象的CreateCustomTool 方法创建自定义工具。一旦您已使用CreateCustomTool方法创建了定制工具后,就可以在用户使用定制工具时使用ToolUsed事件执行操作。

此示例进行测试以了解正使用哪一工具。然后,根据正在使用的工具,该示例或者:

?更改光标下的地图图元的样式,或者

?在用户单击处放置新符号。

void CMapXSampleView::OnToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance,BOOL Shift, BOOL Ctrl, BOOL* EnableDefault)

{CString str;CMapXPoint pnt;str.Format("Tool=%d, [%f,%f] [%f, %f], dist=%f, %s %s\n",

ToolNum, X1,Y1,X2,Y2,Distance, (Shift)?"Shift":"",(Ctrl)?"Ctrl":"");TRACE(str);

// change the style of the feature under the cursor

if (ToolNum == MAP_TOOL_CHANGESTYLE) {try {// Need the dispatch to use the point

if (pnt.CreateDispatch(pnt.GetClsid())) {pnt.Set(X1, Y1);}

else {// something went wrong, can't use the point...

AfxThrowOleException(CO_E_CLASS_CREATE_FAILED);}

CMapXLayers layers = m_ctrlMapX.GetLayers();

// Get the USA feature under the cursor

CMapXFeatures ftrs =layers.Item("USA").SearchAtPoint(LPDISPATCH(pnt));

// work on only the first featureCMapXFeatureftr = ftrs.Item(1);

// get the style object from the featureCMapXStylestyle = ftr.GetStyle();

style.SetRegionBackColor(255);// update the feature in the layerftr.Update();}

catch (COleDispatchException *e) {e->ReportError();e->Delete();}

catch (COleException *e) { e->ReportError();e->Delete();}}

// place a new symbol at the point clicked onelse if (ToolNum == MAP_TOOL_NEWPOINT) {try

{CMapXLayers layers = m_ctrlMapX.GetLayers();CMapXFeatureftr;

// Need the dispatch id to use the feature if (ftr.CreateDispatch(ftr.GetClsid())) {

// Symbol featureftr.SetType(miFeatureTypeSymbol);

// Get the point object from the feature

// and call the Set methodftr.GetPoint().Set(X1, Y1);

// Add it to the layerlayers.Item("USA").AddFeature(ftr);} else {

AfxThrowOleException(CO_E_CLASS_CREATE_FAILED);}}catch (COleDispatchException *e) {

e->ReportError();e->Delete();}catch (COleException *e) {e->ReportError();e->Delete();}}}

3.5 处理MapX事件

若要处理MapX事件,您首先需要为感兴趣的事件建立eventsink地图。用于事件DISPATCH id 的常数是在MapX.h中为MapX定制事件定义的,并且是在中为 OLE 普通事件定义的。

// From MapX.h

#define MAPX_DISPID_SELECTION_CHANGED 0x1

#define MAPX_DISPID_RESOLVEDATABIND 0x2

#define MAPX_DISPID_TOOLUSED 0x3

#define MAPX_DISPID_REQUESTDATA 0x4

#define MAPX_DISPID_DATAMISMATCH 0x5

#define MAPX_DISPID_MAPVIEWCHANGED 0x6

#define MAPX_DISPID_ANNOTATIONADDED 0x7

#define MAPX_DISPID_ANNOTATIONCHANGED 0x8

#define MAPX_DISPID_THEMEMODIFYREQUESTED 0x9

#define MAPX_DISPID_DRAWUSERLAYER 0x0a

#define MAPX_DISPID_POLYTOOLUSED 0x0b

// From

#define DISPID_CLICK (-600)

#define DISPID_DBLCLICK (-601)

#define DISPID_KEYDOWN (-602)

#define DISPID_KEYPRESS (-603)

#define DISPID_KEYUP (-604)

#define DISPID_MOUSEDOWN (-605)

#define DISPID_MOUSEMOVE (-606)

#define DISPID_MOUSEUP (-607)

#define DISPID_ERROREVENT (-608)

EVENT_SINK中的ON_EVENT 宏也为MapX控件指定一个ID (在该示例中为 IDC_MAP),指定该事件的参数,并且指定事件处理程序方法的名称。

在视图标头文件MapXSampView.h中,将“DECLARE_EVENTSINK_MAP ()”一行放置于“DECLARE_MESSAGE_MAP”行之下。

从CMapXSampleView.cpp:

BEGIN_EVENTSINK_MAP(CMapXSampleView, CView)

ON_EVENT(CMapXSampleView, IDC_MAP, DISPID_MOUSEMOVE,

OnMouseMoveInMap,VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS)

ON_EVENT(CMapXSampleView, IDC_MAP, MAPX_DISPID_MAPVIEWCHANGED,

OnMapViewChanged, VTS_NONE)

ON_EVENT(CMapXSampleView, IDC_MAP, DISPID_MOUSEUP,

OnMouseUpInMap, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS)

ON_EVENT(CMapXSampleView, IDC_MAP, MAPX_DISPID_TOOLUSED,

OnToolUsed, VTS_I2 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_BOOL

VTS_BOOL VTS_PBOOL)

ON_EVENT(CMapXSampleView, IDC_MAP,

MAPX_DISPID_THEMEMODIFYREQUESTED, OnThemeModifyRequested,

VTS_DISPATCH)

END_EVENTSINK_MAP()

随后是用于OnToolUsed 事件的事件处理程序代码。来自CMapXSampleView.h 的声明:

void OnToolUsed(short ToolNum, double X1, double Y1, double X2,double Y2, double

Distance, BOOL Shift, BOOL Ctrl, BOOL* EnableDefault);

…以及来自CMapXSampleView.cpp 的实现方式(我们只使用 TRACE 宏将参数输出到调试窗口):

void CMapxSampleView::OnToolUsed(short ToolNum, double X1, double Y1,

double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, BOOL* EnableDefault)

{CString str;

str.Format("Tool=%d, [%f,%f] [%f, %f], dist=%f, %s %s\n",ToolNum, X1,Y1,X2,Y2,Distance,

(Shift)?"Shift":"",(Ctrl)?"Ctrl":"");TRACE(str);}

3.6 添加快捷菜单

DISPID_MOUSEUP事件可用于添加快捷(鼠标右键按钮)菜单。为您的快捷菜单创建菜单资源(如果菜单资源的ID为

IDR_CONTEXTMENU)。OnMouseUpInMap 处理程序类似于以下代码:

// if right mouse button, display the context menu

BOOL CMapxSampleView::OnMouseUpInMap(short Button, short Shift,

OLE_XPOS_PIXELS x,OLE_YPOS_PIXELS y)

{if (Button == 2) { // right buttonCMenu menu; // top-level menu

CMenu *pMenu=NULL; // pop-up menu// Load the menu resource.

menu.LoadMenu(IDR_CONTEXTMENU);// TrackPopupMenu cannot display the top-level menu, so get

// the handle of the first pop-up menu.pMenu = menu.GetSubMenu(0);if (!pMenu) {return TRUE;}

SetMenuDefaultItem(pMenu->m_hMenu, ID_VIEW_PROPERTIES,FALSE);

// Display the floating pop-up menu. Track the right mouse

// button on the assumption that this function is called

// during WM_CONTEXTMENU processing.POINT pt;GetCursorPos(&pt);

pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x, pt.y, this, NULL);

// Destroy the menu.menu.DestroyMenu();}return TRUE;}

3.7 MapX异常错误处理

MapX通过报告(引发)COleDispatchException 来报告大多数错误。在调用 MapX 时捕获异常错误是十分重要的,因为MFC的默认异常错误处理程序不捕获它们并且您的应用程序将退出。在消息框中显示对错误的说明也是非常有用的。错误消息的文本将帮助您确定是否正确使用了 MapX 图元,或者是否已发生某一其它问题。

COleDispatchException类还在公共成员m_wCode中包括错误代码,以便您的程序可以标识和处理不同类型的错误。对于错误代码及其说明的列表,请参见联机帮助中的 MapX 错误代码。

如果在尝试调用MapX时具有一般的OLE错误(在您使用过时的MapX.h 或 MapX.cpp 版本时可能发生),则 MFC 将引发COleException。建议你在调用 MapX 时捕获全部两个异常错误类型。

MapX 也可能在 Error 事件中传递错误(尽管非常少见)。只有在不从MapX属性或方法直接调用的异步处理(像redraw)期间出现某种类型的错误时,才可能发生上述情况。

在此示例的 ThemeModifyRequested 事件的事件处理程序中,我们显示普通的“主题”属性对话框以让用户更改主题颜色等。请注意异常错误处理的方式。

// Note: in objects passed to events, the event handler

// does not change the reference count

// ie: do not call release on the object

void CMapxSampleView::OnThemeModifyRequested(LPDISPATCH Theme)

{try {CMapXTheme theme;COptionalVariant vHelpFile, vHelpID;

// mark as optional since we don't have a helpfile

theme.AttachDispatch(Theme, FALSE); // don't auto release

theme.ThemeDlg(vHelpFile, vHelpID);

// could decide to bring up legend dlg here instead

//CMapXLegend leg(theme.GetLegend());

//leg.LegendDlg(vHelpFile, vHelpID);}

catch (COleDispatchException *e) { e->ReportError();e->Delete();}

catch (COleException *e) {e->ReportError();e->Delete();}}

缠中说禅回复总结之十七-——-缠中说禅说传统技术

*************************** 缠中说禅传统技术 *************************** ******************** 首先不用考虑顶的问题,除非你觉得短线的顶也是顶。其次,中线的顶不是一天炼成的,只有筑顶一定时间后才会出现那种类型的大阴线。而上升途中的大阴线,只会引发多头更凶猛的反扑。 打倒夫权,当然就不能要复权的。如果用5、10线,除权日线图以下的操作影响不大,不用复权。如果是周线、月线,可以复权。 养成绝对不追高的好习惯,除非是刚启动,在大幅上涨后才追高,这不是投资的长久之计。 也不用全抛了,毕竟中线行情还没有完全结束,如果你满仓这两只股票,那最好借短线冲高机会,减低一点仓位,这样就减少了风险,资金运用也可以灵活点。如果占仓位比例不高,那就留着也没问题。注意:不要因为涨得太多而抛股票,只有一种情况需要抛股票:就是这股票走弱了。 ******************** 首先请一定要记住,不要在以巨量大阴线构造顶部的下跌反抽中介入,这是投资就大忌。你的青海明胶大概就是这样买的。等吧,中线应该有解套机会的,这个教训一定要吸取。(2006-11-23) ******************** 问:请教高人(2006-11-27)600087如何

缠中说禅:短线放量过急,需要缩量确认突破后再放量。 ******************** 问:LZ,请问(2006-11-27)600036调到位了吗 缠中说禅:一定要改变思维模式,不要问什么调整到位没有的问题,而是要问自己搞的标准是什么,每个人的标准都不同,这与资金量和投资经验有关。唯一正确的问法是:600036现在符合自己搞的标准吗? 是否符合,只有你自己知道,如何你自己都不知道,那请你先停下来,自己想清楚,不清不楚就把市场到赌场,市场会变脸的。 ******************** 问:请问lz,(2006-11-27)000897如何。 缠中说禅:大涨后的三角形整理,短线要突破需补量。(顺注:是否是这样才不会背驰?)

Oracle BIEE 开发讲解

1.ORACLE BIEE基础 本文档参考如下文档: <> <> 1.1.OBIEE 概述 1.1.1.数据模型 BIEE的数据模型分为3层: 1、物理层(Physical Layer),用于定义和连接各类异构数据源,如关系型数据库、符合XML规范的源数据、OLAP服务、Essbase、Excel等,具体定义数据源物理表结构、字段数据类型、主外键。可简单理解为“物理表定义”。值得一提的是,BIEE只是保存定义,并没有存储数据本身。物理层通过“连接池”(Connection Pool)、“缓存查询结果”(Cache Query Result)等技术来提高性能。 2、逻辑层Business Model and Mapping,基于物理层构建的DW多维数据模型如星型模型或雪花模型,以及定义逻辑模型与物理模型间的映射关系。需要定义事实表和维度表的主外键关系,可以定义维度表的层次和事实表的度量。这里是整个BIEE的设计核心,需要“整合”开发人员和业务人员两种视觉。一个逻辑层的表,可能来自多个物理层的表;一个逻辑层的字段,可以来自多个物理层的多个表。 3、展现层Presentation,该层隐藏掉任何技术术语和模型,去掉任何业务不关心的字段如ID列,以最终用户的视角和术语行描述。最常见的做法是面对不同的用户组——业务部门,来设计不同的展现层分析项。这样做的好处是:可以把报表开发交还给业务人员。展现模型中的一个Catalog对应Oracle Answer中的一个Subject Area。 1.2.BIEE 安装 1.2.1.JDK要求 下载JDK1.5以上版本并安装,可从https://www.doczj.com/doc/8e13490721.html,/javase/downloads/index.jsp下载。如下图:ORACLE BIEE 基础开发 Company Confidential - For internal use only

缠中说禅回复总结之四 —— 走势

******************** 缠中说禅走势 ******************** ******************** 缠中说禅技术分析基本原理一:任何级别的任何走势类型终要完成。后面一句用更简练的话,就是“走势终完美”。走势终完美”这句话有两个不可分割的方面:任何走势,无论是趋势还是盘整,在图形上最终都要完成。另一方面,一旦某种类型的走势完成以后,就会转化为其他类型的走势。 缠中说禅技术分析基本原理二:任何级别任何完成的走势类型,必然包含一个以上的缠中说禅走势中枢。 缠中说禅走势分解定理一:任何级别的任何走势,都可以分解成同级别“盘整”、“下跌”与“上涨”三种走势类型的连接。 缠中说禅走势分解定理二:任何级别的任何走势类型,都至少由三段以上次级别走势类型构成。 缠中说禅趋势:在任何级别的任何走势中,某完成的走势类型至少包含两个以上依次同向的缠中说禅走势中枢,就称为该级别的缠中说禅趋势。该方向向上就称为上涨,向下就称为下跌。” 缠中说禅盘整:在任何级别的任何走势中,某完成的走势类型只包含一个缠中说禅走势中枢,就称为该级别的缠中说禅盘整 ******************** ******************** 缠中说禅盘整:在任何级别的任何走势中,某完成的走势类型只包含一个缠中说禅走势中枢,就称为该级别的缠中说禅盘整 ******************** 问:“注意中枢和盘整不是一回事情。当然,因为盘整只有一个中枢,所以很容易搞混。”LZ,能否细说其中的区别。还有,判断本级别的其次走势中枢是否形成一定要看其次级别的走势,是吗 缠中说禅:本级别的中枢看是否三个连续次级别的走势类型产生重叠。中枢与盘整的区别,自己看各自的定义就明白了。 问:难道整个盘整走势本身就是个中枢,而不像趋势那样,有前面的连接段和后面的背驰段 缠中说禅:某级别的盘整是包含相应级别一个中枢的走势类型,盘整和中枢不是一个概念,像中枢的延伸、扩展等都在盘整里。盘整是一个不精确的概念,一定要用中枢的精确来精确之, ******************** 问:春节假期对博主的炒股课程文章重新学习了一遍,有了更深的体会,当然细节方面仍然有不少不懂的地方,特别是对于盘整走势的判断问题,归纳起来,学习盘整走势中遇到的疑难问题有如下几个方面: 缠中说禅:粗略看了一下你的问题,都是基本概念没搞清楚。 (1)问:盘整走势结束后发生转折的问题:

缠中说禅要点

1、简单需找牛股的方法:就是盯着所有放量突破上市首日周最高价的新股以及放量突破 年线然后缩量回调年线的老股,这都是以后的黑马。特别那些年线走平后向上出现拐点的股票,一定要看好了。至于年线下面的股票,先别看了,等他们上年线再说。 2、一只股票涨起来千万别随意抛了,中线如果连30天线都没跌破,证明走势很强,就要 拿着。 3、抛股票的原则:一种是缓慢推升的,一旦出现加速上涨,就要时刻注意出货的机会;另 一种是第一波就火爆上涨,调整后第二波的上涨一旦出现背驰或放巨量的,一定要小心,找机会走人。 4、对抛弃的股票一定不能有感情。 5、在牛市中,一定要严重关注成份股,特别有一定资金规模的,成分股都是大部队在战斗, 别整天跟那些散兵游勇玩,那些人自己都自身难保。 6、设立选股票的程序。寻找相互独立的程序。首先,技术指标,只需要选择一个带均线和 成交量的K线图,比任何技术指标都有意义。其次,任何一个股票都不是独立的,在整个市场中,处在一定的比价关系中,这个比价关系的变动,也可以构成一个买卖系统,这个买卖系统是和市场资金的流向相关的,一切与市场资金相关的系统,都不能与之独立;最后,选择一个基本面。 7、一定不能追高介入任何股票,一定要有这样的心态,它爱长多少是多少,权当这股票不 存在。一定要在调整结束后将启动时介入,这是在市场中生存的最好方法。 8、介入股票最好在均线粘合时。放巨量后就是一个好的短线出手时机。一定要记住,不要 在以巨量大阴线构造顶部的下跌反抽中介入,这是投资的大忌。 9、投资最重要的一条就是用来投资的钱必须是多余的,可以长期利用的。 10、不要在所有均线都向下发散时买股票,风险太大。 11、如果不是强力突破的走势,一般最好别在早上买股票,因为没有T+0,经常下午可以有很好的选择。当然,如果是中线着眼,逐步建仓,那是另一回事。 12、一般股票从个位到十位都要长期折腾的。 13、习惯在接吻探底时买,这时候风险最小。 14、连5日线都没有破的股票,最强势,当然要持有。 15、不要因为涨得太多而抛股票,只有一种情况需要抛股票:就是这股票走弱了。 16、利用均线构成的买卖系统,首先要利用男上位最后一次缠绕后背驰构成的空头陷阱抄底进入,这是第一个值得买入的位置,而第二个值得买入或加码的位置,就是女上位后第一次缠绕形成的低位。注意,买的时候一般最好在第二个买点,而卖尽量在第一个卖点,这是买和卖的不同地方。对于第一个买点,一旦上涨时依然出现男上位的缠绕,那么一定要退出,为什么?因为第一个买点买入的基础在于男上位最后一个缠绕后出现背驰,而现在又出现男上位的缠绕,意味着前面引导买入程序启动的缠绕并不是最后一个缠绕,也就是程序判断出现问题,因此必须退出。 17、如何判断背驰走势结束,最简单的就是当绿柱子缩短,而股价继续创新低。 18、缠中说禅买点定律:大级别的第二类买点由次一级别相应走势的第一类买点构成。如果资金量不特别巨大,就要熟练缠中说禅短差程序:大级别买点介入的,在次级别第一类卖点出现时,可以先减仓,其后在次级别第一类买点出现时回补。这样才能提高资金的利用率。 19、用“下跌+上涨”买卖方法选择买入品种的标准程序:(1)首先只选择出现“下跌+盘整+下跌”走势的。(2)在该走势的第二段下跌出现第一买点时介入。(3)介入后,一旦出现盘整走势,坚决退出。 20、缠中说禅技术分析基本原理一:任何级别的任何走势类型终要完成。 21、缠中说禅走势中枢的概念:某级别走势类型中,被至少三个连续次级别走势类型所重叠

SVF报表开发说明

在EBS中定义执行文件(执行方法选择PL/SQL 存储过程) 在EBS中注册报表(与一般定义报表方式相同,其中输出格式、样式、打印机可不特 别指定) 利用SVF工具定义输出格式文件(*.frm) 其中common页中为与查询数据对应的字段显示 点击工具条中的sub form creation创建sub form(图中黄色区域) 点击工具条中的record creation 创建record区域(图中蓝色区域) 点击工具条中的field creation 创建field (图中xxx项均是field,其中X的数量代表长度),如果是汇总字段,还需要在属性中进行特别设置,如图:

其中1page页中为显示格式,其中说明信息在该页定义。 详细流程参考附录 具体样例,参考

编写运行报表的存储过程(即是报表定义中的执行文件名) 可用已有存储过程进行修改(入口过程名为MAIN),修改的部分包括 ?过程名 ?参数 ?过程备注 ?V_REPORT_ID,改为与报表注册中的可执行名称一致 ?V_FORM_NAME,改为与svf工具开发的文件名一致 ?修改GET_DA TA过程,包括参数,取数SQL语句,以及生成XML段标记语句。 具体样例,参考存储过程zzinv106 将frm文件上传到服务器的特定目录下 该特殊路径为:select const_value||'/svf/frm' from zz_const_mst where const_name='APPLIB_TOP' 的查询结果 附录: SVF开发报表: 1.新建报表: File->Create New 普通报表选择NOImage

简单报表开发介绍

适用范围: 以收证查询为例:要实现这样的效果

1语义模型设计 1.1添加分类。序号与菜单注册的编码相同。 1.2添加语义模型。保存时,弹出提示框“是否启动设计向导”,点“是”。进入设计器 1.3选择【元数据】或者【元定义】,都可以。区别在于【元定义】比【元数据】多了“语义模型”的选择。 我们选【元定义】。

说明: a有些基础档案,我们需要显示它们的名称,例如财务组织,币种。这里有两种实现。b这里先说第一种: 可以继续选择【元定义】,找到对应的基础档案的元数据,有多个就都选择上。

1.4. 做好之后保存,点下一步。进入【连接条件】,通过主键关联将刚才选择的几张表关联起来。保存。 1.5点下一步之后进入【选择字段】,选择你要用来做展示的字段。 说明 a财务组织PK,集团PK,币种PK必须选择,用来处理精度 b这里也可以实现基本档案,或者其他需要显示名称的字段。如图中红色字段标识。

1.6.保存进入下一步。进入【描述器】,这里要做的是添加一些约束条件。 1.7点击下一步,进入【选项】,这里不用做什么修改,直接保存,点击完成。这样语义模型就设计完成了。 2自由报表预置 自由报表是用来展示数据的。这里会有:小计合计、数据格式、查询注册、联查、穿透等内容。

2.1跟语义模型一样,先建立分类,然后新增一个报表。保存,点【格式设计】2.2如图,右上角,关联刚才建立的语义模型。 2.3设置可扩展区域。右键-设置可扩展区域,如下图。 2.4设置表格字段的格式。 2.5设置几个隐藏字段,这是后期用来处理精度的 2.6插入小计合计 如图点1.红色区域2是分组字段。红色区域4是合计字段,小计与合计,红色区域5是设置是否合计

缠中说禅技术总结汇总

缠中说禅技术总结汇总 缠中说禅的理论,是人类历史上第一次把交易市场建筑在严密的公理化体系上的理论,还原了资本市场的本来面目,让人类的贪婪、恐惧无所遁形。资本市场的参与者,只有明确地知道市场当下的行为,才可能逐步化解贪婪与恐惧,而缠中说禅的理论就是可以把交易行为建筑在一个坚实的现实基础上,而不是贪婪、恐惧所引发的臆测上。 一、缠论的核心和精髓 缠论的核心就是几个结合律。当走势到达一定程度,这些结合律使得一个走势可能完成的情况“极端的明确与狭小”。所以学好结合律,才可以在走势的判断上有硬功夫。 缠论的精髓在于“走势终完美”。走势终完美在理论上解决了所有公开的自由经济的金融证券市场,所有走势都是可以精确定位的。 与缠论有关的结合律有三种: 1、包含K线分型结合律;包含K线分型结合律,走捷径的按照缠师的简单包含K线处理已经足够, 2、笔结合律;笔结合律是最基础的。不搞清楚笔结合律,缠论就无从谈起。 3、走势结合律。以上两个结合律是走势定义的第一部分起始函数A0=f1(B)。而走势结合律则是走势定义的第二部分递归函数An=f2(An-1)。对于走势必读和必谈的当然就是走势结合律f2。这也是缠论最精彩、最数学、最具艺术性的地方 二、缠论操作系统的核心技术 缠师说:操作的节奏是最重要的,操作,归根结底就是买点买、卖点卖。而节奏来源自对级别的清楚认识,没有级别,任何的买卖点都是白搭,更别谈什么节奏了。缠师说:抓住中枢这个中心,走势类型与级别两个基本点,其他都是辅助。 因此缠论的三大分析技术“中枢、走势类型、级别”,通过辅助判断“背驰”以及“均线趋势力度、量价关系进出”的几个指标,从而确认第一二三买卖点,这就是组成缠论操作系统的核心技术。 (一)、缠中说禅走势中枢 走势中枢:某级别走势类型中,被至少三个连续次级别走势类型所重叠的部分。具体的计算以前三个连续次级别的重叠为准,严格的公式可以这样表示:次级别的连续三个走势类型A、B、C,分别的高、低点是a1a2,b1b2,c1c2。则,中枢的区间就是(max(a2,b2,c2),min (a1,b1,c1))而实际上用目测就可以,不用这么复杂。

用友UAP报表开发手册

UAP报表开发手册

说明:本手册是对报表帮助文档的补充,在看本手册前建议先看报表的帮助文档 1. 数据源定义 报表数据源可分为实体关系查询,SQL脚本查询和自定义查询三个类型,如下图所示: 图1.1 其中数据源名称和数据源描述是为了标识数据源以及说明数据源的功能。 1.1查看或修改现有数据源 “查看或修改现有数据源”是指对原先已经创建的数据源进行修改(系统预置的数据源不允许修改),或者可以在新建报表时选择已存在的数据源,如下图:

选“下一步”: 则列所有已存在的数据源,选择其中一个,按“下一步”:

图1.4 功能列表是数据引擎内部使用机制,直接选“下一步”: 图1.5 这个是设置报表数据源的最后一个步骤,由于选定的数据源为自定义查询类型,所以第一个页签为自定义查询组件的相关信息(关于自定义查询组件的具体情况,请查阅本手册1.3单元);第二个页签如下图:

图1.6 查询结果列是指该数据查询结果的具体情况,包括列名称,列的数据类型,列的区域语言描述。这些信息将构成报表格式设计时的数据源信息(关于这部分内容的详细情况请参阅UAP报表设计时帮助文档)。 另一个页签为“过滤条件设置”,如下图: 图1.7 具体包括过滤条件名称,过滤条件的区域语言描述,这个将在过滤条件的数据源下拉列表中出现,这些信息将用来设置从过滤控件读去用户输入条件值来对查询的结果进行过滤(具体情况清参阅本手册2.2单元)。 之后,选择“完成”即结束数据源定义而进入报表格式定义。

1.2实体关系查询 在图1.1步骤中选定“实体关系查询”,点击“下一步”则进入实体关系查询类型的数据源定义: 图1.8 这里必须要添加至少一个关联实体,点击“添加”,则可选择系统已经定义好的实体: 图1.9

报表基础开发总结

报表基础开发教程 文档作者: 叶玉虎 创建日期: 2016-09-02 更新日期: 2016-09-02 Version: 1.

文档控制更改记录 审阅 分发人员 参考文献

目录 一、XML报表开发 (1) 1.使用PL/SQL D EVELOPER 编写XML代码 (1) 2.注册开发的报表步骤 (1) 1:注册可执行 (1) 2:注册程序 (1) 3:挂载到请求组中 (2) 4:提交请求 (3) 5:注册值集 (7) 6:进行报表模板的布局设计 (8) 7:注册XML的RTF模板 (9) 8:最终效果展示 (13) 二、HTML报表的开发 (13) 1.使用PL/SQL D EVELOPER 编写HTML代码 (13) 2.注册开的报表 (13) 三、使用REPORT BUILDER开发报表 (14) 四、报表开发的常用功能 (14) 4.1 BI Publisher(rtf)模板开发常用语法 (14) 4.2 Oracle EBS Reports 日期格式与客户端日期格式(控制面板>区域和语言选项) (17)

一、XML报表开发 1.使用PL/SQL Developer 编写xml代码 这个是我之前写的一个比较简单的xml的功能代码,可参考注释进行理解。 2.注册开发的报表步骤 1:注册可执行 在应用开发员中找到:并发=》可执行,点击打开,并填写相应的信息,其中的可执行 名称可中英文结合,简称最好还是用英文,而且所有的英文最好是大写的,应用产品根 据自己的需要写,用自己的项目应用,或者是虚拟机中的应用产品公用程序,由于我们 是用代码去开发报表的,所以执行方法用:PL/SQL 存储过程,执行文件名:写自己的 包名+包入口(一般定义为MAIN),然后保存即可。 2:注册程序 在应用开发员中找到:并发=》程序,点击打开并注册程序信息,其中程序名可中英结 合,为了方便一般与自己之前注册的可执行名称相同,简称最好是英文的,一般与之前 的可执行简称相同,应用产品根据自己的需求选取即可,说明可以不填,其中的可执行 名称选的是之前注册的可执行简称,因为此处开发的是XML报表,所以输出格式选择 XML,然后点击右下角的参数按钮,进入配置参数按钮,根据自己写的包入口所需要的 参数,这个注册同样的参数,其中的值集选择自己注册的值集(后面会写如何注册值集), 下面的属性参数根据需要修改,也可以保持默认,然后保存即可。

【强烈推荐】缠论重点技术总结

缠中说禅的理论,是人类历史上第一次把交易市场建筑在严密的公理化体系上的理论,还原了资本市场的本来面目,让人类的贪婪、恐惧无所遁形。资本市场的参与者,只有明确地知道市场当下的行为,才可能逐步化解贪婪与恐惧,而缠中说禅的理论就是可以把交易行为建筑在一个坚实的现实基础上,而不是贪婪、恐惧所引发的臆测上。 一、缠论的核心和精髓 缠论的核心在于“走势终完美”。走势终完美在理论上解决了所有公开的自由经济的金融证券市场,所有走势都是可以精确定位的。 缠论的精髓就是几个结合律。当走势到达一定程度,这些结合律使得一个走势可能完成的情况“极端的明确与狭小”。所以学好结合律,才可以在走势的判断上有硬功夫。 与缠论有关的结合律有三种: 1、包含K线分型结合律;包含K线分型结合律,走捷径的按照缠师的简单包含K线处理已经足够。 2、笔结合律;笔结合律是最基础的。不搞清楚笔结合律,缠论就无从谈起。 3、走势结合律。前面两个结合律是走势定义的第一部分起始函数A0=f1(B)。而走势结合律则是走势定义的第二部分递归函数An=f2(An-1)。对于走势必读和必谈的当然就是走势结合律f2。这也是缠论最精彩、最数学、最具艺术性的地方。 二、缠论操作系统的核心技术 缠师说:操作的节奏是最重要的。操作,归根结底就是买点买、卖点卖。而节奏来源自对级别的清楚认识,没有级别,任何的买卖点都是白搭,更别谈什么节奏了。缠师说:抓住中枢这个中心,走势类型与级别两个基本点,其他都是辅助。 因此缠论的三大分析技术“中枢、走势类型、级别”,通过辅助判断“背驰”以及“均线趋势力度、量价关系进出”的几个指标,从而确认第一二三类买卖点,这就是组成缠论操作系统的核心技术。 (一)、缠中说禅走势中枢 走势中枢:某级别走势类型中,被至少三个连续次级别走势类型所重叠的部分。具体的计算以前三个连续次级别的重叠为准,严格的公式可以这样表示:次级别的连续三个走势类型A、B、C,分别的高、低点是a1a2,b1b2,c1c2。则,中枢的区间就是(max(a2,b2,c2),min(a1,b1,c1))而实际上用目测就可以,不用这么复杂。 例如:一个5分钟中枢,只要3个1分钟走势类型有重合就可以。 关于走势中枢的类型分为:1、中枢形成;2、中枢延伸(震荡);3、中枢新生;4、中枢扩展。 简言之: 1、中枢形成:某级别走势类型中,被至少三个连续次级别走势类型所重叠; 2、中枢延伸:围绕形成的中枢震荡,延伸不能超过9个次级别,否则就变成更大级别的中枢; 3、中枢新生:即形成趋势;

SAP报表开发

SAP报表开发概述 报表开发是指无屏幕的纯报表开发。 一、报表事件 对于纯报表程序,SAP 预定义了一系列的报表事件,包括:

2、关键字Report。 3、数据定义。内表、参数都在这里定义。 4、 Include 部分。指定包含文件。 5、定义选择屏幕。利用SELECT-OPTIONS 和PARAMETERS 声明多个选择参数,系统会自动产生一个屏幕号为1000 的选择屏幕。 6、 INITIALIZATION 事件。完成对选择屏幕参数的默认值填充。 7、 AT SELECTION-SCREEN 事件。对用户的输入参数作校验。 8、 START-OF-SELECTION 事件。在这里完成数据处理。 9、 END-OF-SELECTION 事件。在这里定义报表的输出。 10、如果不是采用ALV 的方式输出报表,而是采用WRITE 语句输出,则还有TOP-OF-PAGE 和END-OF-PAGE 事件。 四、关于选择屏幕 定义选择屏幕的常用关键字: 1、PARAMETERS….。用来定义单值参数。 2、 SELECT-OPTIONS。用来定义单值、多值、范围参数。 3、 SELECTION-SCREEN。用来格式化选择屏幕。 定义选择屏幕时,我们会用到SELECT-OPTIONS 这个关键字,该参数能够接受单值、多值、范围,实际上,该参数是一个内表,其结构如下: DATA: Begin of seltab OCCURS 0, SIGN(1), OPTION(2), LOW LIKE f, HIGH LIKE f, END OF seltab. Seltab-SIGN:可选值为I 和E。I 表示包含(Include),E 表示排除(Exclude)。 Seltab-OPTION:可选值为EQ、NE、GT、LE、LT、BT、NB。EQ 表示等于,NE 表示不等于,GT 表示大于,LE 表示小于或等于,LT 表示小于,BT 表示在..之间,NB 表示不在…之间。SELECT-OPTIONS 定义的选择参数能够直接用在OPEN SQL 语句中,例如:Where f IN seltab。大家想想,一条这样的WHERE 语句,如果用T-SQL 需要多少个AND 和OR?这可是个好东西呀。为了利用OPEN-SQL 的这个特性,有时候,我们会自己定义这样的内表,自己填充数据,然后在OPEN-SQL 语句中使用,即使我们不需要定义选择屏幕。 我们常用的屏幕格式化语句有: 1、在选择屏幕上产生空行:SELECTION-SCREEN SKIP. 2、定义屏幕块。 SELECTION-SCREEN BEGIN OF BLOCK blk0 WITH FRAME TITLE text-010. SELECTION-SCREEN END OF BLOCK blk0. 如果大家对这个屏幕格式还是不满意,那么,请利用屏幕制作器,尽情地修改屏幕1000 吧。 五、选择屏幕上的文本 定义完选择屏幕后,测试运行程序。此时,我们看到的只是各个参数的名称,通常我们要用文本来替换裸露显示的参数名。 点击菜单“转到->文本元素->选择文本”,屏幕如下:

缠中说禅回复总结之八 —— 缠中说禅走势

************************* 缠中说禅走势回复 ************************* ************************* 问:缠JJ我的股票600196没出现吻已经跌去一大截了等吻出来那不是都跌没了55555555我咋办呢? 缠中说禅:你的理解错误。你好好品味这句话: 首先必须明确的是,所有上涨、下跌、盘整都建立在一定的周期图表上,例如在日线上的盘整,在30分钟线上可能就是上涨或下跌,(2006-12-08 12:35:56) ******************** 问:大姐我有个问题那盘整多久才算是盘整啊 缠中说禅:这证明你根本没理解什么是盘整,只要走出盘整的形态就是盘整,和时间根本没关系。国外有些股票,一盘盘10年8年的一点都不奇怪。关键是形态。 ******************** 问:LZ,驰宏锌锗日线上,2004/6/2~2004/9/10,如果没有后面的走势,应该也可以看作“下跌+盘整+下跌”走势,2004/8/23出现第一买点,对吗? 缠中说禅:对也不对。不对在于,在日线上并不是“下跌+盘整+跌”,但在30分钟线上是,所以说对也不对。该段走势在日线上只构成一个下跌,这里面的微妙之处,好好体会!!!

******************** 问:“盘整:最近一个高点比前一高点高,且最近一个低点比前一低点低;或者最近一个高

点比前一高点低,且最近一个低点比前一低点高。” LZ,这句话看似简单,但要落实到实践中还是有一定的难度的,最好以驰宏锌锗为例,选两个点说明一下,这样比较直观,好理解 请一定不要嫌麻烦,不理解这个,我的作业又会交不出的的 缠中说禅:下跌盘整,用肉眼就可以看出来,除非连高点和低点都分不清楚。注意,这里并不需要预测,只要看前面已经走出来的图形。 好好研究一下本ID这两段话: 驰宏锌锗:日线上,2004年6月2日到2004年9月10日,构成下跌走势;2004年9月10日到2005年3月14日,构成盘整走势;2005年3月14日到2005年7月27日,构成下跌走势。也就是说,从2004年6月2日到2005年7月27日,构成标准的“下跌+盘整+下跌”的走势,而在相应的2005年3月14日到2005年7月27日的第二次下跌走势中,7月27日出现明显的第一类买点,这就完美地构成了“下跌+上涨”买卖方法的标准买入信号。其后走势,很快就回到2004年9月10日到2005年3月14日的盘整区间,然后回调在2005年12月8日出现标准的第二类买点,其后走势就不用多说了。 再问:本来我以为自己清楚什么是盘整,但看了驰宏锌锗的例子又糊涂了,请缠姐指点。 日线上,2004年6月2日到2004年9月10日,构成下跌走势;这个明显。 但2004年9月10日到2005年3月14日,构成盘整走势;这个就不太明白了,这次相比上一次不也是创了新低,也没有比上一个高点高啊,怎么会是盘整呢? 请缠姐明示!!!

缠中说禅回复总结之五——走势中枢定理

欢迎来主页下载 --- 精品文档 ********************************* 缠中说禅走势中枢定理 ********************************** ******************** 缠中说禅走势中枢定理一:在趋势中,连接两个同级别“缠中说禅走势中枢”的必然是次级别以下级别的走势类型。 首先,任何走势类型都可能,最极端的就是跳空缺口;其次,也不一定是次级别的,只要是次级别以下,例如跳空缺口,就属于最低级别,如果图上是日线、周线,就不会是次级别了;最后,往往相连走势类型的级别越低,表示其力度越大 缠中说禅走势中枢定理二:在盘整中,无论是离开还是返回“缠中说禅走势中枢”的走势类型必然是次级别以下的。 缠中说禅走势中枢定理三:某级别“缠中说禅走势中枢”的破坏,当且仅当一个次级别走势离开该“缠中说禅走势中枢”后,其后的次级别回抽走势不重新回到该“缠中说禅走势中枢”内。这定理三中的两个次级别走势的组合只有三种:趋势+盘整,趋势+反趋势,盘整+反趋势。最用力的 破坏,就是:趋势+盘整。例如在上涨中,如果一个次级别走势向上突破后以一个盘整走势进行整理回抽,那其后的上涨往往比较有力,特别这种突破是在底部区间。 ******************** 问:“缠中说禅走势中枢”定理中的“次级别以下”是否包括次级别在内? 缠中说禅:当然包括 问:在趋势中,中枢数值越小,走势越强,缺口是最强的。是吗? 缠中说禅:中枢停留的级别越小,趋势的力度越大,缺口不等于中枢,只是连接中枢的最低级别。缺口表明离开原来中枢的力量比较大,但如果缺口以后出现一个很大级别的中枢,这就证明其力度有限了。最强的当然就是缺口后一个 5 分钟甚至更短的中枢后就继续趋势,这是最强的。例如,连续直接封涨停是最强的。为什么?因为缺口后的中枢都是 1 分钟,最低级别的。 本ID 理论可以解释各种现象,各位自己也可以开动脑筋,明白了,很多现象都可以自己去解释,这样才能对理论有更深的认识。 ******************** 问:关于走势终完美的概念。比如,在四环生物,日K线上,2006-5-10到6-6号,应该是没有形成 两个中枢,但它的确是一个上涨趋势,那么,用走势终完美的概念,如何去理解这个情况?或者是说,从更大的时间段上来看这个走势完美?,但又会在日线上错过卖点? 缠中说禅:日线向上不等于日线级别的上涨,这个向上可能是低级别走势造成的,这必须与各级别组合来看。而连接两个大级别上涨中枢之间的走势,并不一定是次级别的趋势。例如,一个盘整后,突然一个利好出来连续涨停后才形成中枢,这两个中枢间的连续不开板的涨停,只能算是一分钟的趋势。还有,走势必完美和什么两个中枢毫无关系,走势必完美意味着,任何一个走势图形的完成,必须包 欢迎来主页下载---精品文档

BIEE项目实施心得汇总

BIEE项目实施心得报表追溯 A某列报表追溯到B报表 1)不带参数:报表开发编辑页面-列属性 交互-值/列标题:主交互()操作连接 操作-导航到BI内容

选择报表 OK 2)带参数:

带参数的报表需要在被追溯的报表中添加列过滤器,运算符选择提示(如下图年月) 注意:A表传参数的字段和B表接受参数的字段,列公式:展示层的表名和列名必须一致: 如A表列公式为"维度信息"."年月",B表过滤器中提示的列公式也必须为"维度信息"."年月" 用户和权限

默认年月 建立提示,提示默认值转换成SQL,写入如下语句 a)默认上月:year(current_date))*100+MONTH(CURRENT_DATE)-1 b)默认当日: year(current_date))*100+MONTH(CURRENT_DATE)+DAYOFMONTH(CURRENT_DATE) c) d)"维度信息"."年月" >= (year(current_date)-1)*100+MONTH(CURRENT_DATE)-1 e)"维度信息"."年月" <= (year(current_date))*100+MONTH(CURRENT_DATE)-1 主从事件 必须将发送的维度拖入到提示区 二次开发 1) 修改biee logo 用新的同样大的图片/png格式替换 登录主页Logo:oracle_logo.png D:\biee\user_projects\domains\bifoundation_domain\servers\bi_server1\tmp\_WL_user\a nalytics_11.1.1\7dezjl\war\res\sk_blafp\login 报表页面Logo:oracle_logo.png D:\biee\user_projects\domains\bifoundation_domain\servers\bi_server1\tmp\_WL_user\a nalytics_11.1.1\7dezjl\war\res\sk_blafp\b_mozilla_4 2) 修改标题和头高度: 修改文件路径: F:\BIEE\user_projects\domains\bifoundation_domain\servers\bi_server1\tmp\_WL_u ser\analytics_11.1.1\7dezjl\war\res\b_mozilla\ header.js (a,"IMG");b.border=0;b.src=saw.header.getResUrl("branding_whitegradient.png");b. alt="";var c=saw.createChildElement 去掉抬头 false};https://www.doczj.com/doc/8e13490721.html,unchAlerts=function(){var a=new obide.AlertsDialog.Model();new obide.AlertsDialog.Viewer(a,obips.FloatingWindow.Manager.getSingleton())};saw.h eader.Branding=function(e,a,d,b,c){this.headerModel=e;this.logo=a?a:saw.header.get ResUrl("common/oracleLogo.png");this.productName=d;this.desc=b;this.href=c?c:sa https://www.doczj.com/doc/8e13490721.html,mandToURL("bieehome")};saw.header.Branding.prototype.render=function(f) {var d=document;var e=f.insertCell(0);e.className="HeaderLogo";var b=saw.createChildElement(e,"IMG");b.border=0;b.src=this.logo;b.alt=saw.header.get

报表开发过程

一、用户权限 1、创建用户 2、给用户分“用户模块” 3、对用户进行分组,在组中设置组的权限, 4、给用户分配组权限(组权限就是表单集合) 5、“用户权限”的优先级高于“组权限”,可以对用户在组中权限约束。 6、“组件权限”是对表单中的某些对象进行权限限制 二、IDO 1、系统里面的每个表单都会关联至少一个IDO 2、IDO至少包含数据库里面的一个基表 3、打开任意一个表单,点击进入设计模式,在“标识编辑范围”->范围: A、用户(是对某一用户有效)、 B、组(对某组有效)、 C、地点缺省(对系统所有都可使用),最好选择这项 在设计模式右边的"集合"下看到这个表单的IDO, A、蓝色为主IDO; B、绿色为次IDO 在“模块”->"系统"->"IDO编辑"->"IDO"中可以查到这个IDO,如“SLCoitems”,在这个IDO中可以看到它的所以属性。“表”中是IDO的主基表和关联表,“财产”中是项是主基表和关联表中字段。“项目名称”表示这个IDO所属项目名。 三、用户扩展字段 如在基表“coitem” 进入“模块”->"系统"->"用户扩展表",按以下几个步骤进行: 1 分类:“用户扩展表分类”,如这里命名分类为:“定单行属性” 2 字段:“用户扩展表用户字段”如:Uf_gongcha , "Uf_"表示用户定义的字段 3 分类&字段的关系:“用户扩展表分类/字段关系”,如这里设置:“定单行属性”/ Uf_gongcha

4 分类与基表关系:进入“用户扩展表与分类关系”,这里设置为:coitem/定单行属性, 勾选“扩展所有记录”(这样将IDO所有关联的数据库表都进行了扩展) 5 提交影响模式:进入“用户扩展表影响模式”,勾选“提交修改”和“影响模式”,最后点“处理”。 按上5步处理后,IDO关联的所有表中增加了一个“Uf_gongcha”字段。但表单(定单表单)的IDO“财产”中还没有这个属性字段,那么就要“扩展IDO增加属性”(也就是下面第四) 四、扩展IDO(给IDO)增加属性(也就是增加字段),前提是已经用过了上面第三步(扩展基表的字段) 在“模块”->"系统"->"IDO编辑" 1、IDO项目,选择或新建一个“IDO”项目。 2、如果是扩展原IDO,就在“扩展”中选择要扩展的IDO(如:SLCoitems),是否勾选“扩展并替换”就根据实际情况而定,这里我勾选了。 3、在“IDO名称”中输入新的IDO的名称。这里输入如:“D_ SLCoitems”,然后点“完成”。 4、在服务器中重启“IDO”,再进入ERP系统中的相应表单进行设计。也可以在IDO中新增加“IDO 新属性”。 5、可以在表单中插入IDO中的属性字段(如这里是:“定单”表单中的SLCoitems IDO的Uf_gongcha 字段属性。在这个新对象的“设计”->“标题”输入标题名称,如:这里输入sgongcha,点进入“字符串属性”,在“字符串值”中输入要显示的中文名称,这里输入"公差"。 IDO“方法”中的项是一个调用“存储过程” SL803_DATAMAP.ZAP中的文件: A、Collection-Method.xls是IDO的方法; B、Collection-Schema.xls是IDO的建构; C、Form-Events.xls是表单中的事件(打开表单,进入设计模式,在菜单“编辑”->“事件处理程序”可以看到表单中的事件); D、Rpt-Form-sp.xls是报表里面的存储过程 1 通过应用表单查其基表 2 应用上面第二(用户扩展字段) 五、如果要全新开发一个表单,其过程是: 1、新建一个数据库表(也就是一个新的基表,用户自己建立的表以US_开头,表示是用户建立的表),如果在第下面的第3步建立好表单,在表单中输入要录入的数据,弹出如下对话框 ,就说明所建基表有几个ERP系统基表的 set ansi_nulls on go

缠中说禅回复总结之五 —— 走势中枢定理

缠中说禅走势中枢定理 ********************************** ******************** 缠中说禅走势中枢定理一:在趋势中,连接两个同级别“缠中说禅走势中枢”的必然是次级别以下级别的走势类型。 首先,任何走势类型都可能,最极端的就是跳空缺口;其次,也不一定是次级别的,只要是次级别以下,例如跳空缺口,就属于最低级别,如果图上是日线、周线,就不会是次级别了;最后,往往相连走势类型的级别越低,表示其力度越大 缠中说禅走势中枢定理二:在盘整中,无论是离开还是返回“缠中说禅走势中枢”的走势类型必然是次级别以下的。 缠中说禅走势中枢定理三:某级别“缠中说禅走势中枢”的破坏,当且仅当一个次级别走势离开该“缠中说禅走势中枢”后,其后的次级别回抽走势不重新回到该“缠中说禅走势中枢”内。 这定理三中的两个次级别走势的组合只有三种:趋势+盘整,趋势+反趋势,盘整+反趋势。最用力的破坏,就是:趋势+盘整。例如在上涨中,如果一个次级别走势向上突破后以一个盘整走势进行整理回抽,那其后的上涨往往比较有力,特别这种突破是在底部区间。 ******************** 问:“缠中说禅走势中枢”定理中的“次级别以下”是否包括次级别在内? 缠中说禅:当然包括 问:在趋势中,中枢数值越小,走势越强,缺口是最强的。是吗? 缠中说禅: 中枢停留的级别越小,趋势的力度越大,缺口不等于中枢,只是连接中枢的最低级别。缺口表明离开原来中枢的力量比较大,但如果缺口以后出现一个很大级别的中枢,这就证明其力度有限了。最强的当然就是缺口后一个5分钟甚至更短的中枢后就继续趋势,这是最强的。例如,连续直接封涨停是最强的。为什么?因为缺口后的中枢都是1分钟,最低级别的。 本ID理论可以解释各种现象,各位自己也可以开动脑筋,明白了,很多现象都可以自己去解释,这样才能对理论有更深的认识。 ******************** 问:关于走势终完美的概念。比如,在四环生物,日K线上,2006-5-10到6-6号,应该是没有形成两个中枢,但它的确是一个上涨趋势,那么,用走势终完美的概念,如何去理解这个情况?或者是说,从更大的时间段上来看这个走势完美?,但又会在日线上错过卖点? 缠中说禅:日线向上不等于日线级别的上涨,这个向上可能是低级别走势造成的,这必须与各级别组合来看。而连接两个大级别上涨中枢之间的走势,并不一定是次级别的趋势。例如,一个盘整后,突然一个利好出来连续涨停后才形成中枢,这两个中枢间的连续不开板的涨停,只能算是一分钟的趋势。还有,走势必完美和什么两个中枢毫无关系,走势必完美意味着,任何一个走势图形的完成,必须包含三个以上的次级别趋走势类型。这和“任何的走势类型必须至少包含一个该级别的中枢”是等价

缠中说禅技术分析基本原理

缠中说禅技术分析基本原理 一、缠中说禅技术分析基本原理一:任何级别的任何走势类型终要完成。 1、缠中说禅走势中枢:某级别走势类型中,被至少三个连续次级别走势类型所重叠的部分。具体的计算以前三个连续次级别的重叠为准。 2、缠中说禅盘整:在任何级别的任何走势中,某完成的走势类型只包含一个缠中说禅走势中枢,就称为该级别的缠中说禅盘整。 3、缠中说禅趋势:在任何级别的任何走势中,某完成的走势类型至少包含两个以上依次同向的缠中说禅走势中枢,就称为该级别的缠中说禅趋势。该方向向上就称为上涨,向下就称为下跌。 二、缠中说禅技术分析基本原理二:任何级别任何完成的走势类型,必然包含一个以上的缠中说禅走势中枢。 1、缠中说禅走势分解定理一:任何级别的任何走势,都可以分解成同级别“盘整”、“下跌”与“上涨”三种走势类型的连接。 2、缠中说禅走势分解定理二:任何级别的任何走势类型,都至少由三段以上次级别走势类型构成。 3、缠中说禅走势中枢定理一:在趋势中,连接两个同级别“缠中说禅走势中枢”的必然是次级别以下级别的走势类型。 4、缠中说禅走势中枢定理二:在盘整中,无论是离开还是返回“缠中说禅走势中枢”的走势类型必然是次级别以下的。

5、缠中说禅走势中枢定理三:某级别“缠中说禅走势中枢”的破坏,当且仅当一个次级别走势离开该“缠中说禅走势中枢”后,其后的次级别回抽走势不重新回到该“缠中说禅走势中枢”内。 6、缠中说禅走势级别延续定理一:在更大级别缠中说禅走势中枢产生前,该级别走势类型将延续。 7、缠中说禅走势级别延续定理二:更大级别缠中说禅走势中枢产生,当且仅当围绕连续两个同级别缠中说禅走势中枢产生的波动区间产生重叠。 8、缠中说禅背驰-买卖点定理:任一背驰都必然制造某级别的买卖点,任一级别的买卖点都必然源自某级别走势的背驰。 9、缠中说禅升跌完备性定理:市场中的任何向上与下跌,都必然从三类缠中说禅买卖点中的某一类开始以及结束。 10、缠中说禅趋势转折定律:任何级别的上涨转折都是由某级别的第一类卖点构成的;任何的下跌转折都是由某级别的第一类买点构成的。 11、缠中说禅背驰-转折定理:某级别趋势的背驰将导致该趋势最后一个中枢的级别扩展、该级别更大级别的盘整或该级别以上级别的反趋势。 12、缠中说禅买卖点级别定理:大级别的买卖点必然是次级别以下某一级别的买卖点。 13、缠中说禅走势背驰段:在某级别的某类型走势,如果构成背驰或盘整背驰,就把这段走势类型称为某级别的背驰段。

相关主题
文本预览
相关文档 最新文档