TS进阶(四)类型保护
类型保护是为了更加精确的知道类型
可以使用typeof用来确定类型,那么参数就可以使用确定类型的方法
可以使用instanceof用来确定类型,那么参数就可以使用确定类型的方法
null保护,就是保护部位null。注意嵌套方法嵌套
function nullCheck(a:string | null){
if (a == null){
return ""
}
return a
}
使用!表示非空断言,a?.b表示a有值,返回a.b的值,没有返回undefined的
可以使用=== == !== !=来区分字面量的类型
in操作符号可以安全的检查一个对象上是否存在一个属性
可以在函数外部定义提个函数用来判断参数的接口类型
什么是PFC,请做详细介绍
PFC是PowerBuilder高级开发工具集中的一个基本类库,提供了进行一般应用开发时会经常用到的对象和函数代码。PowerBuilder5.0的基本类库中的内容十分丰富,比以前版本中所提供的功能要增加了许多,而且对象之间的继承和引用关系也比以前更为清晰合理。因此编写一个完全建构在PFC类库之上的应用可大大提高软件质量,而且利用基类的已有代码也会使得许多复杂的功能实现起来要轻松得多。可是如何编写这样的应用,以合理地继承、利用和改造PFC的基本框架,以及使用PFC时应注意的事项,却是十分复杂的问题,在这里无法用几千字就能够讲清楚。不过我们仍然能够像使用以往版本的类库一样,只是借用PFC中一些对象的基本功能以省去自己编写代码的麻烦。
本文将主要介绍如何利用PFC中几个数据窗口功能,为我们的编程带来便利。
我们在应用中会遇到层次型关系的数据,例如部门和雇员实体之间的关系。在对一个部门下雇员的数据进行维护时,可以使用Master/Detail的表现形式,在数据窗口dw_1表现已有部门的数据,并根据用户选择的某一条记录,在dw_2中变换所选定部门雇员的信息,并对雇员信息进行维护。
首先声明一个全局变量:
n_cst_appmanagergnv_app
在应用的Open事件中加入:
gnv_app=CREATEn_cst_appmanager
gnv_app.Eventpfc_Open(commandline)
在应用的Close事件中键入:
gnv_app.Eventpfc_Close()
DESTROYn_cst_appmanager
在窗口中我们定义dw_1和dw_2为PFC中u_dw的实例对象,在窗口的Open事件中我们编程如下:
//设置dw_1和dw_2的级联方式
dw_1.of_setlinkage(true)
dw_2.of_setlinkage(true)
dw_1.of_settransobject(sqlca)
dw_2.of_settransobject(sqlca)
//定义dw_1和dw_2的级联关系
dw_2.inv_linkage.of_linkto(dw_1)
dw_2.inv_linkage.of_setarguments("dept","dept")
dw_2.inv_linkage.of_setusecollinks(1)//设置连接方式为filter
//触发dw_2的pfc_retrieve()事件
dw_2.eventpfc_retrieve()
ifdw_1.eventpfc_retrieve()=-1then
messagebox("错误","提取数据错误-类别")
else
dw_1.setfocus()
endif
在dw_1和dw_2的pfc_retrieve
事件中将祖先的代码覆盖,并分别写下如下语句:
returnthis.retrieve()
在dw_1的rowfocuschanged事件代码中将对该数据窗口的数据进行过滤,而执行retrieve()函数将触发这一事件。
使用PFC中这个对象的优点还可以体现在以下两点:当需要更新级联的所有数据窗口时,只需执行dw_1.inv_linkage.of_update()一条命令即可完成;如果想要在dw_2中增加一行新数据,可使用dw_2.pfc_addrow(0)或dw_2.pfc_insertrow()函数,这个函数会将dw_2中dept字段的值自动设置为dw_1中dept的当前值,从而避免了手工使用GetItem和SetItem函数来设置。
在上述简单的关系中,并未充分体现出PFC优越性。但在一个工厂中对零件的管理或是大型商场中对商品的管理,往往是要通过多次的级联才能定位到某一类产品的子目,在这样的系统中,拥有一个像u_dw这样的基类,编程的效率就可以提高许多。
在一个数据窗口中如果有的列含有下拉式数据窗口时,在这些列中使用下拉搜索功能会给用户带来很多方便,也就是说在这些列中当用户使用键盘敲入数据时,应用程序自动地搜索下拉式数据窗口中对应的值,使其跳转到相应的记录上。使用PFC,我们只需指定这个数据窗口继承n_cst_dwsrv_dropdownsearch对象,并在这个数据窗口中键入下列代码:
constructor事件:
dw_1.of_setdropdownsearch(true)
dw_1.inv_dropdownsearch.of_addcolumn()
editchanged事件:
inv_dropdownsearch.eventpfc_editchanged(row,dwo,data)
这个数据窗口中所有的下拉式数据窗口就都具备了下拉搜索功能。不过我们要对这个PFC对象进行改进,以适应中国国情。原有的搜索功能是要求用户在该列中输入下拉式数据窗口的显示值(displaycolumn)才能查询,这对于使用拼音文字的用户是十分方便的,应用将随着用户输入字符的增多,逐步递进地显示相应的记录。可是在中文应用软件中,该列的显示值一般都为中文,输入并不方便,所以有经验的操作员往往习惯于使用他们熟悉的编号,即下拉式数据窗口的实际存储值(datacolumn),因此将应用程序做成对实际值进行查询也许更符合中国用户的习惯。我们就需要在n_cst_dwsrv_dropdownsearch中的pfc_editchanged事件中作如下修改:
覆盖祖先类的代码,键入新代码。新代码是对它的祖先对象pfc_n_cst_dwsrv_dropdownsearch中pfc_editchanged事件的代码作部分修改,将其中第72行
ls_dddw_displaycol=adwo_obj.dddw.displaycolumn
改为:
ls_dddw_displaycol=adwo_obj.dddw.datacolumn
即可。(因代码过长,我们无法在这里全部引述。)
3.使用PFC中有关数据窗口打印的功能。在u_dw对象中还提供了一些有关打印的事件和函数,我们首先在数据窗口的构造事件或窗口的Open事件中,将数据窗口设置允许打印预览:dw_1.of_setprintpreview(true)。
我们可以在程序中调用dw_1.eventpfc_print()、dw_1.eventpfc_printpreview()、dw_1.eventpfc_pagesetup()、dw_1.eventpfc_zoom()分别用来实现打印、打印预览、页面设置、预览窗口的放大缩小等功能。在这些功能中,PowerBuilder会自动弹出相应的窗口,由用户设置打印的份数,页面纸张的大小,预览窗口的显示比例等参数。
此外在窗口对象中PFC提供了response风格窗口的祖先类w_response,其中加入一些用户可能经常用到的功能。例如只需在继承窗口的open事件中加入如下语句:this.inv_base.of_center(),可实现该窗口在打开时窗口在屏幕的正中位置显示;又如在open事件中加入:this.of_setbase(true),每个继承窗口缺省都有数据数据窗口存储功能等等。
PFC电路是怎样工作的
有源PFC电路原理及其控制方法
?????? 有源PFC是由电感电容及电子元器件组成的,通过专用IC芯片去调整电流的波形,对电流电压间的相位差进行补偿。具体做法是在输入整流桥与滤波电容之间插入一个开关变换器线圈,以控制输入电流的波形跟随电网电压波形,使电源呈现阻性。
??????
?
?上图是一个典型的有源PFC电路模型,其基本工作原理如下:主电路的输出电压Vo和基准电压Vref比较后,输入给电压误差放大器A;整流电压Vin检测值Vf和电压误差放大器A的输出信号Ve共同加到乘法器M的输入端;乘法器的输出Iref则作为电流反馈控制的基准信号,与输入电流采样值If比较后,经过电流误差放大器加到PWM控制芯片及驱动器,用来控制主MOS管的通断。校正后的电流电压波形如下图所示:
康佳L42TS86DC PFC没工作。求助
看一下FAN7930 的第8脚供电有没有到位,没有查它的供电,正常的可能要换芯片
淋巴细胞分泌的细胞因子都是蛋白质吗,Ts细胞分泌的细胞因子具有专一性...
不都是的,比如单核-巨噬细胞移动抑制因子(MIF),它由活化的T淋巴细胞或B淋巴细胞产生,是一种糖蛋白。
人Ts细胞表型为CD3+CD4-CD8+CD28-。Ts细胞不仅对B细胞合成和分泌抗体有抑制作用,而且对Th辅助作用、迟发型超敏反应以及Tc介导的细胞毒作用都有负调节作用。Ts细胞还可分为Ts1、Ts2和Ts3不同亚群,分别起着诱导抑制、转导抑制和发挥抑制效应的作用。它们之间相互作用的确切机理还不十分清楚,可能是通过释放可溶性介质相互作用的。Ts1(Tsi,抗原特异性抑制性T细胞)分泌TsF1(TsiF,抑制诱导因子)→作用于Ts2(Tst,抑制转导细胞),分泌TsF2(Tst F)→作用于Ts3(Tse,抑制效应细胞),分泌Ts3F(TseF),作用于Th细胞,通过对Th的抑制作用,从而对各种免疫功能起负调节作用。Ts细胞群具有高度异质性,除Ts1、Ts2、Ts3亚群外,还有一群反抑制性T细胞亚群(contra-suppressor T cel,Tcsl)。Tcs活化后分泌反抑制性T细胞因子TcsF,直接作用于Th细胞,解除Ts细胞的抑制作用,使Th细胞恢复辅助活性。