遥控直升机模型问与答——入门篇

 

 

问: 不知道什么直升机适合我入门学习?

答:入门学习的最好选择是共轴双桨结构的直升机,这种结构的自稳定性是最好的,飞行速度缓慢,堪称是直升机中的教练机!如Lama-2。也可以选购传统的主旋翼+尾旋翼结构的小级别机型,飞行速度较快,飞行空域更广,但是尽量选购自稳定性能较好的产品!如Cupid-II

 

问: 模型直升机能飞多高,多远?

答:由于高度越高,空气密度就越低,所以直升机的飞行高度一般比固定翼飞机要低很多,即使是这样也已经远远大于我们的目视控制距离和遥控距离,所以可以这样来讲飞机的飞行高度与飞行距离是由遥控设备的安全遥控距离和目视距离所决定的。体形特别较小的飞机一般的飞行高度也可达到20米以上(大约5-6层楼)

 

问: 模型直升机能在空中飞多久?

答:飞行的时间(留空时间)多少主要是由动力系统决定的。如电动直升机使用的电动机功率大小和携带的电池的电压与容量,油动直升机使用的发动机排气量和携带的燃料容积。一般无论是电动还是油动一次充电或加油后的留空时间在10-20分钟左右。一是能源重量的限制,其二也是考虑到避免操控者长时间精神高度集中的过渡疲劳而造成操控失误。

 

问: 为何直升机那么难飞,没有想象的那么好飞?

答:主要是由于2大原因造成的:1.直升机的自稳定性是不能与固定翼飞机相比的。除了共轴双桨结构的直升机之外,还没有任何一款直升机可以做到不控制状态下较长时间稳定的漂浮在空中(一般在10-20秒之内就会失去平衡而坠地),所以必须时刻保持精神高度集中的控制!2.由于初学者在一开始还未在大脑中形成对控制方向的一种条件反射,所以往往在飞机处于某种飞行姿态下,通过发射机给与飞机错误的动作指令,甚至是大脑一片空白,而飞机却不能给与操控者足够的时间去更正,而造成坠地!只要不断的正确练习后就可以操控自如了!在初期也可以借助电脑模拟器来完成练习。

 

问: 为什么直升机起飞时会向左或其他地方偏移,而不是笔直的起飞?

答:由于陀螺效应与主桨下洗气流的影响,所以一般直升机在起飞时向左倾斜是正常的!需要略微的向右打些副翼控制杆(右手水平控制杆),而不能通过副翼微调修正,等观察稳定悬停后机体的左右侧移的情况再调整副翼微调。如果向其他的方向偏移可以在地面上时通过微调进行修正。

 

问: 什么是悬停,为什么要练习悬停?

答:悬停是直升机所特有的一种飞行方式也是直升机飞行的魅力所在!顾名思义就是直升机几乎静止的停留在空中的某一处高度,从而可以完成普通固定翼飞机无法完成的任务!对于刚入门的朋友必定要从悬停飞行的练习开始,因为直升机的起飞、降落,以及其它的一些飞行动作的开始和结束都需要首先进入悬停飞行状态。所以悬停就成为了直升机飞行的基础练习科目!

 

问: 什么是普通十字盘控制模式?什么是CCPM十字盘控制模式?他们有什么区别?

答:在普通模式十字盘控制方式下,副翼的动作仅仅由副翼舵机完成,升降的动作仅仅由升降舵机完成,桨距的变化也仅仅由桨距舵机完成,3个舵机各司其职。CCPM模式十字盘控制方式下,十字盘每一个动作都由3个舵机同时动作完成的。比如桨距的变化3个舵机同时推拉十字盘上下运动,副翼的动作同时由副翼和桨距舵机同时11拉完成,升降的动作由升降舵机和副翼及桨距舵机完成的11拉完成。

 

从上面的区别来看,比较两者的区别普通模式对单个舵机的力矩要求比较高,因为单一动作只有1个舵机出力,而CCPM任何单一动作至少有2个舵机出力,所以对舵机的力矩要求较低。但是,CCPM对舵机性能一致性的要求较高,舵机的行程与速度应尽可能的一样,否则会造成动作变形,比如桨距变化时3个舵机同上同下,如果行程不一样,就会造成不同桨距下十字盘不平,出现倾斜。如果速度不一样,同样会造成桨距变化中十字盘不平!

 

从飞行性能上来讲2者之间对于初学者感觉不出什么区别,对于电动直升机的设备轻量化要求CCPM具有更多的重量以及动作力量上的优势,所以如果3D飞行CCPM将体现出明显的优势!而普通的飞行CCPM同样表现更稳定。

 

问: 什么是桨距?

答:桨距指的是直升机的旋翼或固定翼的螺旋桨旋转一周360度,向上或向前行走的距离(理论上的)。就好比一个螺丝钉,您拧一圈后,能够拧入的长度。桨距越大前进的距离就越大,反之越小!然而要测量实际桨距的大小是比较困难的,所以一般固定翼飞机使用桨距不变的螺旋桨上都会标明其直径和桨距的大小(单位以英寸居多),以便于和合适的发动机配套使用。绝大多数的固定桨距的直升机桨一般是专为某一级别的飞机定制的,所以只标明直径。可变桨距直升机可以非常容易的通过测量桨叶的攻角(迎风角度)大小来体现桨距的大小,和变化幅度。

 

问: 什么是变距直升机?

答:变距指的是桨距可以随油门一同变化的直升机。和固定桨距的直升机相比有众多的优点!简单的来讲,具有更高的动力效率,更高的主桨转速,更平稳不畏惧气流(可在较大风甚至5级以上风的气候中平稳飞行),更敏捷的反映,如果使用3D主桨(双凸对称翼型主桨)则可获得3D飞行能力(横滚,失速倒转,倒飞等动作比如Align Trex和黑鹰3D直升机)

 

但是相对于固定桨距的直升机,同时具有变距机构复杂,调试维护难度高,遥控设备要求高,动力系统要求高,体形较大,破坏力大等缺点。所以对于入门来说,性能优越的小型固定桨距直升机,如Lama-2或者Cupid-II更适合!

 

问: 螺旋桨使用之前为什么要作动/静平衡?

答:静平衡主要指2支的重量要一致,动平衡主要指2支的重心要一致!举个例子,大家都知道子弹的威力,其实子弹的重量只有20g左右,它的威力来自于大于700m/s的高速度,高速赋予了他极大的动能!高速旋转的螺旋桨的最外缘的线速度可以达到60m/s(200km/h)以上!具有的高动能不可忽视。在如此的速度下,不同的重量产生的动能差也极大,造成巨大的震动!如果重量相同,而重心不同,同样会出现在同一个半径上(同心圆)的动能也会有差异。所以必须保证螺旋桨的动静平衡!

 

问: 什么是双桨?

答:双桨是指2只或多只桨叶在旋转时,一高一低不在同一个旋转平面上!桨尖就好像张开的剪刀口。双桨是由于2只或多只桨的桨距不同造成(升力不同,这是在完成了对2支桨动/静平衡工作后)。只要在所有的桨叶尖部做上不同的标记并以其中一个作为基准,然后观察旋转时其它桨位于基准桨的上部还是下部,即可对其它桨的桨距(攻角)进行细微调整再次观察,如观察不到一高一低2个旋转平面即已消除双桨。双桨会引起强烈的震动,是必须被消除掉的!

 

问: 如何安装副翼(稳定翼)

答:2个副翼的安装应该是完全没有角度的也就是0度!

 

问: 不知道陀螺仪是什么,起什么作用,为何比较贵?什么是锁尾()陀螺仪?如何判断锁尾还是非锁尾陀螺仪?

答:陀螺仪是用来平衡直升机的方向的,就好像固定翼的方向舵一样。它能够自动的控制直升机,在发射机没有给出方向指令时,保持原来的方向!因为它是一个带有高灵敏传感器和高度自动化的微型设备,所以它的价格相对较高一些。

 

现在的中端陀螺仪都带有锁尾,他的工作方式不同于普通陀螺仪,简单一点讲,他不但对瞬间的大幅度的偏转具有修正力,而且对于持续的缓慢的小幅度的偏转同样具有强大的修正力,比如不断的侧风影响,普通的陀螺仪就不具有持续的修正能力,机尾会慢慢转向下风区,出现机头转向风吹来的方向,就出现了所谓的风标效应!锁尾陀螺仪就可以持续给尾舵机修正信号始终保持抵抗风力!另外锁尾功能在直升机的3D飞行中是必不可少的!

 

锁尾还是非锁尾可以通过尾舵机的反映判断,如果左右打满舵然后迅速回中,如果此时尾舵机立即跟着回中则表示陀螺仪工作在非锁尾状态(有些陀螺仪可以在锁尾与非锁尾之间随意切换)或者是普通陀螺仪,如果不回中或者略微回一点表示工作在锁尾状态。回TOP

 

 

 

 

 

问: 什么是追尾?为什么会追尾?如何把尾巴锁的更好?

答:追尾的表象是机尾快速的向左右来回摇摆!关于追尾的问题,主要的原因是由于感度过高造成的。但是我们要注意的是感度不仅仅指陀螺仪本体感度。以下的因素在不调整陀螺仪本体感度时,同样影响着最终的感度。一、感度与尾舵机摇臂的长短有关,摇臂越长相当于提高了感度,反之则降低了感度,同时摇臂越长要求尾舵机的速度越快,要最好的效果就需要速度与长度相匹配;二、尾桨的转速,尾桨的转速越高相当于提高了感度,反之则降低了感度!所以一般3D模式的陀螺仪本体感度设定比普通模式要低5%-10%,以防止追尾!三、尾舵机的反映速度(不是指转速),反映速度越快则可将陀螺仪本体感度相应提高,反之降低。四、不顺畅的联动机构也会造成追尾!

 

要尾巴锁的好避免各种各样的问题必须密切关注以下几点:

1.陀螺仪的安装是否稳妥,有无松动?安装是否垂直?

2.陀螺仪是否被安装在电动机或者调速器周边很接近的地方?

3.陀螺仪是否被安装在震动非常大的飞机部位?

排除任何不正常的震动,尽可能的把陀螺仪安装在靠近主轴的位置,这样才可能将陀螺仪本体的感度调到最高!这是相当重要的!

4.调速器输出的接收电源中是否存在杂波?

直接使用电池试一下!这类的问题一般出现在电动直升机或者使用某些独立BEC供电的情况下!

5.尾部的机械部位运动是否顺畅?

从尾舵机的连杆开始逐步检查每一个和尾桨变距有关的连接与滑动件,必须保证尾舵机的连杆推拉完全的轻松舒畅,合理的限定尾桨的最大桨距变化范围!

6.尾舵机工作是否正常?

选择一颗反映速度够快的尾舵机也是最直接的方式之一,但是要发挥出舵机的最大效能摇臂安装孔位的选择就很关键,原则是孔位的行程足够——已经限定的尾桨最大桨距变化范围即可!这样才可能将陀螺仪本体的感度调到最高!

 

问: 什么是自旋?为什么会出现自旋?

答:自旋就是机体以主桨轴为圆心360度旋转!如果出现自旋,那么有两个可能。一、高速向左或右旋转,打方向舵无作用,则是陀螺仪反向,可切换陀螺仪本体上的反向开关。如没有反向开关,可通过反向安装固定陀螺仪来实现;二,机头向左(主桨顺时针旋转机型)较缓的自旋,如Align Trex和黑鹰3D直升机,满打右舵,有改善,但不能完全克服,则是主桨悬停桨距设定太高。

 

问: 为什么电动飞机上没有电源开关?

答:电动飞机一般都不设置电源开关的原因是开关的导通电阻较大(是普通导线的几十倍)对于大电流放电的模型来讲会产生高温和巨大的电压降以及电源损耗!同时电源开关在大电流工作时的可靠性也成问题(很可能烧毁)!所以,就取消了电源开关。那么有些电动模型有电源开关呢?这是因为开关不是直接串联在动力电源和设备之间的,而是由电子调速器提供的一个额外的功能。所以开关的功能只是保证在关闭时不向设备供电,但是调速器本身还是与电源直接接通的,并且一直在工作并没有断电,最后还是需要移除电源。

 

问: 什么是电子调速器?

答:电动直升机的动力是由各种电动机提供的,动力的输出大小是由电动机的转速来确定的,而电动机的转速就是由电子调速器控制的。控制步骤如下:发射机油门的高低位置通过无线电信号被飞机上的接收机所接收解码后,传输到接在接收机油门通道插座上的电子调速器3芯信号输入端,调速器根据信号判断将调速器另一端所接的动力电源分配出多少电能给与电动机,以起到调整电动机速度的功能。我们可以把调速器简单的看作一个可调电阻(事实上要复杂的多)

 

问: 什么是有刷电动机,什么是无刷电动机,他们有什么区别?

