PB学习记录
- 格式:docx
- 大小:16.78 KB
- 文档页数:7
PB学习Pb1.B/S模式2.对象包括三⽅⾯:属性,事件,函数属性——规定了对象的特征;事件——说明对象相应什么样的操作;函数(⽅法)——封装对象的功能;3.PB主要包括的对象:应⽤对象,窗⼝对象,数据窗⼝对象,菜单,函数,查询,结构,⽤户对象,⼯程对象4.系统分析和系统设计——充分了解系统需求5.系统开发——创建对象,描述对象,设置属性建⽴应⽤对象;⽣成⽤户对象,函数和结构;建⽴窗⼝和菜单;创建数据窗⼝对象,将数据窗⼝对象连接到窗⼝上;编写各对象的事件处理程序;调试应⽤;测试系统;⽣成EXE⽂件。
6.PB与数据库的连接通过数据库接⼝来实现:ODBC接⼝,专⽤接⼝ODBC:开放式数据库互连标准接⼝,以关系数据库标准查询语⾔SQL来存取连接到的数据源专⽤接⼝:针对具体的数据库管理系统⽽设计,将PB连接到相应的数据库上。
ODBC接⼝(1)ODBC应⽤软件,包括⽤PB开发的应⽤程序调⽤ODBC函数,PB通过动态链接库PBODB60.DLL完成这⼀功能,对于开发⼈员来说,该过程是隐含的,由PB⾃动完成(2)驱动管理程序⽤ODBC.INI⽂件把数据源名映射成特定驱动程序的动态链接库处理⼏个ODBC初始化调⽤为每个驱动程序提供ODBC的⼊⼝点检验ODBC的调⽤参数和次序(3)驱动程序——处理ODBC函数调⽤,提交SQL请求到特定的数据源并把结果返回给应⽤程序。
(4)数据源——要存取的数据以及相关的操作系统,数据库管理系统和⽹络系统ODBC,PB访问数据库模式:PB应⽤程序——ODBC接⼝——数据库到⽹络的接⼝——⽹络——数据库到⽹络的接⼝——数据库服务器连接数据库(1)建⽴或配置与要连接的数据库对应的数据源ODBC数据源:应⽤ODBC配置⾯板;(2)建⽴数据库描述⽂件或设置连接参数。
(3)连接到ODBC数据库创建应⽤程序对象1.PB——应⽤对象代表应⽤程序,程序从应⽤对象开始运⾏,⾯向对象,⽤它开发的应⽤程序以对象和事件为基本特征。
讲解4个辅音一).口语操练1.How do you go to school?I go to school by bus/ by train/ by car/ by bike/ by motorcycle/ by taxi.2.What’s your favorite subject?My favorite subject is Maths/ English/ Science/ Chinese/ Art/ Music/PE.......3.What color do you like?I like (dark/light) red/pink/yellow/white/brown/grey........二).内容讲解元音和辅音的定义:•发音时声带振动,呼出的气流通过口腔时不受阻碍,这样形成的语音称为元音。
•不论声带振动与否,发音时呼出的气流通过口腔或鼻腔时受到一定的阻碍,这样形成的语音称为辅音。
•发音时声带不振动的辅音称为清辅音。
•发音声带振动的辅音称为浊辅音。
辅音音标[p] [b] [t] [d]练习1.[p] 双唇紧闭,然后快速张开,让气流冲出口腔,发出爆破音,但声带不振动。
发这个音的字母和字母组合p pp•p: piano panda parrot pet ship•sheep pig stop•pp: apple happy•根据发音规则,圈出没有发[p]的单词。
• 1.ship phone sleep pear• 2.pick pen big pineapple• 3.taxi parrot sheep pig• 4.panda pony pet truck2.[b]双唇紧闭,然后快速张开,让气流冲出口腔,发出爆破音,但声带需振动。
发这个音的字母和字母组合b bb•b: book ball bird big boy bag•banana•bb:rubber rabbit cabbage•根据发音规则,圈出发[b]的2个单词。
PB笔记1、Datastore用法方法一:参照已存的DWstring ls_yhzllong ll_row,ll_row_countdatastore ds_yhzl//声明Datastore变量ds_yhzl = create datastore//将Datastore实例化ds_yhzl.dataobject = "dw_yhzl"//为datastore分配数据窗口对象ds_yhzl.settransobject(sqlca)//指定连接实例ds_yhzl.retrieve()//提取数据destroy ds_yhzl -----释放datastore方法二:自定义sqla.调用自定义函数gf_create_ds:datastore ds4s_cmdtxt=' select distinct pk_org from nc_zz_htdd_head where vdef19 ="'+is_dhhbm+'" and pk_org <>"0001A310000000002TDE" and LEN(pk_org)>3'ds4=uf_create_ds(ds4,s_cmdtxt)if ds4.rowcount()=0 thenmessagebox('提示:','因子公司客户未下单,所以不需操作此功能!')return 0end ifdestroy ds4b.直接定义string ls_syntaxstring ls_err//保存错误string ls_style = 'style(type=grid)'//数据窗口风格,具体查看SyntaxFromSQL函数的pb帮助string s_sqls_sql=’select….’Datastore dsls_syntax = SQLCA.SyntaxFromSQL( s_sql , ls_style , ls_err )if ls_err <> '' thenmessagebox( '出错' , '创建DATAStore出错!' + ls_err )return 0elseds = create datastoreds.create( ls_syntax , ls_err )if ls_err <> '' thenmessagebox( '出错','初始化DATAStore出错!' + ls_err )return 0elseds.SetTransObject( sqlca )ds.retrieve()end ifend if2.自动触发button按钮cb_1.TriggerEvent("Clicked")cb_1是你要触发的空间的名字,Clicked是你要触发那个事件窗口对象名称.控件名称.triggerevent(事件名称)关于事件名称:1.如果事件名称是控件自带的,如按钮的Clicked事件triggerevent(Clicked!)2.如果事件名称是用户为控件定义的,如你自己定义了一个abc事件triggerevent("abc")3.tab切换页时判断是否有数据未保存Tab的selectionchanging事件if dw_1.ModifiedCount() > 0 or dw_1.DeletedCount() > 0 thenmessagebox('提示','尚有操作未保存,请先进行保存操作!',Exclamation!)return 1end ifModifiedCount()和DeletedCount()就是用来检测有没有修改行和被删除行的。
1、OpenSheet()函数
功能在MDI 框架窗口中打开MDI 子窗口并在指定菜单中创建选择该子窗口的菜
单项。
语法OpenSheet(sheetrefvar{,windowtype},mdiframe{,position{,arrangeopen}})
参数sheetrefvar 指定要作为工作表打开的窗口名
windowtype string 类型可选项指定是要打开窗口的类型也就是窗口画
笔中保存的窗口对象名
mdiframe 指定要放置工作表的MDI 框架窗口名
position 可选参数指定所打开的工作表的名称作为一个菜单项显示在第几个
菜单标题下面默认时被放在倒数第二个菜单标题下原因是大多数商业
软件的最后两个菜单标题是Window 和Help 把工作表的名称放到Window 菜
单标题中用于选择工作表窗口是个合情合理的选择
arrangeopen ArrangeOpen 枚举类型可选参数但如果选用了此参数那么
position 参数也必须同时指定arrangeopen 参数告诉系统如何显示打开的工作
表。
示例:
下面的语句在MDI 框架窗口w_Parent 中以原始大小打开工作表w_person 并
且在第5 个菜单标题下面增加一个以w_person 命名的菜单项
OpenSheet(w_person,w_Parent,5,Original!)
2、在源代码中查找方法和窗体,数据对象的定义,(1)、快捷方式:Ctrl+O, (2)、File—>Open。
PB学习总结信142李嘉星学号:20143140219 1.第十一章数据库应用基础1.1.数据库接口1.1.1.PB提供了两类数据接口:i)ODBC接口、ii)专用接口1.1.1.1.ODBC为连接物理数据库而提供的一种标准接口。
应用ODBC的程序不依赖于DBMS(数据库管理系统)。
优点:能以统一的方法处理所有的数据库。
多个ODBC数据源可以对应同一个数据库。
1.2.数据库操作1.2.1.PB开发过程中,数据库操作有创建数据库、定义ODBC数据源、配置DB(开发时需要,运行时不需要)、连接数据库。
1.2.2.Database画板不能修改项目类型。
1.3.事务对象1.3.1.用途:在PB中与数据库通信,在应用程序中使用嵌入式SQL使用数据窗口访问数据库。
1.3.2.注意:事务与事务对象并不是同一概念。
1.3.2.1.事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
(离散成组的逻辑单元)1.3.2.2.事务对象:驻留在内存中,拥有用于连接数据库以及从数据库中得到反馈数据的所有信息。
1.3.3.应用程序与数据库的所有通信需要通过事务对象来完成。
系统缺省的事务对象为SQLCA,作用域为全局,新创建该对象用CONNECT语句。
1.3.3.1.事务管理语句COMMIT(提交)、ROLLACK(回滚)、CONNECT(连接)、DISCONNECT(断开)。
1.3.3.1.1.CONNECT(连接)语法格式CONNECT{USING transaction_object};1.3.3.1.2.DISCONNECT(断开)语法格式。
DISCONNECT{USING transaction_object};1.3.3.1.3.ROLLACK(回滚)语法格式ROLLACK{USING transaction_object};MIT(提交)语法格式COMMIT{USING transaction_object};1.4.SQL语句1.4.1.特点1.4.1.1.SQL语句以;作为结束标志1.4.1.2.SQL语句中可以使用PB中的变量(变量前加:)1.4.1.3.每次PB只能处理一条返回结果;返回多条时要应用游标或窗口技术1.4.1.4.静态游标不能放在循环语句中1.4.2.增删改查1.4.2.1.查(Select)SELECt col1,col2,···,colnINTO var1,var2,···,varnFROM table_name{WHERE condition_expression}{USINGtransaction_object };1.4.2.2.增(Insert)INSERT INTO table_name SET col1=v1 {,col2=v2,···,coln=vn}VALUSE(v1,v2,···,vn){USINGtransaction_object };1.4.2.3.改(Update)UPDATEtable_name {col1,col2,···,coln}{WHERE condition_expression}{USING transaction_object };1.4.2.4.删(Delect)DELECT FROM table_name{WHERE condition_expression}{USING transaction_object };1.4.3.注意1.4.3.1.相关操作作为一个事务,出现错误则全部回滚1.4.3.2.同一数据连续更新最后一次提交,则只更新了一次1.4.3.3.断开前系统会进行一次提交1.5.小结:2.数据库窗口对象2.1.数据窗口对象的创建2.1.1.显示风格2.1.1.1.Grid(网格)数据的行与列之间通过网格线分隔,每一个数据项都位于其中一个网格中。
人教PEP五年级下册Unit 4 When is the art show单元整体设计B talk then,cooknoodles Pleasecome then When is yourbirthday? Whatwill you do foryour ...?I'll ...forher/him.谈论家人生日,表达自己能为家人或朋友做些什么。
1课时理解对话,在语境中运用所学词汇和句型。
B Read and writeC story time kitten, diary,still, noise, fur,open, walk,They are pink,because they’re very young.They makenoises whenthey arehungry.读课文,会根据描述完成相应的练习,仿写句子,完成听力任务,学习storytime 。
2课时能够根据描述完成相应的练习,补全书信,学习听力题型和听力技巧,story time等三、单元设计框架(示意图)新课标第二部分分课时教学设计【第4 课时】一,语篇研读(附图)本节课是词汇篇,主要学习序数词,根据图片,音频,书写等让学生从听觉、视觉直观感知本节课的核心词汇和句型,通过吴斌斌和Robin在谈论家人生日的场景,呈现了序数词的词性和意义。
通过语篇学习生词和句型,感受上述旬型和词汇的语义和语用情景。
注重学习具体日期的英语表达方式。
PB编程实例点滴(4)- -| 回首页| 2005年索引| - -PB编程实例点滴(6) PB编程实例点滴(5)- -(41)把键盘中断送给控件[Function declaration]SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) & LIBRARY \"user32.dll\"[powerscript]li_vkey = 65 // the character \"A\"sle_1.setfocus() // the target controlkeybd_event( li_vkey, 1, 0, 0 )下面代码把BACKSPACE送给SingleLineEdit控件,并删除了上一个字符。
[powerscript]integer li_vkeyinteger ll_posll_pos = len(sle_1.Text) + 1sle_1.selectText(ll_pos,0) // set the cursor at the endli_vkey = asc(\"~b\") // backspacekeybd_event( li_vkey, 1, 0, 0 )(42)在一个控件使用“MOUSE-OVER”在本例中,使用一个静态文本控件。
当鼠标移在文本控件上时,控件的前景色为红色;当鼠标离开时,控件的前景色为黑色。
Suppose you have a static text on a Window. When the mouse is over it, the s tatic textforeground color change to red. When the mouse quit the static text, the for eground coloris black.[window mousemove event]// just to display somethingst_1.text = string(xpos) + \", \" + string(ypos)IF xpos >= st_1.X AND (xpos <= st_1.x + st_1.Width) AND &ypos >= st_1.y AND (ypos <= st_1.y + st_1.Height) THENst_1.textcolor = 255ELSEst_1.textcolor = 0END IF(43)查询临时目录变量如果在PB6以上,调用环境变量TEMP的值。
Abs功能计算绝对值。
语法Abs ( n )参数n:要得到绝对值的数值型变量或表达式返回值返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值。
如果参数n的值为NULL,Abs()函数返回NULL。
Ceiling功能返回大于n的最小整数。
语法Ceiling ( n )参数n:数值型变量或表达式返回值返回值的数据类型与n的数据类型相同。
函数执行成功时返回大于n的最小整数。
如果参数n的值为NULL,Ceiling()函数返回NULL。
Cos功能计算余弦,其中参数以弧度为单位。
语法Cos ( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n的余弦。
如果参数n 的值为NULL,Cos()函数返回NULL。
DeletedCountDELETEDCOUNT,未做数据库更新的行的数量。
功能:返回数据窗口控件中已经被删除但尚未做数据库更新的行的数量语法:DWCONTROL.DELETEDCOUNT()参数:DWCONTROL 数据窗口控件名返回值:LONG ;函数执行成功时返回数据窗口控件中已经被删除但尚未做数据库更新的行的数量,如果没有被删除的行或被删行已经完成了数据库修改,则函数返回 0。
出现错误时返回-1 。
如果DWCONTROL 的值为NULL ,则DELETEDCOUNT()函数返回NULL用法:数据窗口控件有四个缓冲区其中主缓冲区存储当前显示的所有行,删除缓冲区存储应用程序使用DELETEROW()函数或其他函数删除的数据行,在修改数据库之前,被删除行一直保存在删除缓冲区中,使用 DELETEDCOUNT()函数可以得到删除缓冲区中总行数,即当前被删除行的总数数据窗口控件的四个缓冲区为:主缓冲区删除缓冲区过滤缓冲区原始缓冲区示例:下面的代码测试数据窗口缓冲区中是否有被删除行,如果有被删除行,那么修改数据库,以反映数据被删情况LONG LL_DELLL_DEL = DW_EMPLOYEE.DELETEDCOUNT()IFLL_DEL <> 0 THEN DW_EMPLOYEE.UPDATE()Exp功能计算e的n次方。
语法Exp ( n )参数n:指定幂值返回值Double。
函数执行成功时返回e(约等于2.71828)的n次方。
如果参数n的值为NULL,Exp()函数返回NULL。
Fact功能计算n的阶乘。
语法Fact ( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n的阶乘。
如果参数n 的值为NULL,Fact()函数返回NULL。
Find返回long型数值语法dw_1.find("yhmc="+trim(sle_1.text)+"",1,dw_1.rowcount())查找dw_1中的用户名称=sle_1文本控件的值,从dw_1第一行到最后一行,返回该行行数Int功能得到小于等于n的最大整数。
参数n:数值型变量或表达式返回值Integer。
函数执行成功时返回小于等于n的最大整数。
如果n的值太小或太大,超过了整数的表示范围,则函数返回0。
如果参数n的值为NULL,Int()函数返回NULL。
Log功能计算n的自然对数。
语法Log ( n )参数n:数值型变量或表达式,其值必须大于0返回值Double。
函数执行成功时返回n的自然对数。
如果n小于等于0,将导致运行错误。
如果参数n的值为NULL,Log()函数返回NULL。
LogTen功能计算n的常用对数(以10为底)。
语法LogTen ( n )参数n:数值型变量或表达式,其值必须大于0返回值Double。
函数执行成功时返回n的常用对数。
如果n小于等于0,将导致运行错误。
如果参数n的值为NULL,LogTen()函数返回NULL。
Max功能求两个数中的最大值。
语法Max ( x, y )参数x:数值型变量或表达式,参加比较的第一个数y :数值型变量或表达式,参加比较的第二个数返回值以x、y中数据类型更精确的数据类型作为该函数的返回值数据类型。
函数执行成功时返回参数比较的两个数中更大者。
如果任何参数的值为NULL,Max()函数返回NULL。
Min功能求两个数中的最小值。
参数x:数值型变量或表达式,参加比较的第一个数y :数值型变量或表达式,参加比较的第二个数返回值以x、y中数据类型更精确的数据类型作为该函数的返回值数据类型。
函数执行成功时返回参数比较的两个数中较小者。
如果任何参数的值为NULL,Min()函数返回NULL。
Mod功能求余数。
语法Mod ( x, y )参数x:数值型变量或表达式,被除数y :数值型变量或表达式,除数返回值以x、y中数据类型更精确的数据类型作为该函数的返回值数据类型。
函数执行成功时返回x除以y所得的余数。
如果任何参数的值为NULL,Mod()函数返回NULL。
ModifiedCountMODIFIEDCOUNT用法同DELETEDCOUNTPi功能计算n与Pi(3.14159265358979323...)的乘积。
语法Pi ( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n与Pi(3.14159265358979323...)的乘积。
发生错误时返回-1。
如果参数n的值为NULL,Pi()函数返回NULL。
Rand功能得到1与n之间的一个伪随机数。
语法Rand ( n )参数n:数值型变量或表达式,指定要产生的伪随机数的上界。
有效值在1到32,767之间返回值与n的数据类型相同。
函数执行成功时返回1与n之间的一个伪随机数,包括1和n在内。
如果参数n的值为NULL,Rand()函数返回NULL。
Randomize功能初始化伪随机数发生器,这样让应用程序每次使用不同的伪随机数序列。
语法Randomize ( n )参数n:数值型变量或表达式,指定伪随机数生成器使用的起始值,不同的起始值可以生成不同的伪随机数序列。
当n的值为0时,该函数把系统时钟作为伪随机数生成器的起始值,这样可以生成不可重复的伪随机数序列。
当n的值不为0时,可以产生不同的伪随机数序列,但是,如果两次使用相同的伪随机数生成器起始值,那么两次生成的伪随机数序列相同。
n 的值在0到32,767之间返回值Integer。
极少使用该函数的返回值。
Round功能将x四舍五入到n位。
语法Round ( x, n )参数x:要四舍五入的数值型数据n:整数类型,指定从哪个小数位上四舍五入x。
有效值在0到18之间返回值Decimal。
函数执行成功时返回将x四舍五入到小数点后第n位的数值,如果函数执行失败或任何参数的值为NULL,Round()函数返回NULL。
Sign功能确定n是整数、负数还是零。
语法Sign ( n )参数n:数值型变量或表达式,指定要测试符号的值返回值Integer。
当n大于0时返回1;当n小于0时返回-1;当n等于0时返回0。
如果参数n的值为NULL,Sign()函数返回NULL。
Sin功能计算正弦,其中参数以弧度为单位。
语法Sin( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n的正弦。
如果参数n 的值为NULL,Sin()函数返回NULL。
Sqrt功能计算平方根。
语法Sqrt ( n )参数n:数值型变量或表达式,指定要计算平方根的数据返回值Double。
函数执行成功时返回n的平方根。
如果n是负数,则执行该函数时引发运行错误。
如果参数n的值为NULL,Sqrt()函数返回NULL。
Tan功能计算正切,其中参数以弧度为单位。
语法Tan( n )参数n:数值型变量或表达式返回值Double。
函数执行成功时返回n的正切。
如果参数n 的值为NULL,Tan()函数返回NULL。
Truncate功能截断数值到指定的小数位。
语法Truncate ( x, n )参数x:要截断的数值型数据n:整数类型,指定从哪个小数位上截断x。
有效值在0到18之间返回值Decimal。
函数执行成功时返回将x截断到小数点后第n位的数值,如果函数执行失败或任何参数的值为NULL,Truncate()函数返回NULL。
所谓截断就是舍弃指定位之后的数值。
数据库连接SQLCA.DBMS = "O90 Oracle9i (9.0.1)"SQLCA.LogPass = 'a'SQLCA.ServerName = "sundb"SQLCA.LogId = "wangst"SQLCA.AutoCommit = FalseSQLCA.DBParm = ""connect using SQLCA;窗体打开位置this.x=(PixelsToUnits(env.ScreenWidth,XPixelsToUnits!) - this.width)/2 this.y=(PixelsToUnits(env.ScreenHeight,YPixelsToUnits!) - this.height)/2右击菜单(写在需要右击控件的rbuttondown事件)m_test mTestmTest = create m_testmTest.popMenu(PARENT.PointerX(), PARENT.PointerY())。