PB中两个数据窗口中的数据相关联,一一对应。

PB中两个数据窗口中的数据相关联,一一对应。,第1张

这个应该不难吧?

你的窗口上的两个数据窗口,虽然说项目和科目有对应,但是从两个数据窗口上看,应该是各自显示各自的数据吧?更像是一个基础数据的显示,对吧?

然后,你要左右各选择一行,通过一个按钮对应,来实现二者的对应并存储到后台表中,是这个意思么?

那就在对应这个按钮的点击事件中写代码就差不多了。

比如科目的数据窗口是dw_1,项目的数据窗口是dw_2

对应的点击事件:

if dw_1GetRow() <= 0 then return //dw_1没有选择行

if dw_2GetRow() <= 0 then return //dw_2没有选择行

string ls_acct, ls_project //定义变量

ls_acct = dw_1objectacct_no[dw_1GetRow()] //获取当前点击的科目值

ls_project = dw_2objectproject_no[dw_2GetRow()]//获取当前点击的项目值

insert into 对应关系表(科目编号, 项目编号) values (:ls_acct, :ls_project); //插入表

if sqlcasqlcode = 0 then //插入成功

commit; //提交确认

else

rollback; //插入失败,回滚事务

end if

这样你的对照关系就插入成功了,如果你的窗口上还有一个现实对应关系的数据窗口,在这之后直接做retrieve,就能刷新对应的关系在数据窗口显示了。

PB是市净率,等于股价除以每股净资产,

PE是市盈率,等于股价除以每股收益,分动态PE和静态PE,静态PE是股价除以上年(年报)每股收益,动态PE是股价除以目前(季报或者半年报)折算出来的每股年收益。

在不同的软件上显示的位置不一样,但是都可以自己算。

PB,股价看得见,每股净资产在软件右边有显示,找不到的话按F10,基本面资料里面有。

PE,通常软件显示的都是动态PE,就是按最近一次报表数据,比如目前的F10资料里面都是半年报资料,每股收益是半年的每股收益,乘以2就是目前的动态年每股收益,拿目前股价除以这个数就是动态PB。

投资者进入股市之前最好对股市有些初步的了解。前期可用个牛股宝模拟炒股去看看,里面有一些股票的基本知识资料值得学习,也可以通过上面相关知识来建立自己的一套成熟的炒股知识经验。希望可以帮助到您,祝投资愉快!

messagebox('错误','无法取得程序运行路径')haltelseif ll_apphandler<0 then//编译模式

ls_apppath=ls_appname

ls_strtmp=reverse(ls_apppath)

li_pos=pos(ls_strtmp,'\',1)

ls_strtmp=mid(ls_strtmp,li_pos+1)

ls_apppath=reverse(ls_strtmp)

else //PB环境下运行

ls_apppath='D:\ScaleWinInterface'//据实际情况改变

ls_appname=ls_apppath+'\mainexe'//同上lb_c=falseend ifend if其中声明PUBLIC FUNCTION uLong GetModuleFileName(ulong hModule,ref string lpFileName,ulong nSize) LIBRARY "kernel32dll" ALIAS FOR "GetModuleFileNameA"

这样ls_apppath即为执行程序的路径。

ls_appname为路径(包括文件名)

以上是得到当前运行程序的路径,如果要得到其他文件的路径,如果知道这个文件名,也就知道它的路径了,不必再找,如果想查找符合某个文件名的所有文件的路径,就要做目录遍历了。这个可以到网站找例子。

可以用datawindow , datastore获取

也可以直接使用sql into语句获取

例如:

SELECT emp_name, emp_salary

INTO :emp_name_var, :emp_salary_var

FROM employee WHERE emp_id = :emp_id_var;

对于sql语句,如果返回多行,你得使用指针

按F1,HELP会告诉你怎么做,:)

1、得到当前鼠标所指对象所在的带区

string str_band

str_band=GetBandAtPointer() //得到当前鼠标所指对象所在的带区

str_band=left(str_band,(pos(str_band,'~t') - 1))//得到"header"、"detail"等

if str_band<>'header' then return //单击非头区,退出

2、得到鼠标指向的列对象名

str_object=GetObjectAtPointer() //得到当前鼠标所指对象名

str_object=left(str_object,(pos(str_object,'~t') - 1))

//得到列对象名(默认为列名_t为列标题)

str_column=left(str_object,(len(str_title) - 2))

//判断该名称是否为列名字

if thisdescribe(str_column+"band")='!' then return //非是列名,即列标题不是按正常规律起名的。

3、得到当前行、列,总行、列 //this 针对数据窗口而言

li_col = thisGetColumn()

li_ColCount = long(describe(this,"datawindowcolumncount"))

ll_row = thisGetRow()

ll_RowCount = thisRowCount()

//设置当前行、列

scrolltorow(this,ll_Row)

setrow(this,ll_Row)

setcolumn(this,li_col)

thisSetFocus()

4、得到所有列标题

ll_colnum = Long(dw_1objectdatawindowcolumncount)

for i = 1 to ll_colnum

//得到标题头的名字

ls_colname = dw_1describe('#' + string(i) + "name") + "_t"

ls_value = dw_1describe(ls_colname + "text")

next

5、如何用代码取得数据窗口汇总带计算列的值

String ls_value

ls_value = dw_1Describe("Evaluate("'compute_1',1)")

//如果是数值型,要转换。

GraphicObject which_control

DataWindow ldw_object

which_control = GetFocus()

If TypeOf(which_control) = datawindow! Then

ldw_object = which_control

ldw_objectInsertRow(0)

End If

以上就是关于PB中两个数据窗口中的数据相关联,一一对应。全部的内容,包括:PB中两个数据窗口中的数据相关联,一一对应。、如何查询或者获取一支股票的pe,pb、PB怎样获取文件路径用什么函数谢谢!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9630362.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存