答:电动机有有刷和无刷之分。有刷电动机的2个刷(铜刷或者碳刷)是通过绝缘座固定在电动机后盖上直接将电源的正负极引入到转子的换相器上,而换相器连通了转子上的线圈,3个线圈极性不断的交替变换与外壳上固定的2块磁铁形成作用力而转动起来。由于换相器与转子固定在一起,而刷与外壳(定子)固定在一起,电动机转动时刷与换相器不断的发生摩擦产生大量的阻力与热量。所以有刷电机的效率低下损耗非常大。但是,他同样具有,制造简单,成本及其低廉的优点,被普遍的应用在如Lama-2Cupid-II上,发挥着良好的表现!

 

无刷电机顾名思义就是没有任何刷!他的空载阻力主要来自转子与定子的旋转接触点,所以一般的无刷电机在转子两端都使用了滚珠轴承来减小摩擦!这样就不会有大量的摩擦阻力与热量(其实还是会发热,只是热源来自于线圈上的电阻损耗),具有极高(80%-90%以上)的效率与高转速!一般应用在需要大功率输出的模型上,提供卓越的强劲动力如Align Trex和黑鹰3D直升机!

 

虽然有人称其为“直流无刷电动机”,但事实上模型上使用的无刷电机就是3相交流电动机!那为什么我们可以用普通的直流电源来驱动他呢?奥秘就在于我们使用的无刷电子调速器,他与普通的有刷电子调速器有很大不同!

 

问: 什么是无刷电子调速器?

答:无刷电子调速器与有刷电子调速器的根本区别在于无刷电子调速器将输入的直流电源,转变为三相交流电源,为无刷电动机提供电源。

 

问: 什么是无刷电动机的KV值?

答:KV是一个转速单位等同于RPM/V,就是每1V电压获得的每一分钟的空载转速。举例一个无刷电动机的转速是2500KV,那么给他输入10V电压时他可以达到每分钟2500×10=25000转。

 

问: 什么是内转子无刷电动机?什么是外转子无刷电动机?有什么区别?答:内转子就是转子(磁钢)在定子(线圈)的里面转动,这种无刷电机的结构与普通的有刷电机差不多;外转子正好相反转子(磁钢)在套在定子(线圈)的外面转动。他们的不同机械结构决定了不同的性能。

 

内转子转速高一般都高于2500KV以上,但是由于转子直径小所以扭矩小,通常使用在需要高转速,低扭矩的场合,可直接驱动小直径的螺旋桨或者通过合适的减速传动比获得更大的扭矩,如Align Trex和黑鹰3D直升机!与内转子相反外转子一般转速不高于2000KV,但是转子直径大扭矩就大,相当于内转子电动机通过一个减速传动比获得更大的扭矩,绝大多数情况下应用在固定翼飞机中直接驱动大直径的螺旋桨,如T-34特技教练机。

问: 什么是13028037054020302040电动机?

答:这些数字表示了电动机的规格,一般有刷电动机的规格如130280370540级的数字代表了电动机的长度,如130(长约13mm-15mm),一般长度约大功率越大,但是我们可以发现一些标称370级的有刷电机长度只有28mm-32mm,这种标称表示了这个280级电动级的功率相当于370级。

 

而无刷电机一般使用直径和长度同时标称,如2030级,就是说电动机的直径是20mm长度是30mm。当然,也有无刷电动机使用130280540标称的,但是这与电动机的尺寸是没有关系的,也不能等同于有刷电机的规格。

问: 什么是舵机?

答:任何遥控模型都离不开舵机。他是应用最多最重要的最终执行操控者指令的执行者。他一般是一个小()盒子,盒子两边有安装孔,有个输出转轴,可以安装一个圆形(十字或一字形)力臂,还有一条和电子调速器一样的3芯信号连接线,连接于接收机上相应的通道接口。当发射机的遥控杆被推动时,舵机的转轴连动力臂一起转动一定的角度,角度大小取决于遥控杆被推动的幅度。将电信号转化为机械力,驱动飞机的各个舵面。

 

问: 入们要选择什么样的遥控设备?

答:遥控设备对于模型来说是非常重要的,但是入门机型一般使用普通的通用型4通道全比例遥控就已经满足了!最好是直接购买已经配套齐全,并且调试完成,马上就可以进行飞行的RTF(Ready To Fly)版本100%成品机!而不必专门购买高级的遥控设备。

 

问: 什么是通道反向开关?

答:简称REV全称SERVO(司服器) REVERSING(反向),由于不同的遥控设备(舵机/调速器等)的接受信号存在不同的方向,我们可以简单的理解为不同的正负极性。如,某个舵机在本来推杆是向左转,但是换了一个舵机他却是向右转。为了解决这个问题,一般在发射机上为每个通道都提供了正反向开关,入门级遥控设备一般在面板的右或左下角,也可能是其他的地方设置了一组拨动开关与通道一一对应,上下拨动开关就可以改变相应通道的信号方向。在具有LCD屏幕的高端设备中一般会有专门的SERVO REVERSINGREV菜单,可在菜单中进行设定。

 

问: 什么是EPA

答:EPA全称End Point(终点) Adjustments(调整),用于调整通道的两端终点的最大行程,一般用于限制超出模型要求范围的舵机动作量!每个通道分为上下两个终点,可以独立调整终点的(舵机)行程!如,升降通道舵杆推到上顶端(假设上端UP EPA 100%),舵机向左旋转30度,重新设定UP EPA 50%那么推到上顶端舵机向左旋转只有15度,如果重新设定UP EPA 0%那么推到上顶端舵机根本不会转动!升降通道舵杆推到下底端的舵机动作量是由DOWN EPA的数值决定的。

 

问: 什么是D/R

答:D/R全称Dual(双向) Rates(舵量比率),同样用于调整通道的两端终点的最大行程,但不同于EPAD/R只有一个设定值,所以是同时作用于两端终点并且双向对称,D/R功能可以通过专用的D/R开关切换不同的参数值,一般用于切换大小舵量的控制,适应模型在不同飞行要求时对舵机动作量不同要求!如,升降通道舵杆推到上或下顶端(假设D/R 100%),舵机向左或右旋转30度,重新设定D/R 50%那么推到上或下顶端舵机向左或右旋转只有15度。

 

问: 什么是EXP

答:EXP全称Exponential(指数曲线)EXP也只有一个设定值,同时作用于两端并且双向对称,但是这个参数是不会改变(舵机)最大行程,它的作用是将原先的遥杆与舵量的直线关系转换为指数曲线的关系,改变遥杆在中点至上下1/2位置内与1/2到上下顶端的舵量敏感度。EXP功能一般合用D/R开关切换不同的参数值。

 

如,假设EXP 0%相当于关闭了曲线,此时上下推动遥杆,舵机同时会做出对应的(直线关系)动作,重新设定EXP 50%(-50%)那么再上下推动遥杆,可以发现在上下推杆到1/2位置以内时,舵机的动作量明显比0%小了很多,而推杆大于上下1/2位置时,舵机的动作量明显比0%大了很多,遥杆与舵量的直线关系已经转换为一条向下弯曲的指数曲线关系了。重新设定EXP -50%(50%)那么再上下推动遥杆,可以发现在上下推杆到1/2位置以内时,舵机的动作量明显比0%大了很多,而推杆大于上下1/2位置时,舵机的动作量明显比0%小了很多,遥杆与舵量的直线关系已经转换为一条向上弯曲的指数曲线关系了,但是最大舵量还是一样的!参数设定越高曲线变化越明显!

 

问: 如何使D/REXP发挥最佳的作用?

答:假设我们为升降舵设定了2D/R100%用于筋斗飞行,50%用于普通的练习飞行,看似好像解决了大小舵量的控制,但是忽略了最大舵量的确定同时改变了遥杆敏感度。如,D/R 100%时需要舵机旋转10度,只需要推杆1/3即可,但D/R 50%时需要舵机旋转10度,就需要推杆到2/3!如此大的差别,显然使飞行者难以适应,而且也不合理!

 

此时如果配合EXP的使用就可以很好的解决这个问题!我们为2D/R值分别对应设定2EXP值。如,D/R 100%配合EXP 60%(-60%)D/R 50%配合EXP 0%,如此需要舵机旋转10度,在2D/R模式下的推杆位置可能就差不多了。保持了2D/R模式在正常飞行小幅度(小于1/2)杆量修正时的遥杆敏感度的一致性而又不会影响到最大的舵量(筋斗飞行)!例子只是说明了D/REXP的配合效果,如果要达到最好的效果还是需要经过多次的飞行尝试后确定。

 

问: 什么是油门曲线?

答:Throttle(油门) Curves(曲线)目的是把直线变化的油门,变为曲线变化,以此提供不同的飞行模式。我们以最简单的3点曲线来说明,我们把发射机油门遥杆从下底端,中段,上顶端分为3个点,普通的发射机对应的油门量分别是0%50%100%,如果具有油门曲线的发射机,则可对这3个点单独进行设定。比如,我们将下底端的0%设定为100%。这时,油门摇杆的位置在中段时油门量为50%,向上向下推动油门遥杆都是不断的增加油门量直到100%油门。这时我们看到的是一个V字形变化的油门曲线了(这是3D模式的油门变化要求)5点曲线就是在3点之间插入2个点,以提供更接近曲线的平滑设定。当然还有一些高端的遥控器提供了7点甚至更多的设定点。那么多少合适呢,对于世界级的比赛其实5点或以上就已经足够了!

 

问: 什么是桨距曲线?

答:Pitch(桨距) Curves(曲线)目的是把直线变化的桨距,变为曲线变化,以此提供不同的飞行模式。我们以最简单的3点曲线来说明,我们把发射机油门遥杆(桨距的变化是依附于油门遥杆的)从下底端,中段,上顶端分为3个点,普通的发射机对应的桨距量分别是0%(-10)50%(0)100%(+10),如果具有桨距曲线的发射机,则可对这3个点单独进行设定。比如,我们将下底端的0%设定为50%,中段设为80%,从下底端推动油门遥杆到上顶端桨距量分别是50%(0)80%(+6)100%(+10)。这时我们看到的是一个只走了上半段行程的桨距曲线(这是普通模式的桨距变化要求)5点曲线就是在3点之间插入2个点,以提供更接近曲线的平滑设定。当然还有一些高端的遥控器提供了7点甚至更多的设定点。那么多少合适呢,对于世界级的比赛其实5点或以上就已经足够了!

 

问: 可变距直升机为什么要使用不同的飞行模式?

答:Flight(飞行) Modes(模式)是为了针对直升机的不同飞行性能与动作要求而产生的。飞行模式包含了2个关键的参数:油门曲线与桨距曲线。不同的飞行模式由不同的的油门曲线与桨距曲线组合而成的。一般中高端遥控器会提供3-4种飞行模式,每一种飞行模式都有独立的油门曲线与桨距曲线,通过专用的飞行模式开关进行切换。通常人为的定义为Normal(普通模式,悬停)Idle1(F3C模式,上空航线,筋斗与横滚)Idle2(F3D模式,3D,倒飞)Holding(油门锁定模式,熄火降落)。这个功能在具有直升机功能与LCD屏幕的遥控器中如HITEC OPTIC 6HITEC ECLIPSE 7都有提供!

 

问: 什么是上下跟轴混控功能?

答:这个功能一般是被用在直升机上的特有功能。直升机的机头方向偏转,在发射机没有给出转向指令时,完全是由陀螺仪自动输出的控制信号来控制的。控制的目的是抵销主桨产生的反扭力,始终保持机头方向不发生任何偏转。

 

由于早期的陀螺仪不支持锁头功能(自动补偿),在一种稳定转速与桨距的状态下设动好了陀螺仪,但是改变转速或桨距后,无法自动补偿出现的反扭距变化量,就会再次出现机体的偏转。这就需要上下跟轴混控功能(Revolution Mixing)。所以在一些中高端的遥控设备中提供了上下跟轴混控功能。

 

他的工作原理是,将油门通道与方向通道之间建立一种联合动作的机制(混控),这个联合机制是越过陀螺仪直接作用在方向通道上的。比如将油门在中间位置时作为中间基准点,最高位置作为高点并设定一个混控量,最低位置作为低点也设定一个混控量。当油门由中间基准点移动到高点陀螺仪等做出修正幅度时方向通道同时叠加一个动作在原修正动作之上,叠加动作量的大小由高点设定的混控量决定,反之亦然。这个相对较大的动作就可以弥补不同转速与桨距变化量!

 

另外一种情况就是近年出现的锁头陀螺仪,由于有些低端锁头陀螺仪的输出修正电信号幅度和速度是有限的,同时执行修正电信号指令的尾电机或者尾舵机同样受制于执行速度的快慢。在快速的动力(油门)变化过程中,有时尾电机或者尾舵机甚至于陀螺仪会出现瞬间修正幅度输出不够!具体表现在比如,稳定旋停中的直升机,快速大幅提升油门,飞机快速爬升的同时自动的伴随着机头向左机尾向右的偏转,或者快速大幅降低油门,飞机快速降低的同时自动的伴随着机头向右机尾向左的偏转。偏转幅度越大,说明瞬间修正幅度越少。

 

虽然可以通过使用高速的尾舵机,高级的陀螺仪或者一些机械设定措施来改善。但是前者增加过多成本,而后者改善是相当小的。此时应用上下跟轴混控适当的在最高位置和最低位置设定一个混控量。当油门由中间基准点移动到高点陀螺仪等做出修正幅度时方向通道同时叠加一个动作在原修正动作之上,叠加动作量的大小由高点设定的混控量决定,反之亦然。这个相对较大的动作就可以弥补瞬间修正幅度的不足!

 

这个功能在具有直升机功能与LCD屏幕的遥控器中如HITEC OPTIC 6HITEC ECLIPSE 7都有提供!

 

问: 什么是模拟器接口?什么是教练接口?什么是DSC接口?

答:模拟器接口是将发射机连接电脑飞行模拟器专用连接线在电脑中模拟真实飞行场景的接口。教练接口是把两台发射机(同一品牌)通过专用的教练连接线连接起来,实现一个教练员针对一个学员的教练学员实时带飞教学系统。

 

DSC全称Direct(直接) Serov(司服器) Control(控制),它的作用是通过专用的DSC连接线将发射机的控制信号不通过高频头,而直接通过DSC线传送的接收机的DSC接口。好处是减少调整过程中发射机的耗电量,也不会碰到其它同频率发射机在工作的干扰!DSC一般在一些高端的遥控设备中才有。事实上遥控器只要有模拟器接口就可以支持DSC功能,但是这个功能需要接收机的支持。具有DSC接口的接收机才具有此功能。

 

以上的功能一般全部通过发射机背面的一个接口提供!

 

问: 如何为动力电池充电?

答:一般普遍使用的动力电池类型有镍镉,镍氢电池,近期锂聚合物也已经普及起来了。镍镉电池具有大电流放电的能力,高功率型可以达到15C以上的放电能力!但是具有记忆效应,必须完全放电后才可以进行充电,而且重量较大!普遍使用在车辆、舰船模型中。镍氢电池同样具有大电流放电的能力,高功率型可以达到10C以上的放电能力!而且没有明显的记忆效应,可随时进行充电,重量较镍镉电池轻!被普遍的使用在飞机模型中或者车船模型中。这两类电池的冲电比较方便,可以使用普通的电源适配器即可,充电时间的大致计算方法为(电池容量/适配器电流=小时数),电池的温度可以表示充电量,电池冲饱时一般温度会达到40摄氏度左右。当然使用自动充电器效果更好。

 

近期由于锂聚合物电池的放电能力获得了极大的提高,高功率型可以达到12C以上的放电能力!没有记忆效应,重量极其轻盈!价格也已经可以被接受,被普遍的使用在直升机模型中。但是必须使用锂电池专用充电器!否则电池立即损坏,甚至燃烧爆炸

 

  上礼拜六,平安保险的在世博园举行游园活动。小弹簧拿到了票,我们就一同前往参加,呵呵。

  好久没有游园了,想起上次游园起码也是十年前的事了。真希望什么时候我们公司自己也搞个类似的活动,肯定非常有意思!

  多的不说了,上片!

 img_0002_a.jpg

世博园的标志--花钟

 img_0014_a.jpg

这叫什么花呢?嘿嘿…

 img_0017_a.jpg

采花的蝴蝶

 img_0025_a.jpg

还有热气球来助兴

 img_0032_a.jpg

这两个老人上去坐了3分钟(我看表算的),花费¥200.00

 img_0035_a.jpg

游园活动之一

 img_0045_a.jpg

小弹簧在打地鼠,呵呵

 img_0047_a.jpg

 表演会场,下面将会有节目表演。但我们玩了一天,又累又饿,就闪人了…

 猜猜哪几张照片是小弹簧照的?

  Part 1
  有一天,包子和面条大打出手,但是包子因为太肉脚,被面条打的落花流水。
  于是在离去时,对面条撂下一句:"好胆别走,我去叫伙伴来教训你。"
  包子就去约了煎包、馒头等,准备去找面条理论理论。
  就在路上遇到了泡面,包子等人于是围住了泡面一阵毒打。
  泡面被青红皂白打了一顿后,问包子为何打他?
  包子回答:"别以为你烫了头发就认不出你了!"
  
  Part 2
  话说泡面被海扁完以后,觉得很不爽,于是伙同米粉、乌龙面、日本荞面和炸酱面要去找包子算帐。
  不料在路上遇到了小笼包,泡面指细看了一会儿,说道:"兄弟们,上!"
  泡面扁的更是用力。在扁完小笼包后,面族人扬长而去。
  后来其他人问泡面说:"你刚刚扁的好卖力,我们都不知道你那么讨厌他耶。"
  泡面说:"本来想稍微K一下就好,没想到他还装可爱,还穿童装……越想就越气~"
  
  Part 3
  话说泡面海扁完小笼包后,真是越想越气。由于想来个续摊,再次伙同众面们再去找小笼包。
  没想倒在路上遇到了割包,哗!泡面狂怒一声,带头狂扁呀,打得众面们都有点觉得惨忍了。
  众面把泡面拉开来,问它说:"你怎么这么生气呀?"
  泡面说:"太过份了,装可爱就够了,还给我头发中分……"
  
  Part 4
  小笼包知道自己为何被扁之后,觉得很受委屈,于是把情形告诉菜包、豆沙包、水煎包、酸菜包……
  "你待在这边,我们去找那个烫头发的……"
  他们很生气的去找泡面算帐。途中,遇到了米粉,于是狠狠的把米粉修理了一顿……
  离去的时候说:"老兄,自己头发烫坏了,就该乖乖待在家里,不要看人家可爱,就心理不平衡……!"
  
  Part 5
  话说包子上次被面条海扁一顿后,心情又够郁卒,因此找了小龙包、菜包、水煎包、汤包等包一起去吃火锅去去霉气。
  一进门看到了金针菇,包族不分青红皂白把金针菇打了一顿。
  留下一句话说:"不要以为你戴了帽子我就认不出你来!"
  
  Part 6
  然后,金针姑也要报仇,她找来了蘑菇,香菇和大头菜!
  在路上碰到了肉丸子,不说二话就把那家伙暴打一顿。
  肉丸子不服,问为什么打他?
  只听金针姑说:"小样的,别以为你裸奔我就认不出你来了!"
  
  Part 7
  话说面条一族和包子一族,两族族人积怨已深。
  两方人马常常看不顺眼就互殴一场。
  一天,面族一群人在路上闲晃,看到叉烧包一人落单。
  仇人相见分外眼红,想起之前泡面等人的恩怨,二话不说,就把叉烧包恶狠狠的痛打一顿。
  面条边打边嚷:"给我用力打,不要因为他吐血了,就放过他!"
  
  Part 8
  可怜的叉烧包头破血流的带著满身伤去找包子求救。
  包子一怒之下,伙同红豆饼绿豆糕前去火拼。
  战情一触即发,路人纷纷走避。
  只见薯条一人悠闲的在压马路,一票人二话不说,批哩啪啦拳打脚踢的将薯条狠狠揍了一顿。
  包子怒气未熄,又补了两脚,说道:"打了人还敢穿的金光闪闪的逛街!欠扁!给我继续打。"
  
  Part 9
  话说薯条被打了之后觉得实在太没道理了,就去找他的好朋友香蕉条诉苦。
  香蕉条一听,觉得是面族拖累了薯条,于是就找了刀削面、拉面和空心粉去找包子族定场子。
  没想到在路上就遇到了肉丸,这些面族不分清红皂白就把肉丸给打到地上爬不起来。
  走的时候香蕉条撂下一句话:"下次隐身术没练好不要出来被我看到,半透明的包子,一下子就被发现啦!"
  
  Part 10
  话说面条和包子持续不断的街头战争,已经造成不少无辜的路人遭殃,甚至成为战争的一份子。
  这一天,面条和包子两大族群又在街头打了起来。
  只见一个无辜的路人同时遭到双方人马围殴,引起不少围观群众的同情。
  路人甲:"怎么回事啊?为什么两边联手打一个路人呢?"
  路人乙:"听说是因为那个人立场不明确的关系。"
  路人甲:"有这么严重吗?"
  路人乙:"没办法,谁叫他是"面" "包"呢。"

  9月8日中国税务杂志社和国家税务总局计划统计司在京联合推出了“2006年度中国纳税百强”排行榜。大庆油田有限责任公司以410.52亿元的纳税额继续蝉联榜首,中国银行股份有限公司位居第二。

  中国工商银行股份有限公司,中国石化有限公司胜利油田分公司,国家开发银行,上海烟草(集团)公司,中国石油天然气股份有限公司,红云烟草(集团)有限责任公司,红塔烟草(集团)有限责任公司和中海石油(中国)有限公司分列三到十位。

  2006年度中国纳税百强排行榜除继续保持中国纳税五百强排行榜(总排名)、外商及港澳台商投资企业纳税百强排行榜、上市公司纳税百强排行榜、私营企业纳税百强排行榜、企业所得税纳税百强排行榜、代扣代缴个人所得税企业百强排行榜以及行业纳税百强排行榜外,2006年度中国纳税百强首次对企业集团的纳税数据进行汇总统计,推出了“中国企业集团纳税名单(自报)”。同时,行业纳税百强排行榜也由原来35行业扩展为40行业。

2006年度中国纳税五百强排行榜(总排名)

名次 地区 企业名称 纳税(万元)
1 黑龙江 大庆油田有限责任公司 4105191
2 北京 中国银行股份有限公司 2285548
3 北京 中国工商银行股份有限公司 2020340
4 山东 中国石油化工股份有限公司胜利油田分公司 1779714
5 北京 国家开发银行 1624057
6 上海 上海烟草(集团)公司 1451246
7 北京 中国石油天然气股份有限公司 1441132
8 云南 红云烟草(集团)有限责任公司 1245293
9 云南 红塔烟草(集团)有限责任公司 1155830
10 天津 中海石油(中国)有限公司 1122857
11 北京 中华人民共和国铁道部 966752
12 湖南 常德卷烟厂 966138
13 上海 宝山钢铁股份有限公司 953591
14 北京 中国建设银行股份有限公司 917678
15 新疆 中国石油天然气股份有限公司新疆油田分公司 846289
16 湖北 武汉烟草集团有限公司 755114
17 湖南 长沙卷烟厂 738192
18 浙江 杭州卷烟厂 698743
19 陕西 中国石油天然气股份有限公司长庆油田分公司(陕西) 688867
20 广东 广东电网公司 668105
21 北京 中国农业银行 638091
22 贵州 贵州黄果树烟草集团公司 632689
23 辽宁 中国石油天然气股份有限公司辽河油田分公司 559352
24 江苏 江苏中烟工业公司南京卷烟厂 518910
25 广东 广东中烟工业公司广州卷烟厂 515320
26 上海 上海通用汽车有限公司 505878
27 江苏 江苏中烟工业公司徐州卷烟厂 483912
28 广东 广州本田汽车有限公司 479994
29 湖北 武汉钢铁股份有限公司 449224
30 云南 红河卷烟总厂 447315
31 吉林 一汽-大众汽车有限公司 441996
32 辽宁 鞍钢股份有限公司 440310
33 宁波 宁波卷烟厂 423298
34 吉林 中国石油天然气股份有限公司吉林油田分公司 408737
35 北京 诺基亚(中国)投资有限公司 404941
36 广东 中国动通信集团广东有限公司 403651
37 新疆 中国石油天然气股份有限公司塔里木油田分公司 402430
38 河北 中国石油天然气股份有限公司华北油田分公司 391541
39 上海 上海大众汽车有限公司 359644
40 深圳 招商银行股份有限公司 345251
41 北京 中国石油化工股份有限公司 341327
42 福建 龙岩卷烟厂 340046
43 天津 天津一汽丰田汽车有限公司 339681
44 上海 上海市电力公司 328947
45 四川 四川烟草工业有限责任公司(成都) 317013
46 山东 兖州煤业股份有限公司 312275
47 广东 广州宝洁有限公司 283934
48 广西 广西卷烟总厂 280370
49 青岛 山东中烟工业公司青岛卷烟厂 273170
50 宁波 中国石化镇海炼油化工股份有限公司 271260
51 天津 中国石油天然气股份有限公司大港油田分公司(天津) 269241
52 山东 中国动通信集团山东有限公司 264959
53 北京 中国网通(集团)有限公司 264952
54 河南 河南新郑烟草集团公司 261304
55 湖北 中国长江电力股份有限公司 260553
56 安徽 马鞍山钢铁股份有限公司 255447
57 江苏 中国动通信集团江苏有限公司 254136
58 浙江 中国动通信集团浙江有限公司 251769
59 江西 南昌卷烟总厂 247835
60 江苏 江苏中烟工业公司淮阴卷烟厂 240293
61 山西 大秦铁路股份有限公司 238515
62 广东 广东中烟工业公司梅州卷烟厂 236677
63 山东 山东中烟工业公司济南卷烟厂 234577
64 上海 中国动通信集团上海有限公司 231585
65 厦门 厦门卷烟厂 231197
66 北京 北京现代汽车有限公司 229224
67 北京 中国动通信集团北京有限公司 228735
68 陕西 陕西延长石油(集团)有限责任公司 226624
69 广东 安利(中国)日用品有限公司 217942
70 北京 中国联通有限公司 216123
71 新疆 中国石油化工股份有限公司西北分公司 214731
72 安徽 安徽中烟工业公司蚌埠卷烟厂 211964
73 甘肃 金川集团有限公司 211776
74 广东 中国石油化工股份有限公司茂名分公司 208604
75 河北 唐山钢铁股份有限公司 206432
76 山西 太原钢铁(集团)有限公司 205192
77 天津 中海石油(中国)有限公司天津分公司 204946
78 广东 中海石油(中国)有限公司深圳分公司 202679
79 北京 中国石化销售有限公司 201390
80 云南 红塔烟草(集团)有限责任公司楚雄卷烟厂 196172
81 陕西 延长油田股份有限公司 192678
82 山西 山西焦煤集团有限责任公司 190934
83 辽宁 本溪钢铁(集团)有限责任公司 189293
84 河南 许昌卷烟总厂 185787
85 河北 邯郸钢铁股份有限公司 181651
86 安徽 安徽中烟工业公司芜湖卷烟厂 167008
87 山西 中国铝业股份有限公司山西分公司 165000
88 山西 山西省电力公司 164949
89 云南 红河卷烟总厂昭通卷烟厂 159307
90 山东 中国石化齐鲁股份有限公司 158414
91 山西 大同煤矿集团有限责任公司 158289
92 天津 摩托罗拉(中国)电子有限公司 157810
93 新疆 中国石油天然气股份有限公司吐哈油田分公司 156217
94 山东 中海沥青股份有限公司 156184
95 湖北 中国长江三峡工程开发总公司 156029
96 河南 中国动通信集团河南有限公司 155450
97 北京 华北电网有限公司北京电力公司 154660
98 江苏 扬子石油化工股份有限公司 154523
99 青海 中国石油天然气股份有限公司青海油田分公司 153335
100 北京 朔黄铁路发展有限公司 149749
101 北京 中央汇金投资有限公司 149683
102 陕西 金堆城钼业公司 148112
103 河北 张家口卷烟厂有限公司 147003
104 北京 华北电网有限公司 146837
105 大连 中国石油天然气股份有限公司大连石化分公司 145681
106 陕西 中国神华能源股份有限公司神东煤炭分公司 145643
107 湖北 神龙汽车有限公司 145557
108 北京 中国远洋运输(集团)总公司 142358
109 山东 中国石化集团胜利石油管理局 142010
110 河南 中国铝业股份有限公司河南分公司 141807
111 广东 广东发展银行股份有限公司 141540
112 安徽 安徽中烟工业公司合肥卷烟厂 139614
113 山东 济南钢铁股份有限公司 138414
114 河北 中国动通信集团河北有限公司 137834
115 重庆 长安福特马自达汽车有限公司 135031
116 浙江 中国烟草总公司浙江省公司 134633
117 上海 中国石化上海石油化工股份有限公司 134396
118 广东 广州丰田汽车有限公司 133185
119 深圳 中国动通信集团广东有限公司深圳公司 132963
120 吉林 延吉卷烟厂 132791
121 广东 广东中烟工业公司韶关卷烟厂 132616
122 四川 四川什邡卷烟厂 132519
123 贵州 贵州茅台酒销售有限公司 132408
124 陕西 宝鸡卷烟厂 131710
125 山东 中国石油化工股份有限公司齐鲁分公司 130497
126 云南 玉溪红塔烟草(集团)有限责任公司大理卷烟厂 130134
127 山东 莱芜钢铁股份有限公司 127761
128 内蒙古 包钢(集团)公司计划财务部 126988
129 北京 中国石油化工股份有限公司北京燕山分公司 124944
130 上海 中国石化销售有限公司华东分公司 124870
131 河南 河南新郑烟草集团安阳卷烟厂 124470
132 北京 中国电信股份有限公司 123891
133 河北 中国石油天然气股份有限公司冀东油田分公司 123578
134 四川 四川省电力公司 123499
135 浙江 浙江省电力公司 123108
136 江西 江西铜业股份有限公司 122023
137 河南 安阳钢铁股份有限公司 120350
138 甘肃 中国石油天然气股份有限公司兰州石化分公司 118968
139 北京 中国农业发展银行 118823
140 上海 中国石油化工股份有限公司上海高桥分公司 117745
141 甘肃 兰州卷烟厂 117685
142 黑龙江 大庆石油管理局 117148
143 大连 大连西太平洋石油化工有限公司 116265
144 河南 中国铝业股份有限公司中州分公司 116197
145 湖南 中国石化集团巴陵石油化工有限责任公司 114946
146 湖南 湖南省电力公司 114614
147 河南 平煤集团天安股份有限公司 114454
148 广西 柳州钢铁股份有限公司 114321
149 贵州 贵州电网公司 114142
150 山东 山东中烟工业公司青州卷烟厂 113124
151 河南 中原油田分公司 113017
152 河北 石家庄卷烟厂 112494
153 上海 上海浦东发展银行股份有限公司 112229
154 广东 中国石油化工股份有限公司广州分公司 111892
155 湖北 武汉钢铁(集团)公司 111639
156 吉林 吉林化学工业股份有限公司 111302
157 辽宁 中国石油天然气股份有限公司抚顺石化分公司 109203
158 深圳 华为技术有限公司 107346
159 安徽 中国动通信集团安徽有限公司 107289
160 四川 四川省宜宾五粮液酒厂有限公司 107136
161 甘肃 中国石油天然气股份有限公司长庆油田分公司(甘肃) 105763
162 江苏 中国石油化工股份有限公司金陵分公司 105753
163 河南 河南新郑烟草集团新郑卷烟厂 105464
164 湖北 风神襄樊汽车有限公司 105151
165 山西 中国动通信集团山西有限公司 104691
166 山东 山东铝业股份有限公司 104578
167 北京 国家电网公司 103396
168 河南 洛阳栾川钼业集团有限责任公司 102248
169 四川 四川省宜宾五粮液供销有限公司 102113
170 辽宁 鞍钢鞍山矿业公司 101749
171 湖北 东风本田汽车有限公司 101575
172 上海 中国电信集团上海市电信有限公司 100656
173 山东 魏桥纺织股份有限公司 100588
174 河北 唐山国丰钢铁有限公司 99875
175 北京 北京卷烟厂 99797
176 四川 攀枝花新钢钒股份有限公司 99540
177 广东 雪佛龙德士古中国能源公司 99478
178 深圳 深圳卷烟厂 98889
179 山东 华能国际电力股份有限公司德州电厂 98712
180 辽宁 红塔辽宁烟草有限责任公司营口卷烟厂 97973
181 辽宁 本钢板材股份有限公司 97818
182 山西 山西潞安环保能源开发股份有限公司 97393
183 辽宁 华晨宝马汽车有限公司 97368
184 广东 广东国华粤电台山发电有限公司 97192
185 河南 郑州卷烟总厂 97010
186 北京 国家发展和改革委员会国家物资储备局 96934
187 山东 山东电力集团公司 96364
188 辽宁 中国石油天然气股份公司锦西石化分公司 96281
189 辽宁 沈阳华晨金杯汽车有限公司 96059
190 山西 阳泉煤业(集团)有限责任公司 95760
191 辽宁 锦州石化股份有限公司 94660
192 内蒙古 内蒙古昆明卷烟有限责任公司 94189
193 贵州 中国铝业股份有限公司贵州分公司 93489
194 河南 中国石油化工股份有限公司河南油田分公司 93175
195 湖南 湖南华菱涟源钢铁有限公司 93077
196 天津 天津钢管集团有限公司 92754
197 内蒙古 中国神华能源股份有限公司煤炭销售中心东胜结算部 92662
198 宁波 中海石油宁波大榭石化有限公司 92176
199 天津 中海油气开发利用公司 91960
200 广东 江门市大长江集团有限公司 91220
201 四川 中国动通信集团四川有限公司 91093
202 深圳 深圳发展银行 89937
203 江苏 中海沥青(泰州)有限责任公司 89524
204 北京 北京首钢股份有限公司 89395
205 北京 中国印钞造币总公司 89081
206 天津 中国石油化工股份有限公司天津分公司 88664
207 北京 中国铝业股份有限公司 88535
208 浙江 浙江嘉华发电有限责任公司 87823
209 贵州 贵州茅台酒股份有限公司 87713
210 深圳 岭澳核电有限公司 87086
211 江苏 中国石油化工股份有限公司江苏油田分公司 85664
212 浙江 秦山第三核电有限公司 85616
213 河南 舞阳钢铁有限责任公司 85505
214 江苏 扬子石化-巴斯夫有限责任公司 85454
215 北京 中国人民财产保险股份有限公司 85453
216 广西 中国铝业股份有限公司广西分公司 84676
217 内蒙古 内蒙古大唐国际托克托发电有限公司 84423
218 天津 柏灵顿资源中国有限公司 84122
219 上海 中远集装箱运输有限公司 83446
220 吉林 一汽轿车股份有限公司 83354
221 上海 华东电网有限公司 82429
222 河北 宣化钢铁集团有限公司 82072
223 福建 福建省电力有限公司 82054
224 新疆 新疆维吾尔自治区石油管理局 82011
225 重庆 重庆烟草工业有限责任公司涪陵卷烟厂 81984
226 北京 大唐国际发电股份有限公司 81563
227 四川 攀枝花钢铁有限责任公司 81400
228 陕西 长庆石油勘探局 81350
229 新疆 中国石油天然气股份有限公司独山子石化分公司 80906
230 云南 中国动通信集团云南有限公司 79876
231 内蒙古 内蒙古包钢钢联股份有限公司 79836
232 福建 中国动通信集团福建有限公司 79815
233 天津 中国石化销售有限公司华北分公司 79755
234 广东 广东电网公司东莞供电局 78980
235 江苏 东风悦达起亚汽车有限公司 78630
236 陕西 延安卷烟厂 78555
237 辽宁 上海通用(沈阳)北盛汽车有限公司 78109
238 湖南 长沙卷烟厂郴州卷烟分厂 77405
239 湖北 中国动通信集团湖北有限公司 76530
240 北京 中国动通信集团公司 75794
241 河南 许昌卷烟总厂南阳分厂 75611
242 辽宁 中国石油天然气股份有限公司辽阳石化分公司 75002
243 浙江 核电秦山联营有限公司 74834
244 北京 中国国际航空股份有限公司 74344
245 江苏 江苏省烟草公司苏州分公司 74235
246 江苏 张家港宏发炼钢有限公司 73870
247 安徽 淮北矿业(集团)煤业有限责任公司 73608
248 深圳 中国电信集团广东省电信有限公司深圳市分公司 73518
249 北京 中国人寿保险股份有限公司 72889
250 内蒙古 神华准格尔能源有限责任公司 72889
251 陕西 延长油矿管理局永宁钻采公司 72613
252 重庆 重庆烟草工业有限责任公司黔江分厂 72235
253 广东 广东韶钢松山股份有限公司 72161
254 河南 河南中烟工业公司驻马店卷烟厂 71491
255 福建 华阳电业有限公司 71252
256 陕西 汉中卷烟二厂 71212
257 四川 四川省烟草公司成都市公司 70580
258 广西 上汽通用五菱汽车股份有限公司 70127
259 辽宁 铁法煤业(集团)有限责任公司 69910
260 陕西 陕西省电力公司 69840
261 新疆 中国石油天然气股份有限公司克拉玛依石化分公司 69716
262 广东 康菲石油中国有限公司 69296
263 辽宁 辽宁省电力有限公司 68968
264 青岛 青岛啤酒股份有限公司 68955
265 河北 河北省津西钢铁股份有限公司 68653
266 广东 东风本田发动机有限公司 68584
267 河北 中石油天然气股份公司大港油田分公司(河北) 68157
268 广东 东风汽车有限公司东风日产乘用车公司 68156
269 山东 枣庄矿业(集团)有限责任公司 67921
270 北京 北京银行股份有限公司 67868
271 江苏 江苏省电力公司 67631
272 深圳 广东电网公司深圳供电局 67604
273 湖南 中国动通信集团湖南有限公司 67558
274 黑龙江 中国石油天然气股份有限公司大庆炼化分公司 67467
275 河南 中国石油化工股份有限公司洛阳分公司 66967
276 新疆 中国石油天然气股份有限公司乌鲁木齐石化分公司 66825
277 安徽 安徽中烟工业公司阜阳卷烟厂 66607
278 河南 郑州卷烟总厂漯河分厂 66285
279 广东 广州富力地产股份有限公司 66282
280 甘肃 兰州卷烟厂天水分厂 65818
281 云南 云南省卷烟烤烟交易市场 65715
282 广西 中国动通信集团广西有限公司 65596
283 吉林 玉溪红塔烟草(集团)有限责任公司长春卷烟厂 65539
284 辽宁 中国动通信集团辽宁有限公司 64985
285 四川 四川丰田汽车有限公司 64751
286 山西 晋城蓝焰股份有限公司 64560
287 天津 中国动通信集团天津有限公司 64053
288 上海 上海烟草集团上海烟草贸易中心 63833
289 青岛 青岛海尔股份有限公司 63819
290 山西 山西昆明烟草有限责任公司 63613
291 江苏 南京钢铁股份有限公司 63379
292 广东 中国南方电网有限责任公司超高压输电公司 63198
293 北京 诺基亚通信有限公司北京分公司 63088
294 河北 华北电网有限公司唐山供电公司 63017
295 天津 天津三星通信技术有限公司 62711
296 湖北 湖北清江卷烟厂 62502
297 北京 北京富力城房地产开发有限公司 62480
298 湖南 湖南华菱湘潭钢铁有限公司 62180
299 重庆 重庆烟草工业有限责任公司重庆卷烟厂 62166
300 山东 茌平信发华宇氧化铝有限公司 61887
301 天津 科麦奇中国石油有限公司 61691
302 厦门 戴尔(中国)有限公司 61375
303 黑龙江 哈尔滨卷烟总厂 61290
304 广东 增城市碧桂园物业发展有限公司 61197
305 陕西 延长油矿管理局吴起石油钻采公司 61184
306 云南 云南省烟草公司曲靖市公司 61149
307 深圳 深圳市西部电力有限公司 60929
308 山东 上海通用东岳汽车有限公司 60734
309 北京 北京奔驰-戴姆勒·克莱斯勒汽车有限公司 60517
310 江西 中国石油化工股份有限公司九江分公司 60509
311 云南 昆明钢铁股份有限公司 60331
312 上海 中海发展股份有限公司 59838
313 安徽 中国石油化工股份有限公司安庆分公司 59653
314 福建 福建炼油化工有限公司 58819
315 北京 一汽丰田汽车销售有限公司 58757
316 天津 上海烟草(集团)公司天津卷烟厂 58476
317 浙江 中国石油化工股份有限公司浙江石油分公司 58409
318 上海 上海石油天然气有限公司 58381
319 新疆 将军烟草集团有限公司新疆卷烟厂 58216
320 陕西 陕西延长石油(集团)有限责任公司榆林核算部 58213
321 安徽 淮南矿业(集团)有限责任公司 58111
322 吉林 吉林石油集团有限责任公司 58062
323 辽宁 鞍山钢铁集团公司 58052
324 广东 广东省珠海发电厂有限公司 57582
325 安徽 安徽中烟工业公司滁州卷烟厂 57175
326 广东 中国电信集团广东省电信有限公司广州市分公司 57109
327 浙江 杭州钢铁股份有限公司 56770
328 湖北 鄂城钢铁集团有限责任公司 56616
329 上海 上海赛科石油化工有限责任公司 56611
330 江苏 徐州矿务集团有限公司 56595
331 江西 新余钢铁股份有限公司 56588
332 上海 上海中星(集团)有限公司 56579
333 北京 北京首都国际机场股份有限公司 56532
334 山东 中国石油化工股份有限公司济南分公司 56434
335 上海 上海高扬国际烟草有限公司 56426
336 海南 一汽海马汽车有限公司 56200
337 辽宁 BECKBURY国际有限公司 55787
338 辽宁 红塔辽宁烟草有限责任公司沈阳卷烟厂 55322
339 江苏 上海梅山钢铁股份有限公司 55160
340 湖北 中国石油化工股份有限公司江汉分公司 54995
341 云南 云南驰宏锌锗股份有限公司 54704
342 安徽 金隆铜业有限公司 54589
343 深圳 中海石油(中国)有限公司湛江分公司 54475
344 山东 山东中烟工业公司滕州卷烟厂 54374
345 吉林 吉林省电力有限公司 54241
346 深圳 深圳市万科房地产有限公司 54134
347 北京 联想(北京)有限公司 54072
348 浙江 浙江北仑发电有限公司 53792
349 广东 派克顿东方有限责任公司 53617
350 广东 广东烟草广州市有限公司 53157
351 广东 中国石油化工股份有限公司广东石油分公司 53103
352 安徽 奇瑞汽车有限公司 53071
353 辽宁 东北电网有限公司 52650
354 北京 中央电视台 52577
355 青海 青海省电力公司 52227
356 湖北 中国石油化工股份有限公司武汉分公司 52112
357 浙江 浙江东南发电股份有限公司 52033
358 内蒙古 中国动通信集团内蒙古有限公司 51911
359 河北 邢台钢铁有限公司 51501
360 江苏 江苏省烟草公司南京分公司 51385
361 山东 莱芜钢铁集团银山型钢有限公司 51337
362 安徽 国投新集能源股份有限公司 51109
363 广东 广州珠江啤酒股份有限公司 51021
364 山东 日照钢铁有限公司 50982
365 江苏 中国石化仪征化纤股份有限公司 50909
366 上海 上海吴泾第二发电有限责任公司 50906
367 重庆 重庆钢铁股份有限公司 50739
368 北京 北京首钢新钢有限公司 50712
369 天津 绫致时装(天津)有限公司 50686
370 上海 上海银行股份有限公司 50648
371 辽宁 五矿营口中板有限责任公司 50601
372 安徽 安徽铜都铜业股份有限公司 50538
373 山东 潍柴动力股份有限公司 50172
374 河北 天津铁厂 50035
375 河南 河南新郑烟草集团公司洛阳卷烟厂 49931
376 广东 湛江电力有限公司 49828
377 山东 山东高速公路股份有限公司 49574
378 上海 上海外高桥第二发电有限责任公司 49457
379 山西 山西晋城无烟煤矿业集团有限责任公司 49287
380 福建 紫金矿业集团股份有限公司 49212
381 江苏 扬子江药业集团有限公司 49117
382 广东 箭牌口香糖有限公司 48636
383 江苏 上海大屯能源股份公司江苏分公司 48530
384 湖南 中国石油化工股份有限公司长岭分公司 48520
385 江西 江铃汽车股份有限公司 48309
386 福建 英博雪津啤酒有限公司 48226
387 江苏 江苏京沪高速公路有限公司 47900
388 河南 河南省正龙煤业有限公司 47758
389 上海 可口可乐(中国)饮料有限公司 47508
390 福建 福建三钢闽光股份有限公司 47504
391 北京 中国民生银行股份有限公司 47413
392 河北 石家庄炼油化工股份有限公司 47330
393 江西 南昌钢铁有限责任公司 47312
394 青海 中国铝业股份有限公司青海分公司 47300
395 天津 壳牌中国勘探与生产有限公司 47199
396 江苏 耐克(苏州)体育用品有限公司 47161
397 上海 欧莱雅(中国)有限公司 46802
398 贵州 水城钢铁(集团)有限责任公司 46406
399 宁波 宁波电业局 46378
400 四川 二滩水电开发有限责任公司 46309
401 辽宁 辽河金马油田股份有限公司 46308
402 湖北 中国石油化工股份有限公司荆门分公司 46252
403 北京 中国民生银行股份有限公司总行营业部 46153
404 河北 邯邢冶金矿山管理局 46089
405 河北 中国石油天然气股份有限公司华北石化分公司 46039
406 广东 广东电网公司广州供电局 46007
407 黑龙江 中国石油天然气股份有限公司哈尔滨石化分公司 45776
408 广东 珠海格力电器股份有限公司 45733
409 天津 中国石油天然气股份有限公司大港石化分公司 45689
410 云南 云南省烟草红河州公司 45627
411 吉林 通化钢铁股份有限公司 45520
412 辽宁 中国石油天然气股份有限公司辽河石化分公司 45336
413 江苏 江苏镇江发电有限公司 45211
414 北京 北京燕京啤酒股份有限公司 45094
415 浙江 浙江杭金衢高速公路有限公司 45063
416 甘肃 甘肃酒钢集团宏兴钢铁股份有限公司 44948
417 黑龙江 大庆头台油田开发有限责任公司 44712
418 湖南 常德卷烟厂零陵卷烟分厂 44584
419 河北 大唐国际发电股份有限公司张家口发电厂 44468
420 黑龙江 中国动通信集团黑龙江有限公司 44414
421 上海 中国民生银行股份有限公司上海分行 44388
422 山东 华电国际电力股份有限公司邹县发电厂 44366
423 广东 广东中烟工业公司湛江卷烟厂 44170
424 山西 山西兰花科技创业股份有限公司 44169
425 河北 唐山建龙实业有限公司 43762
426 北京 中国进出口银行 43705
427 甘肃 酒泉钢铁(集团)有限责任公司 43702
428 湖南 五凌电力有限公司 43631
429 江苏 江苏省烟草公司无锡分公司 43594
430 河南 河南高速公路发展有限责任公司 43529
431 江苏 南京爱立信熊猫通信有限公司 43181
432 上海 中国银行股份有限公司上海市分行 42974
433 河北 河北金牛能源股份有限公司 42725
434 山西 山西平朔安家岭露天煤炭有限公司 42523
435 浙江 浙江中烟工业公司 42489
436 江苏 宁沪高速公路股份有限公司 42256
437 上海 西门子国际贸易(上海)有限公司 42239
438 江西 赣南卷烟厂 42233
439 广东 完美(中国)日用品有限公司 42116
440 云南 云南铜业股份有限公司 42100
441 安徽 淮南矿业集团有限公司张集煤矿 42069
442 河北 承德新新钒钛股份有限公司 42043
443 山西 阳城国际发电有限责任公司 41976
444 福建 福建水口发电有限公司 41938
445 浙江 中国石化集团杭州炼油厂 41914
446 河北 石家庄卷烟厂保定卷烟分厂 41870
447 陕西 延长油田股份有限公司杏子川采油厂 41775
448 湖北 湖北省电力公司 41657
449 山西 山西杏花村汾酒厂股份有限公司 41564
450 甘肃 中国石油天然气股份有限公司玉门油田分公司 41540
451 湖北 中国石化销售有限公司华中分公司 41539
452 辽宁 辽河石油勘探局 41343
453 河北 开滦精煤股份有限公司 41328
454 天津 天津国华盘山发电有限公司 41122
455 江苏 阿迪达斯(苏州)有限公司 41100
456 山东 茌平华信铝业有限公司 41057
457 河北 开滦(集团)有限公司 41007
458 广东 华能国际电力股份有限公司广东分公司 40924
459 吉林 中国动通信集团吉林有限公司 40769
460 江苏 江苏省电力公司无锡供电公司 40730
461 广东 中国电信集团广东省电信有限公司东莞市分公司 40719
462 辽宁 凌源钢铁股份有限公司 40648
463 江苏 江苏省烟草公司南通分公司 40636
464 甘肃 白银有色金属公司 40572
465 重庆 重庆长安铃木汽车有限公司 40109
466 深圳 国信证券有限责任公司 40023
467 黑龙江 鹤岗龙煤集团有限公司 39994
468 广东 广东广合电力有限公司沙角发电厂C厂 39981
469 浙江 杭州华为三康技术有限公司 39732
470 黑龙江 大庆榆树林油田开发有限责任公司 39417
471 内蒙古 大庆油田有限责任公司呼伦贝尔分公司 39210
472 湖北 湖北省电力公司武汉供电公司 39174
473 湖北 大冶有色金属公司 39093
474 海南 海南金迅运输服务有限公司 39018
475 天津 天津大唐国际盘山发电有限公司 38812
476 青海 青海盐湖发展有限公司 38617
477 北京 资生堂丽源化妆品有限公司 38612
478 宁波 浙江省烟草公司宁波分公司 38500
479 青岛 青岛港(集团)有限公司 38286
480 辽宁 葫芦岛锌业股份有限公司 38104
481 广东 百事(中国)有限公司 38083
482 河北 中国石油化工股份有限公司沧州分公司 38043
483 新疆 独山子石化总厂进出口贸易总公司霍尔果斯公司 37913
484 江苏 联峰钢铁(张家港)有限公司 37841
485 内蒙古 中国石油华北油田二连分公司 37771
486 上海 中国石油化工股份公司上海石油分公司 37652
487 北京 中油财务有限公司 37601
488 黑龙江 安达市庆新油田开发有限公司 37512
489 深圳 深圳华侨城房地产有限公司 37352
490 深圳 湛江东兴石油企业有限公司 37124
491 云南 云南电网公司 37102
492 云南 兰坪县金鼎锌业有限责任公司 37065
493 北京 北京神华昌运高技术配煤有限公司 37014
494 上海 中国东方航空股份有限公司 36806
495 江西 中国动通信集团江西有限公司 36693
496 上海 上海国际港务( 集团 )股份有限公司 36677
497 河北 河北省首钢迁安钢铁有限公司 36530
498 江西 萍乡安源钢铁有限责任公司 36521
499 上海 上海上汽大众汽车销售公司 36511
500 福建 兴业银行股份有限公司 36442

 

前言

直升机的曲线调整可分为油门曲线及螺距曲线,二者相辅相成,密不可分。每种飞行模式都有其独特的曲线,影响曲线的主要因素有: 机种、级数、主旋翼翼形、天候状况及个人的飞行习惯。一般的八动遥控器对于油门及螺距曲线都提供 5个控制点,分别对应0%(L)、25%(1)、50%(2)、75%(3)及100%(H)。以下列出的数值仅供参考,您必须依照实际的需要作调整。

NORMAL

适用于停悬及静态飞行,重点是要使机体沉稳柔顺。调整时先决定停悬点(油门摇杆在½的位置)的螺距及主旋翼转速,转速的快慢依您自己的习惯而定。若您的经验未能以目视的方式来判断转速,可以请有经验的同好在旁协助,或购买一种可安装在尾管上的转速计。

1.调整停悬点:螺距约在+6°,主旋翼转速约在1,400RPM。
若停悬时油门摇杆低于½的位置:请降低油门或螺距曲线第2点的数值。
若停悬时油门摇杆高于½的位置:请增加油门或螺距曲线第2点的数值。
若停悬时主旋翼转速过快:请降低油门曲线第2点的数值,并且增加螺距曲线第2点的数值。
若停悬时主旋翼转速过慢:请增加油门曲线第2点的数值,并且降低螺距曲线第2点的数值。

2.调整最高点:螺距约在+10°。
先保持停悬的状况,然后把油门摇杆推到最高点。
若机体上升快速但主旋翼转速变慢:高速螺距过大,请降低螺距曲线H点的数值。
若机体上升缓慢且主旋翼转速变快:高速螺距过小,请增加螺距曲线H点的数值。
调整至机体上升速度适中,且主旋翼转速变化不大即可。

3.调整最低点:螺距约在-2°。
先将直升机保持停悬在适当的高度,然后把油门摇杆拉到最低点。
若机体下降速度过快:负螺距过大,请增加螺距曲线L点的数值。
若机体下降速度缓慢:负螺距过小,请降低螺距曲线L点的数值。
调整至机体下降速度适中即可。

4.调整¼及¾点
作静态动作时,油门摇杆几乎只在¼至¾处移动,所以油门及螺距曲线在此范围内仅作小幅度的变化,使得机体不会暴起暴落。建议您将副翼、升降舵及尾舵的大小动作比例(DUAL RATE)设为70%,并适度地搭配指数曲线功能(EXP),可使动作更为轻柔精准。

IDLE-UP 2

适用于3D花式飞行,重点是要使机体静若处子、动如脱兔。调整时主旋翼转速一定要快,约在1,700RPM。转速快的优点是停悬稳定、翻滚快速。但相对地转速快也会产生较大的振动,所以机体结构一定要详加检查,确认各部位螺丝已锁紧。

•调整正飞停悬点:螺距约在+5°。
若停悬时油门摇杆低于¾的位置:请降低油门或螺距曲线第3点的数值。
若停悬时油门摇杆高于¾的位置:请增加油门或螺距曲线第3点的数值。
若停悬时主旋翼转速过快:请降低油门曲线第3点的数值,并且增加螺距曲线第3点的数值。
若停悬时主旋翼转速过慢:请增加油门曲线第3点的数值,并且降低螺距曲线第3点的数值。

•调整最高点:螺距约在+9°。
先保持正飞停悬的状况,然后把油门摇杆推到最高点。
若机体上升快速但主旋翼转速变慢:高速螺距过大,请降低螺距曲线H点的数值。
若机体上升缓慢且主旋翼转速变快:高速螺距过小,请增加螺距曲线H点的数值。
调整至机体上升速度适中,且主旋翼转速变化不大即可。

•调整倒飞停悬点:螺距约在-5°。
若停悬时油门摇杆低于¼的位置:请增加油门曲线或降低螺距曲线第1点的数值。
若停悬时油门摇杆高于¼的位置:请降低油门曲线或增加螺距曲线第1点的数值。
若停悬时主旋翼转速过快:请降低油门曲线及螺距曲线第1点的数值。
若停悬时主旋翼转速过慢:请增加油门曲线及螺距曲线第1点的数值。

•调整最低点:螺距约在-9°。
先保持倒飞停悬的状况,然后把油门摇杆拉到最低点。
若机体上升快速但主旋翼转速变慢:负速螺距过大,请增加螺距曲线L点的数值。
若机体上升缓慢且主旋翼转速变快:负速螺距过小,请降低螺距曲线L点的数值。
调整至机体上升速度适中,且主旋翼转速变化不大即可。

油门锁定

油门锁定是为了执行熄火降落的动作,所以没有油门曲线只有螺距曲线。

1.调整最低点:螺距约在-4°。
先保持上空飞行的状态,把油门摇杆拉到最低点,随即将油门锁定开关切到ON的位置。
若机体下降速度过快:负速螺距过大,请增加螺距曲线L点的数值。
若机体下降速度缓慢:负速螺距过小,请降低螺距曲线L点的数值。
调整至机体下降速度适中,且主旋翼转速不会急遽减慢即可。

2.调整中立点:螺距约在+5°。
当机体降至离地3米高左右,把油门摇杆由最低点稳定地推向中立点。
若机体下降速度过快:中速速螺距过小,请增加螺距曲线第2点的数值。
若机体急速停止下降:中速速螺距过大,请降低螺距曲线第2点的数值。
调整至机体能缓慢且持续的下降即可。

3.调整最高点:螺距约在+12°。
最高点其实应该用不到,正常的熄火降落动作,在油门摇杆推至¾位置前,已经安全降落了。

目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。

简 介

  ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。

  PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从 PHP官方站点(http: //www.PHP.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

  JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

  三者都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML页面只依赖于Web服务器,而ASP 、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

技术特点:
ASP:
1. 使用VBScript 、 JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
2. 无须compile编译,容易编写,可在服务器端直接执行。
3. 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
4. 与浏览器无关(Browser Independence), 客户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active ServerPages 所使用的脚本语言(VBScript 、 Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
5.Active Server Pages能与任何ActiveX scripting语言兼容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX 、Perl 、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model) 对象。
6. 可使用服务器端的脚本来产生客户端的脚本。
7. ActiveX Server Components(ActiveX 服务器组件 )具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。

PHP:
1 数据库连接
PHP 可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。

JSP:
1.将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

2.强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。

3.采用标识简化页面开发
Web 页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及 Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。

应用范围:
ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM 实现起来非常困难。

PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。

JSP 同PHP3类似,几乎可以执行于所有平台。如Win NT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器 Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

性能比较:
有人做过试验,对这三种语言分别做回圈性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而ASP、PHP测试的是 2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。 数据库测试中,三者分别对 oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP则 需要 73 秒。

前景分析:
  目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外, JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于 PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。

ASP和JSP则没有以上缺陷, ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如 IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务 Application Server,而且声言不再开发传统软件。

总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。

本文转载自『异次元の世界』http://www.x-force.cn/article.asp?id=106

1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open(‘*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+…+"‘)</script>")

接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");

2.为按钮添加对话框

传送参数:
response.write("<script>window.open(‘*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+…+"‘)</script>")

接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");

2.为按钮添加对话框

Button1.Attributes.Add("onclick","return confirm(‘确认?‘)");

button.attributes.add("onclick","if(confirm(‘are you sure…?‘)){return true;}else{return false;}")

3.删除表格选定记录

int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()

4.删除表格记录警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Cells[14];
LinkButton myDeleteButton ;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","return confirm(‘您是否确定要删除这条信息‘);");
break;
default:
break;
}

}

5.点击表格行链接另一页

private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//点击表格打开
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Attributes.Add("onclick","window.open(‘Default.aspx?id=" + e.Item.Cells[0].Text + "‘);");
}

双击表格连接到另一页
在itemDataBind事件中
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;

e.item.Attributes.Add("ondblclick", "location.href=‘../ShippedGrid.aspx?id=" + OrderItemID + "‘");
}
双击表格打开新一页
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;

e.item.Attributes.Add("ondblclick", "open(‘../ShippedGrid.aspx?id=" + OrderItemID + "‘)");
}
★特别注意:【?id=】 处不能为 【?id =】

6.表格超连接列传递参数
<asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=‘<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>‘ & name=‘<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>‘ />

7.表格点击改变颜色
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","this.style.backgroundColor=‘#99cc00‘;this.style.color=‘buttontext‘;this.style.cursor=‘default‘;");
}

写在DataGrid的_ItemDataBound里
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor=‘#99cc00‘;this.style.color=‘buttontext‘;this.style.cursor=‘default‘;");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=‘‘;this.style.color=‘‘;");
}

8.关于日期格式

日期格式设定
DataFormatString="{0:yyyy-MM-dd}"

我觉得应该在itembound事件中
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))

9.获取错误信息并到指定页面
不要使用Response.Redirect,而应该使用Server.Transfer
e.g
// in global.asax
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");

//其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 🙂
}

Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理

10.清空Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0

11.自定义异常处理

//自定义异常处理类
using System;
using System.Diagnostics;

namespace MyAppException
{
/// <summary>
/// 从系统异常类ApplicationException继承的应用程序异常处理类。
/// 自动将异常内容记录到Windows NT/2000的应用程序日志
/// </summary>
public class AppException:System.ApplicationException
{
public AppException()
{
if (ApplicationConfiguration.EventLogEnabled)
LogEvent("出现一个未知错误。");
}

public AppException(string message)
{
LogEvent(message);
}

public AppException(string message,Exception innerException)
{
LogEvent(message);
if (innerException != null)
{
LogEvent(innerException.Message);
}
}

//日志记录类
using System;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading;

namespace MyEventLog
{
/// <summary>
/// 事件日志记录类,提供事件日志记录支持
/// <remarks>
/// 定义了4个日志记录方法 (error, warning, info, trace)
/// </remarks>
/// </summary>
public class ApplicationLog
{
/// <summary>
/// 将错误信息记录到Win2000/NT事件日志中
/// <param name="message">需要记录的文本信息</param>
/// </summary>
public static void WriteError(String message)
{

WriteLog(TraceLevel.Error, message);
}

/// <summary>
/// 将警告信息记录到Win2000/NT事件日志中
/// <param name="message">需要记录的文本信息</param>
/// </summary>
public static void WriteWarning(String message)
{

WriteLog(TraceLevel.Warning, message);
}

/// <summary>
/// 将提示信息记录到Win2000/NT事件日志中
/// <param name="message">需要记录的文本信息</param>
/// </summary>
public static void WriteInfo(String message)
{
WriteLog(TraceLevel.Info, message);
}
/// <summary>
/// 将跟踪信息记录到Win2000/NT事件日志中
/// <param name="message">需要记录的文本信息</param>
/// </summary>
public static void WriteTrace(String message)
{

WriteLog(TraceLevel.Verbose, message);
}

/// <summary>
/// 格式化记录到事件日志的文本信息格式
/// <param name="ex">需要格式化的异常对象</param>
/// <param name="catchInfo">异常信息标题字符串.</param>
/// <retvalue>
/// <para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>
/// </retvalue>
/// </summary>
public static String FormatException(Exception ex, String catchInfo)
{
StringBuilder strBuilder = new StringBuilder();
if (catchInfo != String.Empty)
{
strBuilder.Append(catchInfo).Append("");
}
strBuilder.Append(ex.Message).Append("").Append(ex.StackTrace);
return strBuilder.ToString();
}

/// <summary>
/// 实际事件日志写入方法
/// <param name="level">要记录信息的级别(error,warning,info,trace).</param>
/// <param name="messageText">要记录的文本.</param>
/// </summary>
private static void WriteLog(TraceLevel level, String messageText)
{

try
{
EventLogEntryType LogEntryType;
switch (level)
{
case TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
break;
case TraceLevel.Warning:
LogEntryType = EventLogEntryType.Warning;
break;
case TraceLevel.Inf
LogEntryType = EventLogEntryType.Information;
break;
case TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
break;
default:
LogEntryType = EventLogEntryType.SuccessAudit;
break;
}

EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//写入事件日志
eventLog.WriteEntry(messageText, LogEntryType);

}
catch {} //忽略任何异常
}
} //class ApplicationLog
}

12.Panel 横向滚动,纵向自动扩展
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>

13.回车转换成Tab
<script language="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!=‘button‘ && event.srcElement.type!=‘submit‘ && event.srcElement.type!=‘reset‘ && event.srcElement.type!=‘‘&& event.srcElement.type!=‘textarea‘);
event.keyCode=9;
</script>

onkeydown="if(event.keyCode==13) event.keyCode=9"

http://dotnet.aspx.cc/exam/enter2tab.aspx

14.DataGrid超级连接列
DataNavigateUrlField="字段名" DataNavigateUrlFormatString="http://xx/inc/delete.aspx?ID={0}"

15.DataGrid行随鼠标变色
private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=""+e.Item.Style["BACKGROUND-COLOR"]+""");
e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=""+ "#EFF3F7"+""");
}

}

16.模板列
<ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID">
<ITEMTEMPLATE>
<ASP:LABEL text=‘<%# DataBinder.Eval(Container.DataItem, "ArticleID")%>‘ runat="server" width="80%" id="lblColumn" />
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>

<ASP:TEMPLATECOLUMN headertext="选中">
<HEADERSTYLE wrap="False" horizontalalign="Center"></HEADERSTYLE>
<ITEMTEMPLATE>
<ASP:CHECKBOX id="chkExport" runat="server" />
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<ASP:CHECKBOX id="chkExportON" runat="server" enabled="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>

后台代码

protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)
{
//改变列的选定,实现全选或全不选。
CheckBox chkExport ;
if( CheckAll.Checked)
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = true;
}
}
else
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = false;
}
}
}

17.数字格式化
【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】

<%#Container.DataItem("price","{0:¥#,##0.00}")%>

int i=123456;
string s=i.ToString("###,###.00");

18.日期格式化

【aspx页面内:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
显示为: 2004-8-11 19:44:28
我只想要:2004-8-11 】

<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>

应该如何改?

【格式化日期】
取出来,一般是object
((DateTime)objectFromDB).ToString("yyyy-MM-dd");

【日期的验证表达式】
A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]

^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(s(((0?[1-9])|(1[0-2])):([0-5][0-9])((s)|(:([0-5][0-9])s))([AM|PM|am|pm]{2,2})))?$

B.以下正确的输入格式:[0001-12-31], [9999 09 30], [2002/03/03]

^d{4}[-/s]?((((0[13578])|(1[02]))[-/s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[-/s]?(([0-2][0-9])|(30)))|(02[-/s]?[0-2][0-9]))$

【大小写转换】

HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)

19.如何设定全局变量
Global.asax中

Application_Start()事件中

添加Application[属性名] = xxx;

就是你的全局变量

20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口?

HyperLinkColumn有个属性Target,将器值设置成"_blank"即可.(Target="_blank")

【ASPNETMENU】点击菜单项弹出新窗口
在你的menuData.xml文件的菜单项中加入URLTarget="_blank"
如:
<?xml version="1.0" encoding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<MenuGroup>
<MenuItem Label="内参信息" URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label="公告信息" URL="Infomation.aspx" URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="编制信息简报" URL="NewInfo.aspx" LeftIcon="file.gif" />
……
最好将你的aspnetmenu升级到1.2版

21.委托讨论
http://community.csdn.net/Expert/topic/2651/2651579.xml?temp=.7183191
http://dev.csdn.net/develop/article/22/22951.shtm

22.读取DataGrid控件TextBox值

foreach(DataGrid dgi in yourDataGrid.Items)
{
TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");
tb.Text….
}

23.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能?

〖思归〗
<asp:TemplateColumn HeaderText="数量">
<ItemTemplate>
<asp:TextBox id="ShuLiang" runat=‘server‘ Text=‘<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>‘
onkeyup="javascript:DoCal()"
/>

<asp:RegularExpressionValidator id="revS" runat="server" ControlToValidate="ShuLiang" ErrorMessage="must be integer" ValidationExpression="^d+$" />
</ItemTemplate>
</asp:TemplateColumn>

<asp:TemplateColumn HeaderText="单价">
<ItemTemplate>
<asp:TextBox id="DanJian" runat=‘server‘ Text=‘<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>‘
onkeyup="javascript:DoCal()"
/>

<asp:RegularExpressionValidator id="revS2" runat="server" ControlToValidate="DanJian" ErrorMessage="must be numeric" ValidationExpression="^d+(.d*)?$" />

</ItemTemplate>
</asp:TemplateColumn>

<asp:TemplateColumn HeaderText="金额">
<ItemTemplate>
<asp:TextBox id="JinE" runat=‘server‘ Text=‘<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>‘ />
</ItemTemplate>
</asp:TemplateColumn>

<script language="javascript">
function DoCal()
{
var e = event.srcElement;
var row = e.parentNode.parentNode;
var txts = row.all.tags("INPUT");
if (!txts.length || txts.length < 3)
return;

var q = txts[txts.length-3].value;
var p = txts[txts.length-2].value;

if (isNaN(q) || isNaN(p))
return;

q = parseInt(q);
p = parseFloat(p);

txts[txts.length-1].value = (q * p).toFixed(2);
}
</script>

24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了
page_load
page.smartNavigation=true

25.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?

private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)
{
for(int i=0;i<e.Item.Cells.Count-1;i++)
if(e.Item.ItemType==ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add("Width", "80px")

}
}

26.对话框
private static string ScriptBegin = "<script language="JavaScript">";
private static string ScriptEnd = "</script>";

public static void ConfirmMessageBox(string PageTarget,string Content)
{

string ConfirmContent="var retValue=window.confirm(‘"+Content+"‘);"+"if(retValue){window.location=‘"+PageTarget+"‘;}";

ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd;

Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("confirm",ConfirmContent);
//Response.Write(strScript);

}

----------------------------------------

27. 将时间格式化:string aa=DateTime.Now.ToString("yyyy年MM月dd日");

1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;

1.2 取当前年
int 年= DateTime.Now.Year;

1.3 取当前月
int 月= DateTime.Now.Month;

1.4 取当前日
int 日= DateTime.Now.Day;

1.5 取当前时
int 时= DateTime.Now.Hour;

1.6 取当前分
int 分= DateTime.Now.Minute;

1.7 取当前秒
int 秒= DateTime.Now.Second;

1.8 取当前毫秒
int 毫秒= DateTime.Now.Millisecond;

28.自定义分页代码:

先定义变量 :public static int pageCount; //总页面数

public static int curPageIndex=1; //当前页面

下一页:

if(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount – 1))

{

DataGrid1.CurrentPageIndex += 1;

curPageIndex+=1;

}

bind(); // DataGrid1数据绑定函数

上一页:

if(DataGrid1.CurrentPageIndex >0)

{

DataGrid1.CurrentPageIndex += 1;

curPageIndex-=1;

}

bind(); // DataGrid1数据绑定函数

直接页面跳转:

int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()为跳转值

if(a<DataGrid1.PageCount)

{

this.DataGrid1.CurrentPageIndex=a;

}

bind();

29.DataGrid使用:

3.1添加删除确认:

private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{

foreach(DataGridItem di in this.DataGrid1.Items)

{

if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)

{

((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","return confirm(‘确认删除此项吗?‘);");

}

}

}

3.2样式交替:

ListItemType itemType = e.Item.ItemType;

if (itemType == ListItemType.Item )

{

e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=‘#FFFFFF‘;";

e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=‘#d9ece1‘;cursor=‘hand‘;" ;

}

else if( itemType == ListItemType.AlternatingItem)

{

e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=‘#a0d7c4‘;";

e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=‘#d9ece1‘;cursor=‘hand‘;" ;

}

3.3添加一个编号列:

DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //执行sql返回的DataTable

DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String"));

for(int i=0;i<dt.Rows.Count;i++)

{

dt.Rows[i]["number"]=(i+1).ToString();

}

DataGrid1.DataSource=dt;

DataGrid1.DataBind();

3.4 DataGrid1中添加一个CheckBox,页面中添加一个全选框

private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)

{

foreach(DataGridItem thisitem in DataGrid1.Items)

{

((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;

}

}

将当前页面中DataGrid1显示的数据全部删除

foreach(DataGridItem thisitem in DataGrid1.Items)

{

if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)

{

string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();

Del (strloginid); //删除函数

}

}

30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化)

在Application_Start中添加以下代码:

Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.AppSettings["ConnStr"].ToString();

31. 变量.ToString()
字符型转换 转为字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039 (16进制)
12345.ToString("p"); //生成 1,234,500.00%

32、变量.Substring(参数1,参数2);
截取字串的一部分,参数1为左起始位数,参数2为截取几位。
如:string s1 = str.Substring(0,2);

34.在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个FORM,这时可以导向另外一个页面再提交登陆信息)

<SCRIPT language="javascript">
<!–
 function gook(pws)
 {
  frm.submit();
 }
//–>

</SCRIPT> <body leftMargin="0" topMargin="0" onload="javascript:gook()" marginwidth="0" marginheight="0">
<form name="frm" action=" http://220.194.55.68:6080/login.php?retid=7259 " method="post">
<tr>
<td>
<input id="f_user" type="hidden" size="1" name="f_user" runat="server">
<input id="f_domain" type="hidden" size="1" name="f_domain" runat="server">
<input class="box" id="f_pass" type="hidden" size="1" name="pwshow" runat="server">

<INPUT id="lng" type="hidden" maxLength="20" size="1" value="5" name="lng">
<INPUT id="tem" type="hidden" size="1" value="2" name="tem">

</td>

</tr>

</form>

文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用vsniffer 看看。
  下面是获取用户输入的登陆信息的代码:

string name;
name=Request.QueryString["EmailName"];

try
{
 int a=name.IndexOf("@",0,name.Length);
 f_user.Value=name.Substring(0,a);
 f_domain.Value=name.Substring(a+1,name.Length-(a+1));
 f_pass.Value=Request.QueryString["Psw"];
}

catch
{
 Script.Alert("错误的邮箱!");
 Server.Transfer("index.aspx");
}

35.警告窗口

/**//// <summary>
/// 服务器端弹出alert对话框
/// </summary>
/// <param name="str_Message">提示信息,例子:"不能为空!"</param>
/// <param name="page">Page类</param>
public void Alert(string str_Message,Page page)
{
page.RegisterStartupScript("","<script>alert(‘"+str_Message+"‘);</script>");
}

36.重载此警告窗口,使某控件获得焦点

/**//// <summary>
/// 服务器端弹出alert对话框,并使控件获得焦点
/// </summary>
/// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
/// <param name="str_Message">提示信息,例子:"请输入您姓名!"</param>
/// <param name="page">Page类</param>
public void Alert(string str_Ctl_Name,string str_Message,Page page)
{
page.RegisterStartupScript("","<script>alert(‘"+str_Message+"‘);document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
}

37.确认对话框

/**//// <summary>
/// 服务器端弹出confirm对话框
/// </summary>
/// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
/// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
/// <param name="page">Page类</param>
public void Confirm(string str_Message,string btn,Page page)
{
page.RegisterStartupScript("","<script> if (confirm(‘"+str_Message+"‘)==true){document.forms(0)."+btn+".click();}</script>");
}

38.重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件

/**//// <summary>
/// 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
/// </summary>
/// <param name="str_Message">提示信息,比如:"成功增加数据,单击"确定"按钮填写流程,单击"取消"修改数据"</param>
/// <param name="btn_Redirect_Flow">"确定"按钮id值</param>
/// <param name="btn_Redirect_Self">"取消"按钮id值</param>
/// <param name="page">Page类</param>
public void Confirm(string str_Message,string btn_Redirect_Flow,string btn_Redirect_Self,Page page)
{
page.RegisterStartupScript("","<script> if (confirm(‘"+str_Message+"‘)==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");
}

39.获得焦点

/**//// <summary>
/// 使控件获得焦点
/// </summary>
/// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
/// <param name="page">Page类</param>
public void GetFocus(string str_Ctl_Name,Page page)
{
page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
}

40.子窗体返回主窗体

/**////<summary>
///名称:redirect
///功能:子窗体返回主窗体
///参数:url
///返回值:空
///</summary>
public void redirect(string url,Page page)
{
if ( Session["IfDefault"]!=(object)"Default")
{
page.RegisterStartupScript("","<script>window.top.document.location.href=‘"+url+"‘;</script>");
}
}

41.判断是否为数字

/**//// <summary>
/// 名称:IsNumberic
/// 功能:判断输入的是否是数字
/// 参数:string oText:源文本
/// 返回值: bool true:是 false:否
/// </summary>

public bool IsNumberic(string oText)
{
try
{
int var1=Convert.ToInt32 (oText);
return true;
}
catch
{
return false;
}
}

获得字符串实际长度(包括中文字符)

//获得字符串oString的实际长度
public int StringLength(string oString)
{
byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
int res=strArray.Length ;
return res;
}

42.将回车转换为TAB

//当在有keydown事件的控件上敲回车时,变为tab
public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
{
webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
}

43.datagrid分页中如果删除时出现超出索引

public void jumppage(System.Web.UI.WebControls.DataGrid dg)
{
int int_PageLess; //定义页面跳转的页数
//如果当前页是最后一页
if(dg.CurrentPageIndex == dg.PageCount-1)
{
//如果就只有一页
if(dg.CurrentPageIndex == 0)
{
//删除后页面停在当前页
dg.CurrentPageIndex = dg.PageCount-1;
}
else
{
//如果最后一页只有一条记录
if((dg.Items.Count % dg.PageSize == 1) || dg.PageSize == 1)
{
//把最后一页最后一条记录删除后,页面应跳转到前一页
int_PageLess = 2;
}
else //如果最后一页的记录数大于1,那么在最后一页删除记录后仍然停在当前页
{
int_PageLess = 1;
}
dg.CurrentPageIndex = dg.PageCount – int_PageLess;
}
}
}

  有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。

lan.htm

<form>
<select name="lan">
<option value="en|de">英语 翻译成 德语</option>
<option value="en|es">英语 翻译成 西班牙语</option>
<option value="en|fr">英语 翻译成 法语</option>
<option value="en|it">英语 翻译成 意大利语</option>
<option value="en|pt">英语 翻译成 葡萄牙语</option>
<option value="en|ja">英语 翻译成 日语 BETA</option>
<option value="en|ko">英语 翻译成 朝鲜语 BETA</option>
<option value="en|zh-CN" >英语 翻译成 中文(简体) BETA</option>
<option value="de|en">德语 翻译成 英语</option>
<option value="de|fr">德语 翻译成 法语</option>
<option value="es|en">西班牙语 翻译成 英语</option>
<option value="fr|en">法语 翻译成 英语</option>
<option value="fr|de">法语 翻译成 德语</option>
<option value="it|en">意大利语 翻译成 英语</option>
<option value="pt|en">葡萄牙语 翻译成 英语</option>
<option value="ja|en">日语 翻译成 英语 BETA</option>
<option value="ko|en">朝鲜语 翻译成 英语 BETA</option>
<option value="zh-CN|en">中文(简体) 翻译成 英语 BETA</option>
<input style="FONT-SIZE: 12px" type="button" value="Go->" name="Button1" onClick="javascript:window.open(‘translate.asp?urls=‘+document.location+‘&lan=‘+lan.value,‘_self‘,‘‘)">
</select>
</form>

  lan.htm中的内容用来选择要翻译的语言包括原来的语言和要翻译成的语言。我们只需要将lan.htm中的内容拷到提供多语言翻译的页面中就可以了。

translate.asp
<html>
<head>
<title>在线翻译</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>
<%
‘on error resume next
‘ 如果网速很慢的话,可以调整以下时间。单位秒
Server.ScriptTimeout = 999999
‘========================================================
‘字符编码函数
‘========================================================
Function BytesToBstr(body,code)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset =code
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function

‘取行字符串在另一字符串中的出现位置
Function Newstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
if Newstring<=0 then Newstring=Len(wstr)
End Function
‘替换字符串函数
function ReplaceStr(ori,str1,str2)
ReplaceStr=replace(ori,str1,str2)
end function
‘=====================================================
function ReadXml(url,code,start,ends)
set oSend=createobject("Microsoft.XMLHTTP")
SourceCode = oSend.open ("GET",url,false)
oSend.send()
ReadXml=BytesToBstr(oSend.responseBody,code )
if(start="" or ends="") then
else
start=Newstring(ReadXml,start)
ReadXml=mid(ReadXml,start)
ends=Newstring(ReadXml,ends)
ReadXml=left(ReadXml,ends-1)
end if
end function
dim urlpage,lan
urlpage=request("urls")
lan=request("lan")
%>
<form method="post" action="translate.asp">
<input type="text" name="urls" size="150" value="<%=urlpage%>">
<input type="hidden" name="lan" value="<%=lan%>">
<input type="submit" value="submit">
</form>
<%
dim transURL
transURL="http://216.239.39.104/translate_c?hl=zh-CN&ie=UTF-8&oe=UTF-8&langpair="&server.URLEncode(lan)&"&u="&urlpage&"&prev=/language_tools"
if(len(urlpage)>3) then
getcont=ReadXml(transURL,"gb2312","","")
response.Write(getcont)
end if

%>
</body>
</html>

  translate.asp实现翻译功能,这是利用google的语言工具实现的。

  注意,因为提供多语言支持,所以translate.asp文件所用的编码是支持所有字符的"utf-8" 。

  第一招、屏幕保护

  在Windows中启用了屏幕保护之后,只要我们离开计算机(或者不操作计算机)的时间达到预设的时间,系统就会自动启动屏幕保护程序,而当用户移动鼠标或敲击键盘想返回正常工作状态时,系统就会打开一个密码确认框,只有输入正确的密码之后才能返回系统,不知道密码的用户将无法进入工作状态,从而保护了数据的安全。

  提示:部分设计不完善的屏幕保护程序没有屏蔽系统的“Ctrl+Alt+Del”的组合键,因此需要设置完成之后测试一下程序是否存在这个重大Bug。

  不过,屏幕保护最快只能在用户离开1分钟之后自动启动,难道我们必须坐在计算机旁等待N分钟看到屏幕保护激活之后才能再离开吗?其实我们只要打开Windows安装目录里面的system子目录,然后找到相应的屏幕保护程序(扩展名是SCR),按住鼠标右键将它们拖曳到桌面上,选择弹出菜单中的“在当前位置创建快捷方式”命令,在桌面上为这些屏幕保护程序建立一个快捷方式。

  此后,我们在离开计算机时双击这个快捷方式即可快速启动屏幕保护。

  第二招、巧妙隐藏硬盘

  在“按Web页”查看方式下,进入Windows目录时都会弹出一句警告信息,告诉你这是系统文件夹如果“修改该文件夹的内容可能导致程序运行不正常,要查看该文件夹的内容,请单击显示文件”,这时单击“显示文件”就可以进入该目录了。

  原因是在Windows根目录下有desktop.ini和folder.htt两个文件作祟。将这两个文件拷贝到某个驱动器的根目录下(由于这两个文件是隐藏文件,之前必须在文件夹选项中单击“查看”标签,选择“显示所有文件”,这样就可以看见这两个文件了)。再按“F5”键刷新一下,看看发生了什么,是不是和进入Windows目录时一样。

  接下来我们用“记事本”打开folder.htt,这是用HTML语言编写的一个文件,发挥你的想像力尽情地修改吧。

  如果你不懂HTML语言也没关系,先找到“显示文件”将其删除,找到“修改该文件夹的内可能导致程序运行不正常,要查看该文件夹的内容,请单击显示文件”,将其改为自己喜欢的文字,例如“安全重地,闲杂人等请速离开”。

  将“要查看该文件夹的内容,请单击”改为“否则,后果自负!”,接着向下拖动滑块到倒数第9行,找到“(file://%TEMPLATEDIR%wvlogo.gif)”这是显示警告信息时窗口右下角齿轮图片的路径,将其改为自己图片的路径,例如用“d: upian upian1.jpg”替换“//”后面的内容,记住这里必须将图片的后缀名打出,否则将显示不出图片。

  当然,你还可以用像Dreamweaver、FrontPage这样的网页工具做出更好的效果,然后只要将原文件拷贝到下面这段文字的后面,覆盖掉原文件中“~”之间的内容就可以了。

  *ThisfilewasautomaticallygeneratedbyMicrosoftInternetEXPlorer5.0

  *usingthefile%THISDIRPATH%folder.htt.

   保存并退出,按“F5”键刷新一下,是不是很有个性?接下来要作的就是用“超级兔子”将你所要的驱动器隐藏起来,不用重新启动就可以欣赏自己的作品了。最后告诉大家一招更绝的,就是干脆将folder.htt原文件中“~”之间的内容全部删除,这样就会给打开你的驱动器的人造成一种这是一个空驱动器的假象,使其中的文件更安全。

  第三招、禁用“开始”菜单命令

  在Windows2000/XP中都集成了组策略的功能,通过组策略可以设置各种软件、计算机和用户策略在某种方面增强系统的安全性。运行“开始→运行”命令,在“运行”对话框的“打开”栏中输入“gpedit.msc”,然后单击“确定”按钮即可启动WindowsXP组策略编辑器。

  在“本地计算机策略”中,逐级展开“用户配置→管理模板→任务栏和开始菜单”分支,在右侧窗口中提供了“任务栏”和“开始菜单”的有关策略。

  在禁用“开始”菜单命令的时候,在右侧窗口中,提供了删除“开始”菜单中的公用程序组、“我的文档”图标、“文档”菜单、“网上邻居”图标等策略。清理“开始”菜单的时候只要将不需要的菜单项所对应的策略启用即可,比如以删除“我的文档”图标为例,具体操作步骤为:

  1)在策略列表窗口中用鼠标双击“从开始菜单中删除我的文档图标”选项。

  2)在弹出窗口的“设置”标签中,选择“已启用”单选按钮,然后单击“确定”即可。

  第四招、桌面相关选项的禁用

  WindowsXP的桌面就像你的办公桌一样,有时需要进行整理和清洁。有了组策略编辑器之后,这项工作将变得易如反掌,只要在“本地计算机策略”中展开“用户配置→管理模板→桌面”分支,即可在右侧窗口中显示相应的策略选项。

  1)隐藏桌面的系统图标

  倘若隐藏桌面上的系统图标,传统的方法是通过采用修改注册表的方式来实现,这势必造成一定的风险性,采用组策略编辑器,即可方便快捷地达到此目的。

  若要隐藏桌面上的“网上邻居”和“InternetEXPlorer”图标,只要在右侧窗口中将“隐藏桌面上网上邻居图标”和“隐藏桌面上的InternetEXPlorer图标”两个策略选项启用即可。如果隐藏桌面上的所有图标,只要将“隐藏和禁用桌面上的所有项目”启用即可。

  当启用了“删除桌面上的我的文档图标”和“删除桌面上的我的电脑图标”两个选项以后,“我的电脑”和“我的文档”图标将从你的电脑桌面上消失了。如果在桌面上你不再喜欢“回收站”这个图标,那么也可以把它给删除,具体方法是将“从桌面删除回收站”策略项启用。

  2)禁止对桌面的某些更改

  如果你不希望别人随意改变计算机桌面的设置,请在右侧窗口中将“退出时不保存设置”这个策略选项启用。当你启用这个了设置以后,其他用户可以对桌面做某些更改,但有些更改,诸如图标和打开窗口的位置、任务栏的位置及大小在用户注销后都无法保存。

  第五招、禁止访问“控制面板”

  如果你不希望其他用户访问计算机的控制面板,你只要运行组策略编辑器,并在左侧窗口中展开“本地计算机策略→用户配置→管理模板→控制面板”分支,然后将右侧窗口的“禁止访问控制面板”策略启用即可。

  此项设置可以防止控制面板程序文件的启动,其结果是他人将无法启动控制面板或运行任何控制面板项目。另外,这个设置将从“开始”菜单中删除控制面板,同时这个设置还从Windows资源管理器中删除控制面板文件夹。

  提示:如果你想从上下文菜单的属性项目中选择一个“控制面板”项目,会出现一个消息,说明该设置防止这个操作。

  第六招、设置用户权限

  当多人共用一台计算机时,在WindowsXP中设置用户权限,可以按照以下步骤进行:

  1)运行组策略编辑器程序。

  2)在编辑器窗口的左侧窗口中逐级展开“计算机配置→Windows设置→安全设置→本地策略→用户权限指派”分支。

  3)双击需要改变的用户权限,单击“添加用户或组”按钮,然后双击想指派给权限的用户账号,最后单击“确定”按钮退出。

  第七招、文件夹设置审核

  WindowsXP可以使用审核跟踪用于访问文件或其他对象的用户账户、登录尝试、系统关闭或重新启动以及类似的事件,而审核文件和NTFS分区下的文件夹可以保证文件和文件夹的安全。为文件和文件夹设置审核的步骤如下:

  1)在组策略窗口中,逐级展开右侧窗口中的“计算机配置→Windows设置→安全设置→本地策略”分支,然后在该分支下选择“审核策略”选项。

  2)在右侧窗口中用鼠标双击“审核对象访问”选项。

  3)用鼠标右键单击想要审核的文件或文件夹,选择弹出菜单的“属性”命令,接着在弹出的窗口中选择“安全”标签。

  4)单击“高级”按钮,然后选择“审核”标签。

  5)根据具体情况选择你的操作:

  倘若对一个新组或用户设置审核,可以单击“添加”按钮,并且在“名称”框中键入新用户名,然后单击“确定”按钮打开“审核项目”对话框。

  要查看或更改原有的组或用户审核,可以选择用户名,然后单击“查看/编辑”按钮。

  要删除原有的组或用户审核,可以选择用户名,然后单击“删除”按钮即可。

  6)如有必要的话,在“审核项目”对话框中的“应用到”列表中选取你希望审核的地方。

  7)如果想禁止目录树中的文件和子文件夹继承这些审核项目,选择“仅对此容器内的对象和/或容器应用这些审核项”复选框。

  注意:必须是管理员组成员或在组策略中被授权有“管理审核和安全日志”权限的用户可以审核文件或文件夹。在WindowsXP审核文件、文件夹之前,你必须启用组策略中“审核策略”的“审核对象访问”。否则,当你设置完文件、文件夹审核时会返回一个错误消息,并且文件、文件夹都没有被审核。