欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      TC358763命令格式及初始化

      時(shí)間:2019-05-13 07:37:11下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《TC358763命令格式及初始化》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《TC358763命令格式及初始化》。

      第一篇:TC358763命令格式及初始化

      命令無(wú)參數(shù):

      write_3587063(0x0924,0x05);//bit7:6=Virtual Channel, bit5:0=Data Type DCS Short Write(no parameter)

      write_3587063(0x0925,0x00);

      write_3587063(0x0926,0x00);

      write_3587063(0x0927,0x00);

      write_3587063(0x0928,0x2c);//DSC COMMAND 03H

      write_3587063(0x0929,0x00);

      write_3587063(0x092a,0x00);

      write_3587063(0x092b,0x00);

      write_3587063(0x0920,0x01);

      delay_nms(20);

      命令一個(gè)參數(shù)

      write_3587063(0x0924,0x15);//bit7:6=Virtual Channel, bit5:0=Data Type DCS Short Write(no parameter)

      write_3587063(0x0925,0x00);

      write_3587063(0x0926,0x00);

      write_3587063(0x0927,0x00);

      write_3587063(0x0928,0x35);//DSC COMMAND XXH

      write_3587063(0x0929,0x00);//Parameter1

      write_3587063(0x092a,0x00);

      write_3587063(0x092b,0x00);

      write_3587063(0x0920,0x01);

      delay_nms(20);

      命令2-8個(gè)參數(shù)

      write_3587063(0x0924,0x39);//bit7:6=Virtual Channel, bit5:0=Data Type DCS Short Write(no parameter)

      write_3587063(0x0925,0x00);

      write_3587063(0x0926,0x05);//Word Count(Lower Byte)zz

      write_3587063(0x0927,0x00);//Word Count(Upper Byte)

      write_3587063(0x0928,0xbf);//bit7:0=DCS Command

      write_3587063(0x0929,0x01);//1

      write_3587063(0x092a,0x84);//2

      write_3587063(0x092b,0x07);//3

      write_3587063(0x092C,0x31);//4

      write_3587063(0x0920,0x0d);

      delay_nms(20);

      寫(xiě)超過(guò)8個(gè)參數(shù)命令格式:

      write_3587063(0x0924,0x39);//bit7:6=Virtual Channel, bit5:0=Data Type DCS Short Write(no parameter)

      write_3587063(0x0925,0x00);

      write_3587063(0x0926,0x23);//Word Count(Lower Byte)zz

      write_3587063(0x0927,0x00);//Word Count(Upper Byte)

      write_3587063(0x0928,0xe0);//bit7:0=DCS Command

      write_3587063(0x01b0,0x00);//1

      write_3587063(0x01b0,0x06);//2

      write_3587063(0x01b0,0x0a);//3

      write_3587063(0x01b0,0x06);//4

      write_3587063(0x01b0,0x10);//5

      write_3587063(0x01b0,0x3f);//6

      write_3587063(0x01b0,0x15);//7

      write_3587063(0x01b0,0x20);//8

      write_3587063(0x01b0,0x87);//9

      write_3587063(0x01b0,0x8e);//10

      write_3587063(0x01b0,0xd1);//11

      write_3587063(0x01b0,0xd6);//12

      write_3587063(0x01b0,0xd8);//13

      write_3587063(0x01b0,0x17);//14

      write_3587063(0x01b0,0x17);//15

      write_3587063(0x01b0,0x09);//16

      write_3587063(0x01b0,0x0a);//17

      write_3587063(0x01b0,0x00);//18

      write_3587063(0x01b0,0x06);//19

      write_3587063(0x01b0,0x0a);//20

      write_3587063(0x01b0,0x06);//21

      write_3587063(0x01b0,0x10);//22

      write_3587063(0x01b0,0x3f);//23

      write_3587063(0x01b0,0x15);//24

      write_3587063(0x01b0,0x20);//25

      write_3587063(0x01b0,0x87);//26

      write_3587063(0x01b0,0x8e);//27

      write_3587063(0x01b0,0xd1);//28

      write_3587063(0x01b0,0xd6);//29

      write_3587063(0x01b0,0xd8);//30

      write_3587063(0x01b0,0x17);//31

      write_3587063(0x01b0,0x17);//32

      write_3587063(0x01b0,0x09);//33

      write_3587063(0x01b0,0x0a);//34

      write_3587063(0x0920,0x09);

      delay_nms(100);

      //TC358763初始化:

      write_3587063(0x0040,0x01);//s/w reset

      delay(1000);// Delay 10ms

      write_3587063(0x0040,0x00);//s/w reset release

      delay(1000);// Delay 10ms

      write_3587063(0x0008,0x28);//SPI 4-wire mode, DSI output

      write_3587063(0x0020,0x01);//PLL Input clock pre divider(PRD)1/1 0x01

      write_3587063(0x0021,0x00);//PLL Setting 0

      write_3587063(0x0022,0x33);//PLL Feadback divider(FDB)(external)0x33

      write_3587063(0x0023,0x80);//PLL FRS,LBWS(HSCK=300MHz)0x80

      write_3587063(0x0024,0x00);//

      write_3587063(0x0025,0x02);//SYSCLK=HSCLK/4(02h)-> SYSCLK=75MHz 0x02 write_3587063(0x0024,0x01);//PLL Enable

      delay(3000);// Delay 30ms

      write_3587063(0x0024,0x03);//CKEN = 1

      delay(3000);// Delay 30ms

      write_3587063(0x0028,0x01);//SYSCENA = 1

      delay(3000);// Delay 30ms

      //TC358763XBG DPI input setting

      write_3587063(0x0110,0x00);

      write_3587063(0x0111,0x00);

      write_3587063(0x0112,0xDf);

      write_3587063(0x0113,0x01);//X L Edge = 0, R Edge 01DFh=479dH=480pixel

      write_3587063(0x0114,0x00);

      write_3587063(0x0115,0x00);

      write_3587063(0x0116,0x1f);

      write_3587063(0x0117,0x03);//Y Top Edge = 0, Bot Edge 35fh=863dV=864pixel

      write_3587063(0x0140,0x02);// DPI input format RGB888

      //write_3587063(0x0140,0x01);//DPI input format RGB666

      //write_3587063(0x0140,0x00);//DPI input format RGB565

      //TC358763XBG TG(for DSI output)setting

      write_3587063(0x0500,0x01);//TG enable

      write_3587063(0x0508,0xDf);//TG HDP=01dfh=479d

      write_3587063(0x0509,0x01);//

      //add by yjf

      write_3587063(0x050c,0x0a);//TG HDP=01dfh=479d

      write_3587063(0x050d,0x00);//

      write_3587063(0x050e,0x0a);//TG HDP=01dfh=479d

      write_3587063(0x050f,0x00);//

      write_3587063(0x0510,0x0a);//TG HDP=01dfh=479d

      write_3587063(0x0511,0x00);//

      write_3587063(0x0514,0x1f);//TG VDP=035fh=863d

      write_3587063(0x0515,0x03);//

      write_3587063(0x0501,0x00);//DPI input HSYNC,VSYNC high active

      write_3587063(0x0520,0x08);//line adjust pixel number

      write_3587063(0x0522,0x08);//line adjust byte number, depend on DPI-CLK,DSI rate

      //TC358763XBG TG(for DSI output)setting

      write_3587063(0x0900,0x01);//DSI Enable

      write_3587063(0x1904,0x1d);//IP Reset

      write_3587063(0x1905,0x00);//

      write_3587063(0x1906,0x00);//

      write_3587063(0x1907,0x00);//

      write_3587063(0x1c10,0x64);//LINEINITCNT

      write_3587063(0x1c11,0x19);

      write_3587063(0x1c12,0x00);

      write_3587063(0x1c13,0x00);

      write_3587063(0x1c14,0x08);//LPTXTIMECNT

      write_3587063(0x1c15,0x00);

      write_3587063(0x1c16,0x00);

      write_3587063(0x1c17,0x00);

      write_3587063(0x1c18,0x25);//TCLK_HEADERCNT

      write_3587063(0x1c19,0x11);

      write_3587063(0x1c1a,0x00);

      write_3587063(0x1c1b,0x00);

      write_3587063(0x1c1c,0x02);//TCLK_TRAILCNT

      write_3587063(0x1c1d,0x00);

      write_3587063(0x1c1e,0x00);

      write_3587063(0x1c1f,0x00);

      write_3587063(0x1c20,0x06);//THS_HEADERCNT

      write_3587063(0x1c21,0x01);

      write_3587063(0x1c22,0x00);

      write_3587063(0x1c23,0x00);

      write_3587063(0x1c24,0x06);//TWAKEUPCNT

      write_3587063(0x1c25,0x01);

      write_3587063(0x1c26,0x00);

      write_3587063(0x1c27,0x00);

      write_3587063(0x1c28,0xb0);//TCLK_POSTCNT

      write_3587063(0x1c29,0x36);

      write_3587063(0x1c2a,0x00);

      write_3587063(0x1c2b,0x00);

      write_3587063(0x1c2c,0x08);//THS_TRAILCNT

      write_3587063(0x1c2d,0x00);

      write_3587063(0x1c2e,0x00);

      write_3587063(0x1c2f,0x00);

      write_3587063(0x1c30,0x03);//HSTXVREGCNT

      write_3587063(0x1c31,0x00);

      write_3587063(0x1c32,0x00);

      write_3587063(0x1c33,0x00);

      write_3587063(0x1c34,0x07);//HSTXVREGEN

      write_3587063(0x1c35,0x00);

      write_3587063(0x1c36,0x00);

      write_3587063(0x1c37,0x00);

      //write_3587063(0x1c38,0x01);// CONTCLKMODE DSI clock is always on

      //write_3587063(0x1c39,0x00);

      //write_3587063(0x1c3a,0x00);

      //write_3587063(0x1c3b,0x00);

      write_3587063(0x1c3c,0x07);// CONTCLKMODE DSI clock is always on

      write_3587063(0x1c3d,0x00);

      write_3587063(0x1c3e,0x08);

      write_3587063(0x1c3f,0x00);

      write_3587063(0x1c04,0x01);// PPI-TX function START

      write_3587063(0x1c05,0x00);

      write_3587063(0x1c06,0x00);

      write_3587063(0x1c07,0x00);

      //TC358763XBG DSI Blank Packet setting

      write_3587063(0x0912,0x09);//BL1,2,3,4 enable

      //write_3587063(0x0913,0x00);//BL2 Command packet disable

      write_3587063(0x0918,0x40);//BL1[7:0]0x0008

      write_3587063(0x0919,0x01);//BL1[15:8]0x0008

      write_3587063(0x091a,0xc1);//BL2[7:0]0x000c

      write_3587063(0x091b,0x03);//BL2[15:8]0x000c

      write_3587063(0x091c,0x4d);//BL3[7:0]0x05c0

      write_3587063(0x091d,0x10);//BL3[15:8]0x05c0

      write_3587063(0x091e,0x42);//BL4[7:0]0x0014

      write_3587063(0x091f,0x00);//BL4[7:0]0x0014

      //TC358762XBG Initialize

      //Peripheral_Setting_Example_DPI-DSI_v01.txt ' Peripheral Setting

      delay(100);// Delay 10ms

      init_HX8363B_mipi();

      write_3587063(0x1c38,0x00);// CONTCLKMODE DSI clock enable/disable during LP write_3587063(0x1c39,0x00);

      write_3587063(0x1c3a,0x00);

      write_3587063(0x1c3b,0x00);

      //TC358763XBG DSI lane setting

      //write_3587063(0x180c,0x84);//Packet Setting 3 lane

      write_3587063(0x180c,0x82);//Packet Setting 2 lane

      //write_3587063(0x180c,0x80);//Packet Setting 1 lane

      //write_3587063(0x180c,0x00);//LP Packet Setting

      write_3587063(0x180d,0x3f);//Timeout timer enable, Contension, ECC disable

      //write_3587063(0x180d,0x03);//Timeout timer disable, Contension, ECC disable

      write_3587063(0x180e,0x00);

      write_3587063(0x180f,0x00);

      //TC358763XBG DSI Transmission mode setting

      write_3587063(0x0910,0x00);//Transmission Mode=CMD /Type=DCS Long

      //write_3587063(0x0910,0x02);//Transmission Mode=CMD /Type=Generic Long//

      //write_3587063(0x0910,0x01);//Transmission Mode=VideoStream mode /Type=Sync Pulses mode

      //write_3587063(0x0910,0x05);//Transmission Mode=VideoStream mode /Type=Sync Events mode

      //write_3587063(0x0910,0x09);//Transmission Mode=VideoStream mode /Type=Simple mode //write_3587063(0x0910,0x0d);//Transmission Mode=VideoStream mode /Type=Sync Irregularly mode

      //write_3587063(0x0911,0x01);//1b: Packed RGB666 format(DataType=1E)

      write_3587063(0x0911,0x00);//0b: Loosely Packed RGB666 format 24bit(DataType=2E)

      write_3587063(0x01c0,0x01);//Image FIFO resest

      write_3587063(0x0504,0x01);//DPI capture start

      第二篇:TC

      第五章 TC 算術(shù)運(yùn)算符和算術(shù)表達(dá)式

      5.1 概述

      TC語(yǔ)言中運(yùn)算符和表達(dá)式數(shù)量之多,在腳本語(yǔ)言中是少見(jiàn)的,正是豐富的運(yùn)算符和表達(dá)式使TC 語(yǔ)言功能十分完善。這也是TC語(yǔ)言的主要特點(diǎn)之一。

      TC語(yǔ)言的運(yùn)算符具有不同的優(yōu)先級(jí),在表達(dá)式中,各運(yùn)算量參與運(yùn)算的先后順序要遵守運(yùn)算符優(yōu)先級(jí)別的規(guī)定.5.2 TC運(yùn)算符簡(jiǎn)介

      TC語(yǔ)言的運(yùn)算符可分為以下幾類(lèi):

      1.算術(shù)運(yùn)算符:用于各類(lèi)數(shù)值運(yùn)算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱(chēng)模運(yùn)算,%)。

      2.關(guān)系運(yùn)算符:用于比較運(yùn)算。包括大于(>)、小于(<)、等于(= =)、大于等于(>=)、小于等于(<=)和不等于(!=)六種。

      3.邏輯運(yùn)算符:用于邏輯運(yùn)算。包括與(&&)、或(||)、非(!)三種。4.賦值運(yùn)算符:用于賦值運(yùn)算,分為簡(jiǎn)單賦值(=).算術(shù)運(yùn)算符用來(lái)計(jì)算,關(guān)系和邏輯運(yùn)算符,用來(lái)作比較,賦值運(yùn)算符,用來(lái)給變量賦值.5.3算術(shù)運(yùn)算符和算術(shù)表達(dá)式 1.基本的算術(shù)運(yùn)算符

      ? 加法運(yùn)算符“+”:加法運(yùn)算符為雙目運(yùn)算符,即應(yīng)有兩個(gè)量參與加法運(yùn)算。如a+b,4+8等。? 減法運(yùn)算符“-”:減法運(yùn)算符為雙目運(yùn)算符。但“-”也可作負(fù)值運(yùn)算符,此時(shí)為單目運(yùn)算,如-x,-5等 ? 乘法運(yùn)算符“*”:雙目運(yùn)算.? 除法運(yùn)算符“/”:雙目運(yùn)算。參與運(yùn)算量均為整型時(shí),結(jié)果也為整型,舍去小數(shù)。

      ? 如果運(yùn)算量中有一個(gè)是浮點(diǎn)型,則結(jié)果為浮點(diǎn)型。

      〖例〗

      1.字符型 字符

      2.字符=字符串.格式化(“nn%d,%dn”,20/7,-20/7)3.輔助.消息框(字符)4.字符=字符串.格式化(“nn%d,%dn”,20.0/7,-20.0/7)5.輔助.消息框(字符)復(fù)制代碼

      本例中,20/7,-20/7的結(jié)果均為整型,小數(shù)全部舍去。而20.0/7和-20.0/7由于有字符型參與運(yùn)算,因此結(jié)果也為實(shí)型。

      求余運(yùn)算符(模運(yùn)算符)“%”:雙目運(yùn)算。要求參與運(yùn)算的量均為整型。求余運(yùn)算的結(jié)果等于兩數(shù)相除后的余數(shù)?!纠?/p>

      1.字符型 字符

      2.字符= 字符串.格式化(“%dn”,100%3)3.輔助.消息框(字符)復(fù)制代碼

      本例輸出100除以3所得的余數(shù).2.算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)

      表達(dá)式是由常量、變量、功能和運(yùn)算符組合起來(lái)的式子。一個(gè)表達(dá)式有一個(gè)值及其類(lèi)型,它們等于計(jì)算表達(dá)式所得結(jié)果的值和類(lèi)型。表達(dá)式求值按運(yùn)算符的優(yōu)先級(jí)進(jìn)行。單個(gè)的常量、變量、功能可以看作是表達(dá)式的特例。算術(shù)表達(dá)式是由算術(shù)運(yùn)算符和括號(hào)連接起來(lái)的式子。

      算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱(chēng)操作數(shù))連接起來(lái)的、符合TC語(yǔ)法規(guī)則的式子。

      以下是算術(shù)表達(dá)式的例子:

      1.a+b 2.(a*2)/c 3.(x+r)*8-(a+b)/7 復(fù)制代碼

      運(yùn)算符的優(yōu)先級(jí):TC 語(yǔ)言中,運(yùn)算符的運(yùn)算優(yōu)先級(jí)共分為8級(jí).1級(jí)最高,9級(jí)最低.在表達(dá)式中,優(yōu)先級(jí)較高的先于優(yōu)先級(jí)較低的進(jìn)行運(yùn)算,同優(yōu)先級(jí)下,在TC中,都是從左向右計(jì)算.? 一級(jí),[](數(shù)組下標(biāo)調(diào)用),功能調(diào)用, ? 二級(jí),!(邏輯非運(yùn)算)

      ? 三級(jí),()(括號(hào)里面的表達(dá)式)

      ? 四級(jí),*(乘操作),/(除操作),%(求余)? 五級(jí),+(加法),-(減法)

      ? 六級(jí),>(大于),<(小于),>=(大于等于),<=(小于等于)? 七級(jí),==(等于),!=(不等于)? 八級(jí),&&(與操作)? 九級(jí),||(或操作)

      第六章 TC的關(guān)系運(yùn)算符和表達(dá)式

      6.1 概述

      在程序中經(jīng)常需要比較兩個(gè)量的大小關(guān)系,以決定程序下一步的工作,這樣的比較運(yùn)算在TC中稱(chēng)為關(guān)系表達(dá)式,運(yùn)算符號(hào)稱(chēng)為關(guān)系運(yùn)算符.6.2 關(guān)系運(yùn)算符

      比較兩個(gè)量的運(yùn)算符稱(chēng)為關(guān)系運(yùn)算符。

      關(guān)系運(yùn)算符及其優(yōu)先次序

      在TC語(yǔ)言中有以下關(guān)系運(yùn)算符: 1.< 小于

      2.<= 小于或等于 3.> 大于 4.>= 大于或等于 5.== 等于 6.!= 不等于

      關(guān)系運(yùn)算符都是雙目運(yùn)算符,其結(jié)合性均為左結(jié)合。關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。在六個(gè)關(guān)系運(yùn)算符中,<,<=,>,>=的優(yōu)先級(jí)相同,高于==和!=,==和!=的優(yōu)先級(jí)相同。

      6.2 關(guān)系表達(dá)式

      關(guān)系表達(dá)式的一般形式為:表達(dá)式,關(guān)系運(yùn)算符 ,表達(dá)式

      例如:

      1.a+b>c-d 2.x>3/2 3.復(fù)制代碼

      都是合法的關(guān)系表達(dá)式,關(guān)系表達(dá)式的值一定是為邏輯型,真 或者是 假,如:5>0的值為“真”。(a=3)>(b=5)由于3>5不成立,故其值為假。

      6.3 邏輯運(yùn)算符和表達(dá)式

      邏輯運(yùn)算符極其優(yōu)先次序,TC語(yǔ)言中提供了三種邏輯運(yùn)算符: 1.&& 與運(yùn)算 2.|| 或運(yùn)算 3.!非運(yùn)算

      與運(yùn)算符&&和或運(yùn)算符||均為雙目運(yùn)算符.非運(yùn)算符!為單目運(yùn)算符,具有右結(jié)合性。邏輯運(yùn)算符和其它運(yùn)算符優(yōu)先級(jí)的,關(guān)系可表示如下:

      1.!(非)→&&(與)→||(或)復(fù)制代碼

      “&&”和“||”低于關(guān)系運(yùn)算符,“!”高于算術(shù)運(yùn)算符。

      按照運(yùn)算符的優(yōu)先順序可以得出:

      a>b && c>d 等價(jià)于(a>b)&&(c>d)

      !b==c||dc&&x+yc)&&((x+y)

      邏輯運(yùn)算的值

      邏輯運(yùn)算的值也為“真”和“假”兩種。其求值規(guī)則如下:

      1.與運(yùn)算 &&:參與運(yùn)算的兩個(gè)量都為真時(shí),結(jié)果才為真,否則為假。

      例如:

      5>0 && 4>2 由于5>0為真,4>2也為真,相與的結(jié)果也為真。

      2.或運(yùn)算||:參與運(yùn)算的兩個(gè)量只要有一個(gè)為真,結(jié)果就為真。兩個(gè)量都為假時(shí),結(jié)果為假。例如:

      5>0||5>8

      由于5>0為真,相或的結(jié)果也就為真。

      3.非運(yùn)算!:參與運(yùn)算量為真時(shí),結(jié)果為假;參與運(yùn)算量為假時(shí),結(jié)果為真。

      例如:!(5>0)的結(jié)果為假。

      雖然TC編譯在給出邏輯運(yùn)算值時(shí),邏輯運(yùn)算值只有“真”,“假”這2個(gè)值。不是“真”就為“假”。

      邏輯表達(dá)式

      邏輯表達(dá)式的一般形式為:表達(dá)式 邏輯運(yùn)算符。

      其中的表達(dá)式可以又是邏輯表達(dá)式,從而組成了嵌套的情形。

      例如:(a&&b)&&c

      根據(jù)邏輯運(yùn)算符的左結(jié)合性,上式也可寫(xiě)為: a&&b&&c

      邏輯表達(dá)式的值是式中各種邏輯運(yùn)算的最后值,以“真”和“假”分別代表。

      下面做個(gè)表達(dá)式的綜合實(shí)例: [例]

      1.功能 邏輯型 測(cè)試(邏輯型 a,整型 b,整型 c)2.如果(a&&(c>b))3.輔助.消息框(“a等于真并且c大于b”)4.如果結(jié)束 5.6.如果(!a||(c+b)>100)7.輔助.消息框(“a等于假或者c加b的值大于100”)8.如果結(jié)束 9.10.返回 真

      11.功能結(jié)束

      復(fù)制代碼

      以上代碼中,我們不難看出,如果測(cè)試函數(shù)傳入的參數(shù)a為真,并且c大于b的時(shí)候,會(huì)彈出對(duì)話框“a等于真并且c大于b” ,如果傳入的參數(shù)a為假,并且b+c的值大于100的時(shí)候,會(huì)彈出對(duì)話框“a等于假或者c加b的值大于100”.第七章 TC 過(guò)程化程序設(shè)計(jì)

      7.1 概述

      過(guò)程化程序設(shè)計(jì)是一種以事件為中心的編程思想,就是分析出解決問(wèn)題所需要的步驟,然后用功能把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。

      面向過(guò)程其實(shí)是最為實(shí)際的一種思考方式,就是算面向?qū)ο蟮姆椒ㄒ彩呛忻嫦蜻^(guò)程的思想.可以說(shuō)面向過(guò)程是一種基礎(chǔ)的方法.它考慮的是實(shí)際的實(shí)現(xiàn).一般的面向過(guò)程是從上往下步步求精.所以面向過(guò)程最重要的是模塊化的思想方法.對(duì)比較面向?qū)ο?面向?qū)ο蟮姆椒ㄖ饕前咽挛锝o對(duì)象化,對(duì)象包括屬性與行為.當(dāng)程序規(guī)模不是很大時(shí),面向過(guò)程的方法還會(huì)體現(xiàn)出一種優(yōu)勢(shì),因?yàn)槌绦虻牧鞒毯芮宄?按著模塊與功能的方法可以很好的組織.比如拿學(xué)生早上起來(lái)的事情來(lái)說(shuō)說(shuō)這種面向過(guò)程吧.粗略的可以將過(guò)程擬為:

      (1)起床

      (2)穿衣

      (3)洗臉?biāo)⒀?/p>

      (4)去學(xué)校

      而這4步就是一步一步的完成,它的順序很重要,你只須一個(gè)一個(gè)的實(shí)現(xiàn)就行了,我們用TC的形式表現(xiàn)出來(lái)

      1.空間 我的一天 2.3.功能 邏輯型 起床()4.//起床...5.返回 真 6.功能結(jié)束 7.8.功能 邏輯型 穿衣()9.//穿衣...10.11.12.13.14.15.16.17.18.19.20.21.22.返回 真 功能結(jié)束

      功能 邏輯型 洗臉?biāo)⒀?)//洗臉?biāo)⒀?..返回 真 功能結(jié)束

      功能 邏輯型 去學(xué)校()//去學(xué)校...返回 真 功能結(jié)束

      23.空間結(jié)束

      復(fù)制代碼

      我們調(diào)用的時(shí)候就這樣了

      1.我的一天.起床()2.我的一天.穿衣()3.我的一天.洗臉?biāo)⒀?)4.我的一天.去學(xué)校()復(fù)制代碼

      過(guò)程化程序設(shè)計(jì)中,我們經(jīng)常把把一個(gè)問(wèn)題分解成若干小問(wèn)題,再對(duì)每個(gè)小問(wèn)題進(jìn)行分解(分模塊),知道每個(gè)問(wèn)題的難度都足以小,能夠解決為止,然后再把這些小問(wèn)題合并,就解決了大問(wèn)題,一般要完成過(guò)程化程序設(shè)計(jì)主要由以下三種邏輯結(jié)構(gòu)組成:

      ? 順序結(jié)構(gòu):順序結(jié)構(gòu)是一種線性、有序的結(jié)構(gòu),它依次執(zhí)行各功能 ? 循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)是重復(fù)執(zhí)行一個(gè)或幾個(gè)模塊,直到滿足某一條件為止 ? 選擇結(jié)構(gòu):選擇結(jié)構(gòu)是根據(jù)條件成立與否選擇程序執(zhí)行的通路

      采用過(guò)程化程序設(shè)計(jì)方法,程序結(jié)構(gòu)清晰,易于閱讀、測(cè)試、排錯(cuò)和修改。由于每個(gè)模塊用功能定義封裝,執(zhí)行單一功能,模塊間聯(lián)系較少,使程序編制比過(guò)去更簡(jiǎn)單,程序更可靠,而且增加了可維護(hù)性,每個(gè)模塊可以獨(dú)立編制、測(cè)試.下面我們來(lái)一一介紹它們.第八章 TC 如果語(yǔ)句

      8.1 如果語(yǔ)句

      如果語(yǔ)句,也就是 如果 語(yǔ)句,用如果語(yǔ)句可以構(gòu)成分支結(jié)構(gòu).它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段.TC語(yǔ)言的如果語(yǔ)句有兩種基本形式,并且每個(gè)如果語(yǔ)句的結(jié)尾都要有一個(gè)如果結(jié)束。

      (注:關(guān)鍵字中英文對(duì)應(yīng)關(guān)系,如果else,如果結(jié)束select,條件default,選擇結(jié)束while,循環(huán)結(jié)束endfor)

      圖解:

      實(shí)例:

      1.2.功能 邏輯型 測(cè)試()3.整型 i=0 4.遍歷(100)5.i=i+1 6.遍歷結(jié)束 7.返回 真

      8.功能結(jié)束

      復(fù)制代碼

      本例程序?qū)⒅貜?fù)執(zhí)行100次循環(huán),每執(zhí)行一次,i值加1。

      2、條件表達(dá)式的遍歷

      遍歷(整型 i=0;i<100;i++)…… 循環(huán)語(yǔ)句 遍歷結(jié)束

      注: 整型 i : 表示定義了一個(gè)遍歷語(yǔ)句的變量。

      i<100 : 這個(gè)是遍歷語(yǔ)句成立的條件,只要i的值小于100,就會(huì)一直遍歷下去,直到i大于等于100結(jié)束遍歷。

      i++ : 這個(gè)語(yǔ)句相當(dāng)于 i = i + 1。

      圖解:

      實(shí)例:

      1.2.功能 邏輯型 測(cè)試()3.整型 sun=0 4.遍歷(整型 i=0;i<100;i++)5.sun = sun + 1 6.遍歷結(jié)束

      7.輔助.消息框(轉(zhuǎn)換.整型轉(zhuǎn)字符型(sun))8.返回 真 9.功能結(jié)束

      10.復(fù)制代碼

      10.1.3 跳出語(yǔ)句

      跳出語(yǔ)句通常用在循環(huán)語(yǔ)句中。如果沒(méi)有跳出語(yǔ)句,則將成為一個(gè)死循環(huán)而無(wú)法退出。當(dāng)跳出語(yǔ)句用于循環(huán)語(yǔ)句中時(shí),可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句, 通常跳出 語(yǔ)句總是與如果語(yǔ)句聯(lián)在一起。即滿足條件時(shí)便跳出循環(huán)。

      (注:關(guān)鍵字中英文對(duì)應(yīng)關(guān)系,跳出continue)循環(huán)(表達(dá)式1)

      ……

      如果(表達(dá)式2)繼續(xù)

      ……

      如果結(jié)束

      循環(huán)結(jié)束 例:

      1.2.功能 邏輯型 測(cè)試()3.整型 i=0 4.循環(huán)(i<100)//設(shè)置循環(huán) 5.如果(i<50)6.i=i+2 7.繼續(xù) //判斷滿足條件者,不在執(zhí)行后面的語(yǔ)句,直接返回循環(huán)語(yǔ)句繼續(xù)循環(huán) 8.如果結(jié)束 9.i=i+1 10.11.循環(huán)結(jié)束 返回 真

      12.功能結(jié)束

      復(fù)制代碼

      事例中當(dāng)i的值小于50的時(shí)候,i每次都是加2的,當(dāng)i的值大于50的時(shí)候就每次加1了。

      第十一章 TC 功能定義

      11.1 TC功能概述:

      功能是TC源程序的基本模塊,通過(guò)對(duì)功能模塊的調(diào)用實(shí)現(xiàn)特定的功能.TC語(yǔ)言中的功能相當(dāng)于其它高級(jí)語(yǔ)言的子程序,在其他高級(jí)語(yǔ)言中,比如C,C++中,稱(chēng)為函數(shù).允許用戶建立自己定義的功能。用戶可把自己的算法編成一個(gè)個(gè)相對(duì)du立的功能模塊,然后用調(diào)用的方法來(lái)使用功能??梢哉f(shuō)TC程序的全部工作都是由各式各樣的功能完成的,所以也把TC語(yǔ)言稱(chēng)為功能式語(yǔ)言。

      由于采用了功能模塊式的結(jié)構(gòu),TC語(yǔ)言易于實(shí)現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)。使程序的層次結(jié)構(gòu)清晰,便于程序的編寫(xiě)、閱讀、調(diào)試。

      在TC語(yǔ)言中可從不同的角度對(duì)功能分類(lèi)。

      一.從功能定義的角度看,功能可分為T(mén)C庫(kù)功能(API)和用戶定義功能兩種。1)TC庫(kù)功能(API):由TC系統(tǒng)提供,用戶無(wú)須定義,也不必在程序中作類(lèi)型說(shuō)明,只需在程序中直接調(diào)用即可。2)用戶定義功能:由用戶按需要寫(xiě)的功能。對(duì)于用戶自定義功能,不僅要在程序中定義功能本身,而且在主調(diào)功能模塊中還必須對(duì)該被調(diào)功能進(jìn)行類(lèi)型說(shuō)明,然后才能使用。

      二.TC語(yǔ)言的功能兼有其它語(yǔ)言中的功能和過(guò)程兩種功能,所有TC功能都是有返回值的功能:此類(lèi)功能被調(diào)用執(zhí)行完后將向調(diào)用者返回一個(gè)執(zhí)行結(jié)果,稱(chēng)為功能返回值。如數(shù)學(xué)功能即屬于此類(lèi)功能。由用戶定義的這種要返回功能值的功能,必須在功能定義和功能說(shuō)明中明確返回值的類(lèi)型。

      三.從主調(diào)功能和被調(diào)功能之間數(shù)據(jù)傳送的角度看又可分為無(wú)參功能和有參功能兩種。

      1)無(wú)參功能:功能定義、功能說(shuō)明及功能調(diào)用中均不帶參數(shù)。主調(diào)功能和被調(diào)功能之間不進(jìn)行參數(shù)傳送。

      2)有參功能:也稱(chēng)為帶參功能。在功能定義及功能說(shuō)明時(shí)都有參數(shù),稱(chēng)為形式參數(shù)(簡(jiǎn)稱(chēng)為形參)。在功能調(diào)用時(shí)也必須給出參數(shù),稱(chēng)為實(shí)際參數(shù)(簡(jiǎn)稱(chēng)為實(shí)參)。進(jìn)行功能調(diào)用時(shí),主調(diào)功能將把實(shí)參的值傳送給形參,供被調(diào)功能使用。

      四.TC語(yǔ)言提供了極為豐富的(API)庫(kù)功能,這些庫(kù)功能又可從功能角度分類(lèi)。具體可以在TC程序中或者幫助文檔中看到相應(yīng)的功能功能和使用說(shuō)明。功能定義的一般形式

      (注:關(guān)鍵字中英文對(duì)應(yīng)關(guān)系,功能endfunction,返回-return)

      1.無(wú)參功能定義的一般形式

      1.功能 功能類(lèi)型 功能名()2.//聲明部分.....語(yǔ)句 3.//執(zhí)行的操作 4.返回 功能類(lèi)型 5.功能結(jié)束

      6.復(fù)制代碼

      其中功能類(lèi)型和功能名稱(chēng)為功能頭。返回類(lèi)型指明了本功能的類(lèi)型,功能的類(lèi)型實(shí)際上是功能返回值的類(lèi)型.該返回類(lèi)型與前面介紹的TC的各種類(lèi)型相同。功能名是由用戶定義的標(biāo)識(shí)符,功能名后有一個(gè)空括號(hào),其中無(wú)參數(shù),但括號(hào)不可少。功能到功能結(jié)束中的內(nèi)容稱(chēng)為功能體。功能體是執(zhí)行具體操作的功能調(diào)用的集合,它完成了功能的實(shí)現(xiàn)操作.1.功能 邏輯型 Hello()2.//這里添加你要執(zhí)行的代碼 3.輔助.消息框(“Hello,world ”)4.返回 真 5.功能結(jié)束

      復(fù)制代碼

      這里,Hello作為功能名的功能,Hello功能是一個(gè)無(wú)參功能,當(dāng)被其它功能調(diào)用時(shí),彈出Hello world對(duì)話框。

      2.有參功能定義的一般形式

      1.功能 功能類(lèi)型 功能名(形式參數(shù)表列)2.//聲明部分.....語(yǔ)句 3.返回 功能類(lèi)型

      4.功能結(jié)束

      復(fù)制代碼

      有參功能比無(wú)參功能多了一個(gè)內(nèi)容,即形式參數(shù)表列。在形參表中給出的參數(shù)稱(chēng)為形式參數(shù),它們可以是各種類(lèi)型的變量,各參數(shù)之間用逗號(hào)間隔。在進(jìn)行功能調(diào)用時(shí),主調(diào)功能將賦予這些形式參數(shù)實(shí)際的值。形參既然是變量,必須在形參表中給出形參的類(lèi)型說(shuō)明。例如,定義一個(gè)功能,用于求兩個(gè)數(shù)中的大數(shù),可寫(xiě)為:

      1.功能 整型 max(整型 a, 整型 b)2.如果(a>b)3.返回 a 4.否則 5.返回 b 6.如果結(jié)束

      7.功能結(jié)束

      復(fù)制代碼

      第一行說(shuō)明max功能是一個(gè)整型功能,其返回的功能值是一個(gè)整數(shù)。形參為a,b,均為整型量。a,b的具體值是由主調(diào)功能在調(diào)用時(shí)傳送過(guò)來(lái)的。在function 和endfunction 中的功能體內(nèi),除形參外沒(méi)有使用其它變量,因此只有語(yǔ)句而沒(méi)有聲明部分。在max功能體中的return語(yǔ)句是把a(bǔ)(或b)的值作為功能的值返回給主調(diào)功能。有返回值功能中至少應(yīng)有一個(gè)return語(yǔ)句。

      11.2 功能的參數(shù)和功能的值 1.形式參數(shù)和實(shí)際參數(shù)

      前面已經(jīng)介紹過(guò),功能的參數(shù)分為形參和實(shí)參兩種。在本小節(jié)中,進(jìn)一步介紹形參、實(shí)參的特點(diǎn)和兩者的關(guān)系。形參出現(xiàn)在功能定義中,在整個(gè)功能體內(nèi)都可以使用,離開(kāi)該功能則不能使用。實(shí)參出現(xiàn)在主調(diào)功能中,進(jìn)入被調(diào)功能后,實(shí) 19 參變量也不能使用。形參和實(shí)參的功能是作數(shù)據(jù)傳送。發(fā)生功能調(diào)用時(shí),主調(diào)功能把實(shí)參的值傳送給被調(diào)功能的形參從而實(shí)現(xiàn)主調(diào)功能向被調(diào)功能的數(shù)據(jù)傳送。功能的形參和實(shí)參具有以下特點(diǎn):

      ? 形參變量只有在被調(diào)用時(shí)才分配內(nèi)存單元,在調(diào)用結(jié)束時(shí),即刻釋放所分配的內(nèi)存單元。因此,形參只有在功能內(nèi)部有效。功能調(diào)用結(jié)束返回主調(diào)功能后則不能再使用該形參變量。

      實(shí)參可以是常量、變量、表達(dá)式、功能等,無(wú)論實(shí)參是何種類(lèi)型的量,在進(jìn)行功能調(diào)用時(shí),它們都必須具有確定的值,以便把這些值傳送給形參。因此應(yīng)預(yù)先用賦值,輸入等辦法使實(shí)參獲得確定值。

      ? 實(shí)參和形參在數(shù)量上,類(lèi)型上,順序上應(yīng)嚴(yán)格一致,否則會(huì)發(fā)生類(lèi)型不匹配”的錯(cuò)誤。

      ? 功能調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。因此在功能調(diào)用過(guò)程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化

      例:

      1.空間 測(cè)試 2.功能 邏輯型 A()3.整型 n=100 4.測(cè)試.B(n)5.返回 真 6.功能結(jié)束 7.8.功能 整型 B(整型 n)9.整型 i=n-1 10.11.12.13.14.15.16.復(fù)制代碼

      循環(huán)(i>=1)n=n+i i=i-1 循環(huán)結(jié)束 返回 n 功能結(jié)束 空間結(jié)束 在A功能中輸入n值等于100,并作為實(shí)參,在調(diào)用時(shí)傳送給s 功能的形參量n(注意,本例的形參變量和實(shí)參變量的標(biāo)識(shí)符都為n,但這是兩個(gè)不同的量,各自的作用域不同)。n值為100。即實(shí)參n的值為100。把此值傳給功能s時(shí),形參n的初值也為100,在執(zhí)行功能過(guò)程中,形參n的值變?yōu)?050。返回主功能之后,輸出實(shí)參n的值仍為100。可見(jiàn)實(shí)參的值不隨形參的變化而變化。

      2.默認(rèn)參數(shù)和引用傳值參數(shù) 1).默認(rèn)參數(shù):

      前面已經(jīng)介紹過(guò),功能的參數(shù)分為形參和實(shí)參兩種。功能通過(guò)定義形參的數(shù)據(jù)類(lèi)型,調(diào)用該功能者則需要傳入一個(gè)和形參相同的數(shù)據(jù)類(lèi)型的參數(shù)來(lái)調(diào)用。通常情況下,功能定義了多少個(gè)參數(shù)個(gè)數(shù),調(diào)用該功能者必須傳遞相應(yīng)數(shù)據(jù)類(lèi)型的參數(shù)個(gè)數(shù),如果用戶在功能定義參數(shù)的時(shí)候予以了初始值,調(diào)用該功能者,可以根據(jù)需要如果不需要這個(gè)參數(shù)的時(shí)候,可以不用對(duì)該參數(shù)進(jìn)行賦值調(diào)用.或者修改其默認(rèn)值進(jìn)行調(diào)用都可以,這種功能參數(shù)的定義方式就是默認(rèn)參數(shù)定義。例:

      空間 我的程序

      功能 整型 默認(rèn)參數(shù)(整型 參數(shù)A,整型 參數(shù)B=0).....//語(yǔ)句 返回 0 功能結(jié)束

      功能 整型 A(整型 參數(shù)A)

      我的程序.默認(rèn)參數(shù)(參數(shù)A)//第二個(gè)默認(rèn)參數(shù)可以選擇不傳值

      我的程序.默認(rèn)參數(shù)(參數(shù)A,10)//第二個(gè)默認(rèn)參數(shù)可以傳入其他整型值 返回 0 功能結(jié)束

      空間結(jié)束

      以上例子,我們可以看到,功能:默認(rèn)參數(shù)中,有2個(gè)參數(shù),第一個(gè)是整型參數(shù),第二個(gè)也是整型參數(shù),但在定義的時(shí)候賦初始值等于0了,也就是默認(rèn)參數(shù)。所以功能A在調(diào)用功能默認(rèn)參數(shù)的時(shí)候,除了第一參數(shù)必須傳入一個(gè)整型參數(shù)外,第二個(gè)默認(rèn)參數(shù)可以選擇性的選擇傳入另外一個(gè)整型值或者不傳任何值。

      2).引用傳值參數(shù): 前面已經(jīng)介紹過(guò),功能的參數(shù)分為形參和實(shí)參兩種。功能調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。因此在功能調(diào)用過(guò)程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化。但通過(guò)我們的引用傳值參數(shù)方式可以改變這種數(shù)據(jù)是單向的傳遞方式,我們?cè)谧鲆粋€(gè)功能定義參數(shù)的時(shí)候,在參數(shù)前面加一個(gè)“&”符號(hào),就說(shuō)明了這個(gè)參數(shù)屬于引用傳值。調(diào)用該功能者,在給該功能的引用傳值傳入?yún)?shù)變量的時(shí)候,如果調(diào)用者對(duì)該引用傳值傳入?yún)?shù)變量進(jìn)行重新賦值的時(shí)候,在該功能調(diào)用結(jié)束的時(shí)候,該引用傳值傳入?yún)?shù)變量的值會(huì)等于調(diào)用者中重新賦予的新值,這種功能參數(shù)的定義,以 “&”符號(hào) 出現(xiàn)的時(shí)候,就屬于引用傳值參數(shù)。例:

      空間 我的程序

      功能 整型 引用傳值(整型 &A, 整型 &B)A=A*2 B=B*4 返回 0 功能結(jié)束

      功能 整型 普通傳值(整型 A,整型 B)A=1, B=2

      我的程序.引用傳值(A,B)返回 0 功能結(jié)束

      以上例子中,功能:引用傳值,定義了2個(gè)引用傳值的參數(shù)A和B,功能:普通傳值, 在調(diào)用功能引用傳值的時(shí)候, 傳入了變量A,和變量B, 變量A的值賦值等于1, 變量B的值賦值等于2, 而引用傳值功能會(huì)將傳入的變量A的值乘于2, 將變量B的值乘于4, 所以在功能:引用傳值執(zhí)行到返回的時(shí)候, 傳入的變量A的值由原來(lái)的1等于1*2改變等于2, 而變量B的值由原來(lái)的2等于2*4改變等于8。

      3.功能的返回值

      功能的值是指功能被調(diào)用之后,執(zhí)行功能體中的程序段所取得的并返回給主調(diào)功能的值。對(duì)功能的值(或稱(chēng)功能返回值)有以下一些說(shuō)明:

      1)功能的值只能通過(guò)return語(yǔ)句返回主調(diào)功能。

      返回語(yǔ)句的一般形式為:

      返回 表達(dá)式

      或者為:

      返回(表達(dá)式)該語(yǔ)句的功能是計(jì)算表達(dá)式的值,并返回給主調(diào)功能。在功能中允許有多個(gè)返回語(yǔ)句,但每次調(diào)用只能有一個(gè)返回語(yǔ)句被執(zhí)行,因此只能返回一個(gè)功能值。2)功能值的類(lèi)型和功能定義中功能的類(lèi)型應(yīng)保持一致。例:

      1.2.空間 測(cè)試

      3.功能 整型 A(整型 a, 整型 b)4.返回 a+b 5.功能結(jié)束 6.7.功能 整型 B(整型 a, 整型 b)8.如果(a>b)9.返回 a 10.11.12.13.否則

      返回 測(cè)試.A(a,b)如果結(jié)束 功能結(jié)束

      14.空間結(jié)束

      復(fù)制代碼

      功能A中,返回了2個(gè)參數(shù)中和的表達(dá)式,功能B者通過(guò)比較參數(shù)的大小來(lái)返回,如果參數(shù)a大于參數(shù)b返回參數(shù)a,否則傳參數(shù)a和b給功能A做返回值進(jìn)行返回。

      第十二章 TC 功能的調(diào)用

      12.1 TC 功能的調(diào)用

      前面已經(jīng)說(shuō)過(guò),在程序中是通過(guò)對(duì)功能的調(diào)用來(lái)執(zhí)行功能體的,其過(guò)程與其它語(yǔ)言的子程序調(diào)用相似,通過(guò)功能所屬的空間來(lái)引用調(diào)用功能的。TC語(yǔ)言中,功能調(diào)用的一般形式為:

      空間名.功能名(實(shí)際參數(shù)表)

      對(duì)無(wú)參功能調(diào)用時(shí)則無(wú)實(shí)際參數(shù)表。實(shí)際參數(shù)表中的參數(shù)可以是常數(shù),變量或其它構(gòu)造類(lèi)型數(shù)據(jù)及表達(dá)式。各實(shí)參之間用逗號(hào)分隔。

      (注:function對(duì)應(yīng)TC中文為:功能,endfunction對(duì)應(yīng)TC中文為:功能結(jié)束,return對(duì)應(yīng)TC中文為:返回)

      功能調(diào)用的方式在TC語(yǔ)言中,可以用以下幾種方式調(diào)用功能:

      1.功能表達(dá)式:功能作為表達(dá)式中的一項(xiàng)出現(xiàn)在表達(dá)式中,以功能返回值參與表達(dá)式的運(yùn)算。這種方式要求功能是有返回值的。例如:z=max(x,y)是一個(gè)賦值表達(dá)式,把max的返回值賦予變量z。

      2.功能實(shí)參:功能作為另一個(gè)功能調(diào)用的實(shí)際參數(shù)出現(xiàn)。例:

      1.空間 測(cè)試

      2.功能 整型 A(整型 a)3.返回 a+100 4.功能結(jié)束 5.功能

      6.整型 B(整型 b)7.返回 b+100 8.功能結(jié)束 9.功能 整型 C(整型 a,整型 b)10.11.12.13.14.15.整型 max=測(cè)試.A(a)+測(cè)試.B(b)返回 max 功能結(jié)束

      功能 整型 D(整型 a,整型 b)返回 測(cè)試.C(測(cè)試.A(a),測(cè)試.B(b))功能結(jié)束

      16.空間結(jié)束

      復(fù)制代碼

      功能C中整型 max=測(cè)試.A(a)+測(cè)試.B(b),是一個(gè)賦值表達(dá)式,把功能A和功能B的返回值賦予變量max。功能D者是以功能A和功能B做為了功能C的實(shí)際參數(shù),調(diào)用了功能C,做為了返回值。

      被調(diào)用功能的功能原型

      在TC語(yǔ)言中主調(diào)功能中調(diào)用某功能之前不需要做任何聲明,只要改功能功能已經(jīng)編寫(xiě)完成而且該功能所在的空間中進(jìn)行引用即可。這與使用變量之前要先進(jìn)行變量說(shuō)明是一樣的。在主調(diào)功能中對(duì)被調(diào)功能作說(shuō)明的目的是使編譯系統(tǒng)知道被調(diào)功能返回值的類(lèi)型,以便在主調(diào)功能中按此種類(lèi)型對(duì)返回值作相應(yīng)的處理。例:

      1.空間 測(cè)試

      2.功能 整型 A(整型 n)3.返回 測(cè)試.B(n)4.功能結(jié)束

      5.功能 整型 B(整型 n)6.返回 測(cè)試.A(n)7.功能結(jié)束

      8.空間結(jié)束

      復(fù)制代碼

      在同一個(gè)空間中,功能間相互調(diào)用,只需要功能所在的空間的空間名:測(cè)試,引出功能名()就可以調(diào)用成功了。例子中的空間名為:測(cè)試,測(cè)試空間中有功能A和功能B,功能A要調(diào)用功能B,因?yàn)楣δ蹷要傳一個(gè)整型變量,所以就這樣測(cè)試.B(n)就可以調(diào)用到了,同理功能B調(diào)用功能A,也是測(cè)試.A(n)即可。

      第十三章 TC 空間定義

      13.1 空間定義概念

      命名空間就相當(dāng)于一個(gè)名稱(chēng),命名空間里面包含的是功能定義和全局變量的定義,如果在不同名稱(chēng)的命名空間中有相同的功能名,則表示的是不同的含義,一般 我們可以這樣理解,空間就是把一套功能分了類(lèi),比如TC自帶的空間,把字符串的處理的功能都封裝成了 字符串空間里面.,窗口的一套功能都是封到 窗口空間里面的.我們來(lái)舉例說(shuō)明:

      一般我們新建一個(gè)項(xiàng)目,TC會(huì)默認(rèn)為我們創(chuàng)建一個(gè) 以項(xiàng)目名稱(chēng) 命名的空間,這個(gè)空間名是不能修改的,假如我建了一個(gè)名稱(chēng)為 我的程序 的項(xiàng)目,會(huì)默認(rèn)生成下面的代碼.舉例代碼如下:

      1.空間 我的程序 //定義默認(rèn)空間

      2.功能 邏輯型 開(kāi)始_點(diǎn)擊()//這里添加你要執(zhí)行的代碼 3.返回 真//函數(shù)返回語(yǔ)句 4.功能結(jié)束

      5.功能 邏輯型 退出_點(diǎn)擊()//這里添加你要執(zhí)行的代碼 6.輔助.退出()7.返回 真 //函數(shù)返回語(yǔ)句 8.功能結(jié)束

      9.空間結(jié)束 //空間結(jié)束語(yǔ)句

      復(fù)制代碼

      TC的默認(rèn)生成的空間,自動(dòng)生成的一些功能或者屬性框生成的功能,一般都是事件功能,TC都封在這個(gè)默認(rèn)空間里,這里的 開(kāi)始_點(diǎn)擊和退出_點(diǎn)擊,都是界面上面兩個(gè)默認(rèn)按鈕,開(kāi)始按鈕和退出按鈕的點(diǎn)擊事件,所觸發(fā)的功能,也就是說(shuō),生成的EXE,當(dāng)點(diǎn)擊開(kāi)始按鈕時(shí),就會(huì)執(zhí)行 開(kāi)始_點(diǎn)擊 功能,事件機(jī)制這里不多做介紹,其他會(huì)有專(zhuān)門(mén)的介紹.假如我們想自己定義一個(gè)空間,叫 我的數(shù)學(xué),里面實(shí)現(xiàn)一個(gè)加法運(yùn)算,我們需要這樣寫(xiě):例:

      1.空間 我的程序 2.//定義默認(rèn)空間

      3.功能 邏輯型 開(kāi)始_點(diǎn)擊()4.//這里添加你要執(zhí)行的代碼 5.整型 和

      6.和=我的數(shù)學(xué).加法(10,10)7.返回 真 8.//函數(shù)返回語(yǔ)句 9.功能結(jié)束 10.功能 邏輯型 退出_點(diǎn)擊()25 11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.//這里添加你要執(zhí)行的代碼 輔助.退出()返回 真 //函數(shù)返回語(yǔ)句 功能結(jié)束 空間結(jié)束 //空間結(jié)束語(yǔ)句

      //這里是自定義的空間 空間 我的數(shù)學(xué)

      //這里是自定義的空間里面實(shí)現(xiàn)的一個(gè)自定義的功能.功能 整型 加法(整型 x,整型 y)//這里添加你要執(zhí)行的代碼 整型 和=x+y 返回 和 //函數(shù)返回語(yǔ)句 功能結(jié)束 空間結(jié)束

      29.//空間結(jié)束語(yǔ)句

      復(fù)制代碼

      這里,我們實(shí)現(xiàn)了一個(gè) 自定義的空間 叫 我的數(shù)學(xué) ,并在這個(gè)空間里面實(shí)現(xiàn)了一個(gè) 加法功能,我們?cè)?默認(rèn)空間 我的程序里面 的 開(kāi)始_點(diǎn)擊()功能里調(diào)用了它,調(diào)用的格式為 我的數(shù)學(xué).加法(10,10)它返回了10+10的結(jié)果.這樣就實(shí)現(xiàn)了,我們的自定義的空間,大家還可以陸續(xù)在里面添加其他的功能,比如減法,乘法,什么的,當(dāng)然我們這里只是舉一個(gè)例子,這些功能都是直接可以用操作符實(shí)現(xiàn)的.數(shù)組

      數(shù)組,顧名思義就是一組同類(lèi)型的數(shù)。

      一、數(shù)組的聲明

      聲明數(shù)組的語(yǔ)法為:在數(shù)據(jù)類(lèi)型后加方括號(hào)括來(lái)說(shuō)明。本接僅介紹一維數(shù)組。下面是一個(gè)整型數(shù)組的例子:

      1.整型[] array= 整型[10] 復(fù)制代碼

      這條語(yǔ)句定義了一個(gè)具有10個(gè)整型元素的名為array的數(shù)組。方括號(hào)中的維數(shù)表達(dá)式可以包含運(yùn)算符,但其計(jì)算結(jié)果必須是一個(gè)長(zhǎng)整型值。這個(gè)數(shù)組是一維的。下面這些聲明是合法的:

      1.整型[] offset = 整型 [5*2] 2.浮點(diǎn)型[] count = 浮點(diǎn)型[5*2+3] 3.復(fù)制代碼

      下面是不合法的:

      1.整型[] offset= 整型 [5*2/3] // 數(shù)組的大小不能為浮點(diǎn)數(shù)

      2.復(fù)制代碼

      二、用下標(biāo)訪問(wèn)數(shù)組元素

      1.整型[] offset= 整型 [5*2] 復(fù)制代碼

      表明該數(shù)組是一維數(shù)組,里面有10個(gè)數(shù),它們分別為offset[0],offset[1],……offset[9];千萬(wàn)注意,數(shù)組的第一個(gè)元素下標(biāo)從0開(kāi)始。一些剛學(xué)編程的人員經(jīng)常在這兒犯一些錯(cuò)誤。offset[3]=25;上面的例子是把25賦值給整型數(shù)組offset的第四個(gè)元素。在賦值的時(shí)候,可以使用變量作為數(shù)組下標(biāo)。

      1.整型 下標(biāo) = 0 2.整型[] offset =整型[5*2] 3.重復(fù)(10)4.offset[下標(biāo)] =輔助.隨機(jī)數(shù)(10,30)5.下標(biāo) =下標(biāo) + 1 6.重復(fù)結(jié)束

      7.復(fù)制代碼

      題目的意思是隨機(jī)產(chǎn)生10~30之內(nèi)的10個(gè)整數(shù),存入到數(shù)組中。

      三、數(shù)組的初始化

      前面說(shuō)了,變量可以在定義的時(shí)候初始化,數(shù)組也可以。

      1.整型[] array = 整型[5] 2.array[0] = 1 3.array[1] = 2 4.array[2] = 3 5.array[3] = 4 6.array[4] = 5 7.復(fù)制代碼

      初始化值的個(gè)數(shù)可以和數(shù)組元素個(gè)數(shù)一樣多。

      如果初始化的個(gè)數(shù)多于元素個(gè)數(shù),將產(chǎn)生編譯錯(cuò)誤;如果少于元素個(gè)數(shù),其余的元素被初始化為0。

      舉個(gè)例子:

      1.輸入5個(gè)整數(shù)存入數(shù)組中,然后把它們從小到大排列并放在同一數(shù)組中。(思路:先找出最小的,放在第一個(gè)位置,為了防止把原先的數(shù)覆蓋掉,可以把原先的第一個(gè)數(shù)和最小數(shù)的位置互換)。

      1.整型[] array = 整型[5] 2.整型 i=0,j=0,min=0,stmp=0 3.重復(fù)(5)4.array[i] =輔助.隨機(jī)數(shù)(10,30)// 隨機(jī)生成5個(gè)數(shù) 5.i =i + 1 6.重復(fù)結(jié)束 7.字符型 輸入內(nèi)容

      8.輸入內(nèi)容 = 字符串.格式化(“隨機(jī)數(shù)為:%d,%d,%d,%d,%d”, array[0] , array[1] , array[2] , array[3] , array[4])9.輔助.消息框(輸入內(nèi)容)10.11.12.13.14.15.16.//// 開(kāi)始排序 i=0 循環(huán)(i<4)min=array[i] j=i+1 循環(huán)(j<5)如果(min>array[j])// 里面的4行語(yǔ)句很重要 17.18.19.20.21.22.min=array[j] stmp=array[i] array[i]=array[j] array[j]=stmp 如果結(jié)束 j = j + 1 23.24.25.26.循環(huán)結(jié)束 i = i + 1 循環(huán)結(jié)束

      輸入內(nèi)容 = 字符串.格式化(“排列后的數(shù)據(jù)為:%d,%d,%d,%d,%d”, array[0] , array[1] , array[2] , array[3] , array[4])27.輔助.消息框(輸入內(nèi)容)復(fù)制代碼

      分析:先讓第一個(gè)值作為基準(zhǔn),如果后面有比它小的,那么就把這兩個(gè)數(shù)互換一下,同時(shí)把基準(zhǔn)換成小的值。兩個(gè)數(shù)互換應(yīng)該這樣(stmp=a;a=b;b=stmp;),而不是(a=b;b=a;),想想這是為什么?必須要用一個(gè)變量作為橋梁。這種一個(gè)一個(gè)的把最小的放在前面的排序方法,我們形象的叫做冒泡法。

      二維數(shù)組

      比方說(shuō)我們熟知的坐標(biāo)系,在2D游戲里,一組(X,Y)坐標(biāo)決定人物的位置,而這里的坐標(biāo),我們就可以用二維坐標(biāo)來(lái)描述。二維數(shù)組的定義:數(shù)據(jù)類(lèi)型 [][] 數(shù)組名

      比方我們知道游戲里的5組坐標(biāo),那么我們就可以定義一個(gè)這樣的二維數(shù)組: 整型[][] 坐標(biāo) = 整型[5][2]

      這個(gè)就可以很清楚的表示:列號(hào)為0的表示X坐標(biāo),列號(hào)為1的表示Y坐標(biāo)。

      二維數(shù)組的引用

      二維數(shù)組和一維數(shù)組的使用差不多,不過(guò)二維數(shù)組提供了二種方法遍歷,一種是:先橫向再縱向,另一種是:先縱向再橫向。不過(guò)二種方法的效果都是一樣的!那么我們來(lái)看看具體怎么訪問(wèn)二維數(shù)組。例如:

      1.整型[][] 坐標(biāo) = 整型[5][2] 2.整型 i=0,j=0 3.循環(huán)(i<5)4.j=0 5.循環(huán)(j<2)6.坐標(biāo)[i][j]=輔助.隨機(jī)數(shù)(11,32)7.j = j + 1 8.循環(huán)結(jié)束 9.i=i+1 10.循環(huán)結(jié)束

      復(fù)制代碼

      二維數(shù)組的大小:整型[][]坐標(biāo) = 整型[5][2] // 大小為 5*

      2三維數(shù)組 定義:

      類(lèi)型[][][] 數(shù)組名 如:整型[][][] 變量

      初始化大?。鹤兞?= 整型[10][2][3] 數(shù)組的大小/長(zhǎng)度: N*N*N 整型[10][2][3]這里的大小為10*2*3=60

      數(shù)組的訪問(wèn):數(shù)組名 [下標(biāo)1][下標(biāo)2][下標(biāo)3] 下標(biāo)的值為0~N-1 N為數(shù)組的長(zhǎng)度。

      多維數(shù)組操作復(fù)雜,一般用到二維就夠了。

      TC操作的文件,一般有三種:INI格式文件,TXT格式文件,圖片文件。

      1、圖片文件

      圖片文件一般都是用做界面美化的資源,以及找圖命令的資源。例如:

      1.整型 圖像序號(hào),返回的x坐標(biāo),返回的y坐標(biāo) 2.圖像序號(hào)=圖像.找圖(0,0,1440,900,“d:111.bmp|d:222.bmp|d:333.bmp”,#203040,0.8,0,返回的x坐標(biāo),返回的y坐標(biāo))3.如果(圖像序號(hào)>=0)4.輔助.消息框(轉(zhuǎn)換.整型轉(zhuǎn)字符型(返回的x坐標(biāo)))5.輔助.消息框(轉(zhuǎn)換.整型轉(zhuǎn)字符型(返回的y坐標(biāo)))6.輔助.消息框(“找到該圖”)30 7.否則

      8.輔助.消息框(“沒(méi)有找到該圖”)9.如果結(jié)束

      復(fù)制代碼

      2、INI文件

      是windows的系統(tǒng)配置文件所采用的存儲(chǔ)格式,統(tǒng)管windows的各項(xiàng)配置,一般用戶就用windows提供的各項(xiàng)圖形化管理界面就可實(shí)現(xiàn)相同的配置了,但在某些情況,還是要直接編輯.ini才方便。

      格式: INI文件是由 節(jié)、鍵、值組成。

      節(jié): 就是文件里中括號(hào)所表示的內(nèi)容。如:[數(shù)據(jù)域] 鍵與值:就是文件里等號(hào)兩邊的內(nèi)容。例如:name=張三,那么這里的name就是鍵,而鍵的值,我們就稱(chēng)之為值。

      在TC里操作INI的命令

      1.輔助.寫(xiě)配置(“RealmName”,“East”,“serverGerman”,“D:abc.ini”)復(fù)制代碼

      RealmName為節(jié),East為鍵,serverGerman為值,D:abc.ini為INI文件路徑。

      1.字符型 字符串 2.字符串=輔助.讀配置(“RealmName”,“East”,“D:abc.ini”)3.輔助.消息框(字符串)復(fù)制代碼

      讀配置其實(shí)就是獲取INI文件里的值,一個(gè)INI文件里,這個(gè)值是通過(guò)節(jié)與鍵來(lái)確定的。

      3、TXT文件

      TXT的文件操作比較復(fù)雜,所以TC提供了一個(gè)專(zhuān)門(mén)處理文件的空間,叫文件。這一套完整的命令,已經(jīng)足夠我們處理如何文件了!3.1、創(chuàng)建文件

      整型 創(chuàng)建(字符型 path,字符型 attribute=“創(chuàng)建文件”)

      第一個(gè)參數(shù)是文件的路徑,第二個(gè)是文件的屬性,可以是一個(gè)也可以是多個(gè)的組合。返回值是成功創(chuàng)建文件的文件句柄,創(chuàng)建失敗則返回0,所以在使用的時(shí)候,要判 斷函數(shù)的返回值。例如:

      1.整型 文件句柄

      2.文件句柄=文件.創(chuàng)建(“d:1.txt”,“讀寫(xiě)|共享讀|共享寫(xiě)|總是創(chuàng)建”)//自定義屬性 3.如果(文件句柄==0)4.輔助.消息框(“文件創(chuàng)建失敗”)5.否則

      6.輔助.消息框(“文件創(chuàng)建成功”)7.文件.關(guān)閉(文件句柄)8.如果結(jié)束

      復(fù)制代碼

      3.2、打開(kāi)文件

      整型 打開(kāi)(字符型 path,字符型 attribute=“讀寫(xiě)|共享讀|共享寫(xiě)|文件要存在”)

      第一個(gè)參數(shù)是文件的路徑,第二個(gè)是文件的屬性,可以是一個(gè)也可以是多個(gè)的組合,返回值是成功打開(kāi)文件的文件句柄,打開(kāi)失敗則返回0,所以在使用的時(shí)候,要判斷函數(shù)的返回值。

      3.3、關(guān)閉文件

      邏輯型 關(guān)閉(整型 handle)

      這里的handle為文件句柄,這個(gè)參數(shù)是創(chuàng)建文件或者打開(kāi)文件的返回值。當(dāng)文件不需要操作了,或者是操作完畢了,我們都應(yīng)該關(guān)閉文件,釋放掉系統(tǒng)的資源。

      3.4、設(shè)置文件的讀寫(xiě)位置

      邏輯型 設(shè)置游標(biāo)位置(整型 handle,字符型 pos)

      這個(gè)命令是用來(lái)控制文件的讀寫(xiě)位置,可以從文件頭位置開(kāi)始,或者是文件結(jié)束位 置開(kāi)始。當(dāng)我們打開(kāi)文件或者是創(chuàng)建文件時(shí),文件的讀寫(xiě)位置是在文件頭位置。

      例如:

      1.整型 文件句柄

      2.文件句柄=文件.打開(kāi)(“d:1.txt”)3.文件.設(shè)置游標(biāo)位置(文件句柄,“開(kāi)始”)4.文件.設(shè)置游標(biāo)位置(文件句柄,“結(jié)束”)5.文件.關(guān)閉(文件句柄)復(fù)制代碼

      3.5、向文件寫(xiě)入內(nèi)容

      邏輯型 寫(xiě)入(整型 handle,字符型 inputstr)

      在當(dāng)前的文件讀寫(xiě)位置,向文件中寫(xiě)入指定的內(nèi)容。handle為文件句柄,這個(gè)參數(shù)是創(chuàng)建文件或者打開(kāi)文件的返回值。

      邏輯型 寫(xiě)一行(整型 handle,字符型 str)

      在當(dāng)前的文件讀寫(xiě)位置,寫(xiě)入指定的內(nèi)容,并且會(huì)自動(dòng)換行,而寫(xiě)入命令是不會(huì)自動(dòng)換行的。這個(gè)命令也可以直接使用寫(xiě)入命令來(lái)實(shí)現(xiàn),只需要在寫(xiě)入的內(nèi)容后面增加換行符(”rn”),”r”表示回車(chē),”n”表示換行。代碼如下:

      1.文件.寫(xiě)一行(文件句柄,“aaaa”)2.// 等價(jià)于

      3.文件.寫(xiě)入(文件句柄,“ aaaa ”+”rn”)

      復(fù)制代碼

      這2個(gè)寫(xiě)內(nèi)容方法使用時(shí),需要注意一個(gè)問(wèn)題:如果寫(xiě)入位置在文件頭,那么當(dāng)文件頭有內(nèi)容時(shí),會(huì)覆蓋原來(lái)的內(nèi)容。如果寫(xiě)入的內(nèi)容比原有的內(nèi)容長(zhǎng),那么會(huì)完全覆蓋原有內(nèi)容;如果寫(xiě)入的內(nèi)容比原有內(nèi)容短,那么只會(huì)覆蓋寫(xiě)入長(zhǎng)度的內(nèi)容,還有一部分原有內(nèi)容會(huì)保留!

      邏輯型 末尾寫(xiě)入(整型 handle,字符型 inputstr)

      在文件的末尾位置寫(xiě)入內(nèi)容,使用這個(gè)命令的時(shí)候,TC會(huì)自動(dòng)將文件的寫(xiě)入位置設(shè)置到文件的末尾,之后再寫(xiě)入數(shù)據(jù)。所以這個(gè)命令也可以用寫(xiě)入命令來(lái)實(shí)現(xiàn),只需要在寫(xiě)入內(nèi)容之前,將文件的寫(xiě)入位置設(shè)置到文件的結(jié)束位置就可以了。代碼如下:

      1.文件.末尾寫(xiě)入(文件句柄,“ aaaa”)2.// 等價(jià)于

      3.文件.設(shè)置游標(biāo)位置(文件句柄,“結(jié)束”)4.文件.寫(xiě)入(文件句柄,“ aaaa”)復(fù)制代碼

      3.6、獲取文件的長(zhǎng)度

      整型 長(zhǎng)度(整型 handle)

      命令的返回值表示獲取到文件的總大小。

      3.7、判斷指定路徑的文件是否存在 邏輯型 是否存在(字符型 path)

      這個(gè)命令用來(lái)判斷指定路徑的文件是否存在,如果文件不存在,則返回假,存在則返回真。這個(gè)命令一般用了打開(kāi)文件的操作之前。

      更多的文件操作命令,我們可以參照TC的幫助文檔,只要打開(kāi)TC軟件,點(diǎn)擊軟件的右上角的問(wèn)號(hào),就可以打開(kāi)幫助文檔,之后在TC API說(shuō)明里找到文件命名空間。

      TC網(wǎng)絡(luò)空間通信

      TC的網(wǎng)絡(luò)通信根據(jù)TCP/IP和UDP協(xié)議實(shí)現(xiàn)的,因此遵守協(xié)議的規(guī)定。那么我們先來(lái)熟悉下這2個(gè)協(xié)議吧。

      UDP協(xié)議

      UDP協(xié)議是英文User Datagram Protocol的縮寫(xiě),即用戶數(shù)據(jù)報(bào)協(xié)議,主要用來(lái)支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)連接。UDP協(xié)議從問(wèn)世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些。

      類(lèi)似協(xié)議所掩蓋,但是即使是在今天,UDP仍然不失為一項(xiàng)非常實(shí)用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。尤其是在需要很強(qiáng)的實(shí)時(shí)交互性的場(chǎng)合,如網(wǎng)絡(luò)游戲、視頻會(huì)議等,UDP協(xié)議更是顯示出極強(qiáng)的威力。

      UDP協(xié)議是一種面向非連接的協(xié)議,面向非連接指的是在正式通信前不必與對(duì)方先建立連接,不管對(duì)方狀態(tài)就直接發(fā)送。至于對(duì)方是否可以接收到這些數(shù)據(jù)內(nèi)容,UDP協(xié)議無(wú)法控制,因此說(shuō)UDP協(xié)議是一種不可靠的協(xié)議。

      UDP適用于一次只傳送少量數(shù)據(jù)、對(duì)可靠性要求不高的應(yīng)用環(huán)境。因?yàn)閁DP協(xié)議是面向非連接的協(xié)議,沒(méi)有建立連接的過(guò)程,因此它的通信效率高;但也正因?yàn)槿绱?,它的可靠性不如TCP協(xié)議高。

      UDP協(xié)議的主要作用是完成網(wǎng)絡(luò)數(shù)據(jù)流量和數(shù)據(jù)報(bào)之間的轉(zhuǎn)換:在信息的發(fā)送端,UDP協(xié)議將網(wǎng)絡(luò)數(shù)據(jù)流量封裝數(shù)據(jù)報(bào),然后將數(shù)據(jù)報(bào)發(fā)送出去;在信息的接收端,UDP協(xié)議將數(shù)據(jù)報(bào)轉(zhuǎn)換成實(shí)際數(shù)據(jù)內(nèi)容。

      實(shí)際上,我們可以認(rèn)為基于UDP協(xié)議的Socket類(lèi)似于一個(gè)碼頭,該碼頭的作用就是負(fù)責(zé)發(fā)送、接收集裝箱,一個(gè)數(shù)據(jù)報(bào)類(lèi)似于一個(gè)集裝箱。因此對(duì)于基于UDP協(xié)議的通信雙方而言,沒(méi)有所謂的客戶端和服務(wù)器端的概念。

      TCP/IP協(xié)議

      TCP/IP是發(fā)展至今最成功的通信協(xié)議之一,其開(kāi)放性的特點(diǎn)成為了因特網(wǎng)的基礎(chǔ)。

      在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是客戶機(jī)/服務(wù)器模式。

      服務(wù)器是一個(gè)進(jìn)程,它一直等待著客戶進(jìn)程的請(qǐng)求以便為客戶進(jìn)程服務(wù),客戶進(jìn)程向服務(wù)器提出請(qǐng)求,服務(wù)器對(duì)請(qǐng)求做出相應(yīng)的處理并執(zhí)行被請(qǐng)求的任務(wù),然后將結(jié)果返回給客戶機(jī)。這里還要講到一個(gè)概念套接字(Socket),Socket是通信基石,是支持TCP/IP協(xié)議網(wǎng)絡(luò)通信的基本單元。

      一個(gè)Socket就是一個(gè)通信的端點(diǎn),用以一個(gè)短整數(shù)來(lái)表示。

      注意:Socket不是端口號(hào),它只是一個(gè)句柄,代表網(wǎng)絡(luò)協(xié)議中的一組數(shù)據(jù),這組數(shù)據(jù)包括TCP連接中雙方IP地址以及目前連接狀況。一個(gè)正在被 使用的Socket都有它的類(lèi)型和與其相關(guān)的網(wǎng)絡(luò)應(yīng)用進(jìn)程。

      在介紹UDP協(xié)議基礎(chǔ)內(nèi)容方面,我們需要對(duì)UDP和TCP進(jìn)行一下簡(jiǎn)單的對(duì)比: TCP協(xié)議:可靠,傳輸大小無(wú)限制,但是需要連接建立時(shí)間,差錯(cuò)控制開(kāi)銷(xiāo)大。UDP協(xié)議:不可靠,差錯(cuò)控制開(kāi)銷(xiāo)較小,傳輸大小限制在64K以下,不需要建

      立連接。

      根據(jù)通信性質(zhì),Socket可以分為兩類(lèi): Stream Socket(會(huì)話套接字):使用TCP協(xié)議,提供一種面向連接的可靠數(shù)據(jù)通信方式.當(dāng)要發(fā)送在批量數(shù)據(jù)或想讓發(fā)出的數(shù)據(jù)按順序無(wú)重復(fù)地到達(dá)目的地時(shí),就要使用會(huì)話套接字,但需要很多開(kāi)銷(xiāo)。

      Datagram Socket(數(shù)據(jù)報(bào)套接字):使用UDP協(xié)議,提供不可靠的,非連接的數(shù)據(jù)通信方式,具有向多個(gè)目標(biāo)地址發(fā)送廣播數(shù)據(jù)報(bào)的能力,由于其并不十分可靠,需要應(yīng)用程序負(fù)責(zé)管理數(shù)據(jù)報(bào)的排序和可靠性。

      總之,若要用TCP協(xié)議那Socket就必須設(shè)為Stream,反之,用UDP就設(shè)為Datagram。

      UDP協(xié)議的使用

      下面介紹下UDP服務(wù)器、客戶端的流程: UDP服務(wù)端創(chuàng)建流程

      1、初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).初始化())

      2、創(chuàng)建套接字(網(wǎng)絡(luò).套接字())

      3、綁定套接字并開(kāi)啟端口(網(wǎng)絡(luò).綁定())

      4、接收或發(fā)送數(shù)據(jù)(網(wǎng)絡(luò).接收來(lái)自()、網(wǎng)絡(luò).發(fā)送到())

      5、關(guān)閉套接字(網(wǎng)絡(luò).關(guān)閉套接字())

      6、關(guān)閉初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).關(guān)閉())

      UDP客戶端創(chuàng)建流程

      1、初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).初始化())

      2、創(chuàng)建套接字(網(wǎng)絡(luò).套接字())

      3、接收或發(fā)送數(shù)據(jù)(網(wǎng)絡(luò).接收來(lái)自()、網(wǎng)絡(luò).發(fā)送到())

      4、關(guān)閉套接字(網(wǎng)絡(luò).關(guān)閉套接字())

      5、關(guān)閉初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).關(guān)閉())

      圖解如下:

      UDP模式注意: UDP模式的服務(wù)端概念比較模糊,需要接收數(shù)據(jù)需要 綁定端口,這時(shí)可以看做是服務(wù)端了,如果只發(fā)送數(shù)據(jù)不需要 綁定端口,這時(shí)可以看做是客戶端(客戶端只能接收來(lái)自他發(fā)送過(guò)消息的服務(wù)器傳回的消息,不能接收來(lái)自別的客戶端的消息),UDP模式下先打開(kāi)服務(wù)端或先打開(kāi)客戶端都可以,如果在接收方打開(kāi)之前,發(fā)送數(shù)據(jù),這之前發(fā)送的數(shù)據(jù)將會(huì)丟失,UDP模式只管發(fā)送數(shù)據(jù),不管數(shù)據(jù)是否到達(dá)。

      實(shí)例源碼如下: 服務(wù)器代碼

      1.網(wǎng)絡(luò).初始化()//初始化網(wǎng)絡(luò)環(huán)境

      2.整型 服務(wù)器套接字句柄=網(wǎng)絡(luò).套接字(2)//創(chuàng)建數(shù)據(jù)報(bào)(UDP)套接字

      3.網(wǎng)絡(luò).綁定(服務(wù)器套接字句柄,9999)//開(kāi)啟了計(jì)算機(jī)的9999端口,供外界連接 4.整型 rPort 5.字符型 接收緩存,rIP,發(fā)送緩存=“客戶端,我是服務(wù)器端!” 6.循環(huán)(真)7.如果(網(wǎng)絡(luò).接收來(lái)自(服務(wù)器套接字句柄,接收緩存,100,rIP,rPort))//接收數(shù)據(jù) 8.輔助.消息框(接收緩存)9.網(wǎng)絡(luò).發(fā)送到(服務(wù)器套接字句柄,發(fā)送緩存,rIP,rPort)10.11.12.如果結(jié)束

      循環(huán)結(jié)束

      網(wǎng)絡(luò).關(guān)閉套接字(服務(wù)器套接字句柄)//關(guān)閉套接字釋放資源

      13.復(fù)制代碼

      客戶端代碼 網(wǎng)絡(luò).關(guān)閉()//關(guān)閉網(wǎng)絡(luò)環(huán)境釋放資源

      1.網(wǎng)絡(luò).初始化()//初始化網(wǎng)絡(luò)環(huán)境

      2.整型 服務(wù)器套接字句柄=網(wǎng)絡(luò).套接字(2)//創(chuàng)建數(shù)據(jù)報(bào)(UDP)套接字 3.整型 rPort 4.字符型 接收緩存,rIP,發(fā)送緩存=“服務(wù)器,我是客戶端” 5.網(wǎng)絡(luò).發(fā)送到(服務(wù)器套接字句柄,編輯框.獲得文本(“編輯框0”),“127.0.0.1”,9999)//向指定地址端發(fā)送一串字符串 6.網(wǎng)絡(luò).接收來(lái)自(服務(wù)器套接字句柄,接收緩存,100,“127.0.0.1”,9999)//接收數(shù)據(jù)

      7.輔助.消息框(接收緩存)//打印從指定地址接收的字串 8.網(wǎng)絡(luò).關(guān)閉套接字(服務(wù)器套接字句柄)//關(guān)閉套接字釋放資源

      9.網(wǎng)絡(luò).關(guān)閉()//關(guān)閉網(wǎng)絡(luò)環(huán)境釋放資源

      復(fù)制代碼

      TCP/IP協(xié)議的使用

      下面介紹下TCP/IP服務(wù)器、客戶端的流程: TCP 服務(wù)端創(chuàng)建流程

      1、初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).初始化())

      2、創(chuàng)建套接字(網(wǎng)絡(luò).套接字())

      3、綁定套接字并開(kāi)啟端口(網(wǎng)絡(luò).綁定())

      4、監(jiān)聽(tīng)套接字并設(shè)置可同時(shí)連接數(shù)(網(wǎng)絡(luò).監(jiān)聽(tīng)())

      5、接受連接(網(wǎng)絡(luò).接受())

      6、接收或發(fā)送數(shù)據(jù)(網(wǎng)絡(luò).接收()、網(wǎng)絡(luò).發(fā)送())

      7、返回等待另一客戶請(qǐng)求(關(guān)閉網(wǎng)絡(luò).接受()創(chuàng)建的客戶端套接字,重新調(diào)用網(wǎng)絡(luò).接受()創(chuàng)建新的客戶端套接字)

      8、關(guān)閉套接字(網(wǎng)絡(luò).關(guān)閉套接字())

      9、關(guān)閉初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).關(guān)閉())

      TCP 客戶端創(chuàng)建流程

      1、初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).初始化())

      2、創(chuàng)建套接字(網(wǎng)絡(luò).套接字())

      3、與服務(wù)器建立連接(網(wǎng)絡(luò).連接())

      4、接收或發(fā)送數(shù)據(jù)(網(wǎng)絡(luò).接收()、網(wǎng)絡(luò).發(fā)送())

      5、關(guān)閉套接字(網(wǎng)絡(luò).關(guān)閉套接字())

      6、關(guān)閉初始化網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò).關(guān)閉())

      圖解如下:

      實(shí)例代碼如下: 服務(wù)器代碼

      1.網(wǎng)絡(luò).初始化()//初始化網(wǎng)絡(luò)環(huán)境

      2.整型 服務(wù)器套接字句柄=網(wǎng)絡(luò).套接字(1)//創(chuàng)建流式(TCP)套接字

      3.網(wǎng)絡(luò).綁定(服務(wù)器套接字句柄,9999)//開(kāi)啟了計(jì)算機(jī)的9999端口,供外界連接

      4.網(wǎng)絡(luò).監(jiān)聽(tīng)(服務(wù)器套接字句柄,5)//監(jiān)聽(tīng)套接字,設(shè)置可連接數(shù)為5個(gè)

      5.字符型 返回IP,發(fā)送緩存=“客戶端,你好,我是服務(wù)器”,接收緩存

      6.循環(huán)(真)//循環(huán)接受處理連接

      7.整型 客戶端套接字句柄=網(wǎng)絡(luò).接受(服務(wù)器套接字句柄,返回IP)//這里程序會(huì)掛起等待,直到有客戶端連接到來(lái) 8.網(wǎng)絡(luò).發(fā)送(客戶端套接字句柄,發(fā)送緩存)//向指定客戶端發(fā)送一串字符串

      9.網(wǎng)絡(luò).接收(客戶端套接字句柄,接收緩存)//接收從客戶端發(fā)送的字串 10.串 11.網(wǎng)絡(luò).關(guān)閉套接字(客戶端套接字句柄)//關(guān)閉套接 輔助.消息框(接收緩存)//打印從客戶端接收的字字釋放資源 12.如果(接收緩存==“關(guān)閉”)//客戶端如果發(fā)送 關(guān)閉

      服務(wù)器將關(guān)閉 13.14.15.16.17.輔助.消息框(“服務(wù)器關(guān)閉”)跳出

      如果結(jié)束

      循環(huán)結(jié)束

      網(wǎng)絡(luò).關(guān)閉套接字(服務(wù)器套接字句柄)//關(guān)閉套接字釋放資源

      18.復(fù)制代碼

      客戶端代碼 網(wǎng)絡(luò).關(guān)閉()//關(guān)閉網(wǎng)絡(luò)環(huán)境釋放資源

      1.網(wǎng)絡(luò).初始化()//初始化網(wǎng)絡(luò)環(huán)境

      2.整型 客戶端套接字句柄=網(wǎng)絡(luò).套接字(1)//創(chuàng)建流式(TCP)套接字

      3.網(wǎng)絡(luò).連接(客戶端套接字句柄,“127.0.0.1”,9999)//這里測(cè)試所以連接的是本機(jī)

      4.字符型 發(fā)送緩存=“服務(wù)器,你好,我是客戶端”,接收緩存 5.網(wǎng)絡(luò).接收(客戶端套接字句柄,接收緩存)//接收從服務(wù)器發(fā)送的字串

      6.輔助.消息框(接收緩存)//打印從服務(wù)器接收的字串

      7.網(wǎng)絡(luò).發(fā)送(客戶端套接字句柄,發(fā)送緩存)//向指定服務(wù)器發(fā)送一串字符串

      8.網(wǎng)絡(luò).關(guān)閉套接字(客戶端套接字句柄)//關(guān)閉套接字釋放資源

      9.網(wǎng)絡(luò).關(guān)閉()//關(guān)閉網(wǎng)絡(luò)環(huán)境釋放資源

      復(fù)制代碼

      網(wǎng)絡(luò)命令的使用范圍很廣泛,大家可以根據(jù)自己的需要加入深入。

      第三篇:TC學(xué)習(xí)心得

      1、路網(wǎng)的建立

      (1)路網(wǎng)簡(jiǎn)單的話,直接在transcad里新建相應(yīng)的地理文件,畫(huà)出小區(qū)和路網(wǎng)

      (2)將cad的路網(wǎng)圖導(dǎo)入,autocad——輸出dxfR12的文件——在transcad中打開(kāi)(具體參讀工程螞蟻的借助AUTOCAD在transcad中建立線網(wǎng)層方法,他在那里寫(xiě)的非常詳細(xì),包括一些注意事項(xiàng))

      在這里我有幾點(diǎn)不明白的需要大蝦指點(diǎn):路網(wǎng)在cad里畫(huà)好后,需在結(jié)點(diǎn)打斷(交叉口),是怎么實(shí)現(xiàn)的一次性打斷?我只會(huì)一條一條的打斷

      2、od矩陣的導(dǎo)入

      (1)excel做成一維的形式,直接用transcad打開(kāi),然后使用MATRIX--IMPORT倒入到transcad中

      (2)似乎還有另一種更簡(jiǎn)單的方法,我一直沒(méi)搞明白??

      3、小區(qū)編號(hào)問(wèn)題

      transcad默認(rèn)的小區(qū)ID與實(shí)際對(duì)小區(qū)的編號(hào)不一致,為使其一致可使用輸入輸出法:先將小區(qū)增加一個(gè)編號(hào)的字段,輸出小區(qū)文件為標(biāo)準(zhǔn)的地理文件,此時(shí)ID選擇編號(hào),再輸入該文件即可

      4、小區(qū)合并大區(qū)的問(wèn)題

      (1)在小區(qū)中增加一個(gè)字段daqu(2)需要合并的小區(qū)在這一字段填寫(xiě)所在的大區(qū)區(qū)號(hào)(3)操作:tool/geographic analysis/merge by value

      5、質(zhì)心連桿問(wèn)題:

      (1)質(zhì)心連桿在分配后影響到圖的美觀,可以先將連桿作選擇集,然后將其status設(shè)置為invisable(2)質(zhì)心連桿上的交通量分配不合理,可以通過(guò)多設(shè)置幾條質(zhì)心連桿或?qū)⑵溥B接到不同的道路上(比如支路)具體的方法我還沒(méi)有掌握,懇請(qǐng)大蝦賜教

      6、幾個(gè)小細(xì)節(jié)

      (1)作分配時(shí),對(duì)任何的路網(wǎng)或節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行過(guò)改動(dòng)后,需重新生成net文件才可生效(2)對(duì)于生成的期望線,可以通過(guò)map/color theme將其設(shè)置為顏色樣式

      7、有transcad作公交規(guī)劃的步驟:(1)在transcad軟件中,建立城市道路網(wǎng)(2)劃分交通小區(qū),并建立公交OD文件

      (3)在道路網(wǎng)的基礎(chǔ)上,在建立公交線網(wǎng),并布設(shè)公交站點(diǎn)(4)將交通小區(qū)型心與公交站點(diǎn)連接起來(lái) 公交規(guī)劃中的應(yīng)用不明朗?

      第四篇:ILI9325初始化程序

      void ILI9325C_CPT28_Initial(void)

      {

      // VCI=2.8V

      //************* Reset LCD Driver ****************//

      LCD_nRESET = 1;

      delayms(1);// Delay 1ms

      LCD_nRESET = 0;

      delayms(10);// Delay 10ms// This delay time is necessary

      LCD_nRESET = 1;

      delayms(50);// Delay 50 ms

      //************* Start Initial Sequence **********//

      LCD_CtrlWrite_ILI9325C(0x0001, 0x0100);// set SS and SM bit

      LCD_CtrlWrite_ILI9325C(0x0002, 0x0700);// set 1 line inversion

      LCD_CtrlWrite_ILI9325C(0x0003, 0x1030);// set GRAM write direction and BGR=1.LCD_CtrlWrite_ILI9325C(0x0004, 0x0000);// Resize register

      LCD_CtrlWrite_ILI9325C(0x0008, 0x0202);// set the back porch and front porch

      LCD_CtrlWrite_ILI9325C(0x0009, 0x0000);// set non-display area refresh cycle ISC[3:0]

      LCD_CtrlWrite_ILI9325C(0x000A, 0x0000);// FMARK function

      LCD_CtrlWrite_ILI9325C(0x000C, 0x0000);// RGB interface setting

      LCD_CtrlWrite_ILI9325C(0x000D, 0x0000);// Frame marker Position

      LCD_CtrlWrite_ILI9325C(0x000F, 0x0000);// RGB interface polarity

      //*************Power On sequence ****************//

      LCD_CtrlWrite_ILI9325C(0x0010, 0x0000);// SAP, BT[3:0], AP, DSTB, SLP, STB

      LCD_CtrlWrite_ILI9325C(0x0011, 0x0007);// DC1[2:0], DC0[2:0], VC[2:0]LCD_CtrlWrite_ILI9325C(0x0012, 0x0000);// VREG1OUT voltage

      LCD_CtrlWrite_ILI9325C(0x0013, 0x0000);// VDV[4:0] for VCOM amplitudeLCD_CtrlWrite_ILI9325C(0x0007, 0x0001);

      delayms(200);// Dis-charge capacitor power voltage

      LCD_CtrlWrite_ILI9325C(0x0010, 0x1690);// SAP, BT[3:0], AP, DSTB, SLP, STB

      LCD_CtrlWrite_ILI9325C(0x0011, 0x0227);// DC1[2:0], DC0[2:0], VC[2:0]delayms(50);// Delay 50ms

      LCD_CtrlWrite_ILI9325C(0x0012, 0x009D);// Internal reference voltage= Vci;delayms(50);// Delay 50ms

      LCD_CtrlWrite_ILI9325C(0x0013, 0x1900);// Set VDV[4:0] for VCOM amplitude

      LCD_CtrlWrite_ILI9325C(0x0029, 0x0025);// Set VCM[5:0] for VCOMHLCD_CtrlWrite_ILI9325C(0x002B, 0x000D);// Set Frame Rate

      delayms(50);// Delay 50ms

      LCD_CtrlWrite_ILI9325C(0x0020, 0x0000);// GRAM horizontal Address1

      LCD_CtrlWrite_ILI9325C(0x0021, 0x0000);// GRAM Vertical Address //-----------Adjust the GammaCurve----------//

      LCD_CtrlWrite_ILI9325C(0x0030, 0x0007);

      LCD_CtrlWrite_ILI9325C(0x0031, 0x0303);

      LCD_CtrlWrite_ILI9325C(0x0032, 0x0003);

      LCD_CtrlWrite_ILI9325C(0x0035, 0x0206);

      LCD_CtrlWrite_ILI9325C(0x0036, 0x0008);

      LCD_CtrlWrite_ILI9325C(0x0037, 0x0406);

      LCD_CtrlWrite_ILI9325C(0x0038, 0x0304);

      LCD_CtrlWrite_ILI9325C(0x0039, 0x0007);

      LCD_CtrlWrite_ILI9325C(0x003C, 0x0602);

      LCD_CtrlWrite_ILI9325C(0x003D, 0x0008);

      //------------------Set GRAM area---------------//

      LCD_CtrlWrite_ILI9325C(0x0050, 0x0000);// Horizontal GRAM Start AddressLCD_CtrlWrite_ILI9325C(0x0051, 0x00EF);// Horizontal GRAM End AddressLCD_CtrlWrite_ILI9325C(0x0052, 0x0000);// Vertical GRAM Start AddressLCD_CtrlWrite_ILI9325C(0x0053, 0x013F);// Vertical GRAM Start AddressLCD_CtrlWrite_ILI9325C(0x0060, 0xA700);// Gate Scan Line

      LCD_CtrlWrite_ILI9325C(0x0061, 0x0001);// NDL,VLE, REV

      LCD_CtrlWrite_ILI9325C(0x006A, 0x0000);// set scrolling line

      //--------------Partial Display Control---------//

      LCD_CtrlWrite_ILI9325C(0x0080, 0x0000);

      LCD_CtrlWrite_ILI9325C(0x0081, 0x0000);

      LCD_CtrlWrite_ILI9325C(0x0082, 0x0000);

      LCD_CtrlWrite_ILI9325C(0x0083, 0x0000);

      LCD_CtrlWrite_ILI9325C(0x0084, 0x0000);

      LCD_CtrlWrite_ILI9325C(0x0085, 0x0000);

      //--------------Panel Control-------------------//

      LCD_CtrlWrite_ILI9325C(0x0090, 0x0010);

      LCD_CtrlWrite_ILI9325C(0x0092, 0x0600);

      LCD_CtrlWrite_ILI9325C(0x0007, 0x0133);// 262K color and display ON}

      void LCD_ExitSleep_ILI9325C(void)

      {

      //*************Power On sequence ******************//

      LCD_CtrlWrite_ILI9325C(0x0010, 0x0080);// SAP, BT[3:0], AP, DSTB, SLPLCD_CtrlWrite_ILI9325C(0x0011, 0x0000);// DC1[2:0], DC0[2:0], VC[2:0]LCD_CtrlWrite_ILI9325C(0x0012, 0x0000);// VREG1OUT voltage

      LCD_CtrlWrite_ILI9325C(0x0013, 0x0000);// VDV[4:0] for VCOM amplitudeLCD_CtrlWrite_ILI9325C(0x0007, 0x0001);

      delayms(200);// Dis-charge capacitor power voltageLCD_CtrlWrite_ILI9325C(0x0010, 0x1690);// SAP, BT[3:0], AP, DSTB, SLP, STB

      LCD_CtrlWrite_ILI9325C(0x0011, 0x0227);// DC1[2:0], DC0[2:0], VC[2:0]delayms(50);// Delay 50ms

      LCD_CtrlWrite_ILI9325C(0x0012, 0x009D);//Inernal reference voltage =Vci;delayms(50);// Delay 50ms

      LCD_CtrlWrite_ILI9325C(0x0013, 0x1900);// VDV[4:0] for VCOM amplitudeLCD_CtrlWrite_ILI9325C(0x0029, 0x0025);// VCM[5:0] for VCOMHdelayms(50);// Delay 50ms

      LCD_CtrlWrite_ILI9325C(0x0007, 0x0133);// 262K color and display ON}

      void LCD_EnterSleep_ILI9325C(void)

      {

      LCD_CtrlWrite_ILI9325C(0x0007, 0x0131);// Set D1=0, D0=1

      delayms(10);

      LCD_CtrlWrite_ILI9325C(0x0007, 0x0130);// Set D1=0, D0=0

      delayms(10);

      LCD_CtrlWrite_ILI9325C(0x0007, 0x0000);// display OFF

      //************* Power OFF sequence **************//

      LCD_CtrlWrite_ILI9325C(0x0010, 0x0080);// SAP, BT[3:0], APE, AP, DSTB, SLP

      LCD_CtrlWrite_ILI9325C(0x0011, 0x0000);// DC1[2:0], DC0[2:0], VC[2:0]LCD_CtrlWrite_ILI9325C(0x0012, 0x0000);// VREG1OUT voltage

      LCD_CtrlWrite_ILI9325C(0x0013, 0x0000);// VDV[4:0] for VCOM amplitudedelayms(200);// Dis-charge capacitor power voltage

      LCD_CtrlWrite_ILI9325C(0x0010, 0x0082);// SAP, BT[3:0], APE, AP, DSTB, SLP

      }

      第五篇:應(yīng)急預(yù)案(臺(tái)風(fēng))tc專(zhuān)題

      防 風(fēng) 防 臺(tái) 應(yīng) 急 預(yù) 案

      對(duì)于施工現(xiàn)場(chǎng)的大型起重機(jī)械等高大設(shè)備來(lái)說(shuō),大風(fēng)和臺(tái)風(fēng)是重大危險(xiǎn)因素,如不采取相應(yīng)的預(yù)防措施,在大風(fēng)和臺(tái)風(fēng)到來(lái)之時(shí),必將發(fā)生施工用電線路損壞、露天高處作業(yè)設(shè)施倒塌、露天施工機(jī)械設(shè)備損壞等重大機(jī)械設(shè)備事故,給企業(yè)帶來(lái)無(wú)法估量的損失。太倉(cāng)港環(huán)保發(fā)電工程施工現(xiàn)場(chǎng)地處長(zhǎng)江入??诟浇箫L(fēng)和臺(tái)風(fēng)天氣時(shí)有發(fā)生,因此,特制定如下防風(fēng)防臺(tái)應(yīng)急預(yù)案:

      1、成立防風(fēng)防臺(tái)領(lǐng)導(dǎo)小組

      長(zhǎng):郭江濱

      副組長(zhǎng):何永軍

      楊浩然

      付劍波

      成員:各專(zhuān)業(yè)工地主任、各部門(mén)領(lǐng)導(dǎo),各分包單位領(lǐng)導(dǎo) 機(jī)械化工地、鍋爐工地、電氣工地、加配工地為應(yīng)急小分隊(duì)。小組辦公室設(shè)在分公司安全保衛(wèi)部,聯(lián)系電話為: 0512—53641661 小組主要成員聯(lián)系電話:

      郭江濱——5666960何永軍——56669605 楊浩然——56669606

      付劍波——56669613

      綜合部主任——56669668

      鍋爐工地主任——56669618

      物資部主任——56669607

      加配工地主任——56669696 機(jī)械化工地主任——56669606

      2、職責(zé)

      2.1領(lǐng)導(dǎo)小組負(fù)責(zé)處理防風(fēng)防臺(tái)工作中的重大問(wèn)題,提供防風(fēng)防臺(tái)所需的資源,對(duì)突發(fā)和緊急事件組織人力、物力搶險(xiǎn)。

      2.2 領(lǐng)導(dǎo)小組組長(zhǎng)負(fù)責(zé)臺(tái)風(fēng)到來(lái)前的應(yīng)急準(zhǔn)備和應(yīng)急響應(yīng)及臺(tái)風(fēng)過(guò)后的迅速搶險(xiǎn)指揮工作。

      2.3 領(lǐng)導(dǎo)小組副組長(zhǎng)負(fù)責(zé)協(xié)助組長(zhǎng)組織進(jìn)行臺(tái)風(fēng)到來(lái)前的應(yīng)急準(zhǔn)備和應(yīng)急響應(yīng)及臺(tái)風(fēng)過(guò)后的迅速搶險(xiǎn)工作。

      2.4 領(lǐng)導(dǎo)小組成員負(fù)責(zé)組織各自部門(mén)及工地人員,在領(lǐng)導(dǎo)小組的統(tǒng)一指揮下,做好臺(tái)風(fēng)到來(lái)前應(yīng)急準(zhǔn)備和應(yīng)急響應(yīng)的所有預(yù)防措施及臺(tái)風(fēng)過(guò)后的迅速搶險(xiǎn)工作。

      2.5 領(lǐng)導(dǎo)小組負(fù)責(zé)日常天氣監(jiān)測(cè),天氣預(yù)報(bào)異常時(shí)及時(shí)通報(bào)相關(guān)人員,并啟動(dòng)本預(yù)案。

      3、應(yīng)急準(zhǔn)備

      3.1 分公司物資供應(yīng)部負(fù)責(zé)配備油布、雨具、應(yīng)急照明用具和醫(yī)藥用品等必要的應(yīng)急物資。

      3.2 分公司綜合管理部和機(jī)械化工地負(fù)責(zé)配備相應(yīng)的車(chē)輛,隨時(shí)等候調(diào)用。

      3.3 分公司安全保衛(wèi)部負(fù)責(zé)與甲方的安監(jiān)部門(mén)及分公司各部門(mén)、各單位之間的聯(lián)絡(luò),當(dāng)有大風(fēng)、暴雨、臺(tái)風(fēng)等惡劣天氣的預(yù)報(bào)時(shí),要第一時(shí)間通知到相關(guān)管理、操作和起重人員,以保證有足夠的時(shí)間采取相應(yīng)的措施。

      4、應(yīng)急措施

      華東分公司太倉(cāng)港環(huán)保發(fā)電工程施工現(xiàn)場(chǎng)將使用較多的大型履帶吊、塔吊、龍門(mén)吊、汽車(chē)吊等施工機(jī)械,還有攪拌站的水泥罐等高大設(shè)備,具體防風(fēng)措施為:

      1、對(duì)于CKP-3500塔吊,由于施工場(chǎng)地的限制,遇大風(fēng)天氣不能將桿放倒。其防風(fēng)措施為:用纜風(fēng)繩將其固定牢固,設(shè)置上、下兩層纜風(fēng)繩,每層四個(gè)方向固定。

      纜風(fēng)繩要設(shè)置專(zhuān)用地錨,地錨布置在合適位置并用混凝土澆筑。纜風(fēng)繩選用Φ17鋼絲繩。

      大風(fēng)或臺(tái)風(fēng)來(lái)臨之前,吊車(chē)副臂要按吊車(chē)規(guī)程規(guī)定調(diào)整好角度,同時(shí)將吊車(chē)夾軌器夾緊,必要時(shí)打上鐵鞋。

      2、對(duì)于龍門(mén)吊車(chē),其防風(fēng)措施為利用纜風(fēng)繩將其四條支腿固定。將四條支腿沿軌道方向用纜風(fēng)繩固定牢固,纜風(fēng)繩綁點(diǎn)可利用其軌道作為地錨。

      纜風(fēng)繩選用Φ17鋼絲繩。

      龍門(mén)吊車(chē)閑置不用時(shí),需將夾軌器夾緊并打上鐵鞋。吊車(chē)夾軌器要經(jīng)常進(jìn)行檢查維護(hù),保證其可靠使用。

      3、施工現(xiàn)場(chǎng)將使用較多的大型履帶吊,配置有CC—2500型450t履帶吊、SCX2000型200t履帶吊及KH-180型50t履帶吊。履帶吊的安全防風(fēng)措施,是安全工作重點(diǎn)之一。大型履帶吊車(chē)在大風(fēng)或臺(tái)風(fēng)來(lái)臨前選取合適的位置停下,并選好方向,將其臂桿調(diào)整至最小角度或放至地面,以防大風(fēng)襲擊。由于履帶吊車(chē)較多并且其臂桿較長(zhǎng),對(duì)不易將臂桿放至地面的吊車(chē),可根據(jù)現(xiàn)場(chǎng)實(shí)際情況,將臂桿放至鋼架或有足夠強(qiáng)度的結(jié)構(gòu)上并固定牢固。

      4、對(duì)于汽車(chē)吊,在大風(fēng)或臺(tái)風(fēng)來(lái)臨前選取合適的位置順風(fēng)停下,將四條支腿全部伸出,將車(chē)身抬起。

      5、攪拌站的水泥罐屬高大設(shè)備,很容易遭受大風(fēng)或臺(tái)風(fēng)襲擊,必須采取防風(fēng)措施。在每個(gè)罐體周?chē)蛏先齻€(gè)地錨,用混凝土灌注牢固,配備三根Φ17鋼絲繩作為纜風(fēng)繩,以備在大風(fēng)或臺(tái)風(fēng)到來(lái)前隨時(shí)將罐體固定牢固。

      5、應(yīng)急響應(yīng)

      1、當(dāng)接到有大風(fēng)、暴雨、臺(tái)風(fēng)等惡劣天氣的預(yù)報(bào)后,安保部馬上通知相關(guān)管理、操作和起重人員,對(duì)重要設(shè)施、大型機(jī)械設(shè)備、重點(diǎn)部位進(jìn)行重點(diǎn)檢查,形成記錄,對(duì)存在的隱患立即組織人力和物力進(jìn)行排除;防風(fēng)防臺(tái)領(lǐng)導(dǎo)小組開(kāi)始工作,安排專(zhuān)人值班,密切注意臺(tái)風(fēng)動(dòng)態(tài),值班電話為0512—53641661。

      2、在大風(fēng)或臺(tái)風(fēng)到來(lái)之前,停止一切施工作業(yè),按照應(yīng)急措施要求把所有大型機(jī)械設(shè)備固定牢固,然后所有人員全部撤離施工現(xiàn)場(chǎng),進(jìn)入封閉的廠房?jī)?nèi)或回到辦公室和班組休息室,所有機(jī)動(dòng)車(chē)輛停放在車(chē)庫(kù)內(nèi)或停車(chē)場(chǎng)。

      3、在大風(fēng)或臺(tái)風(fēng)到來(lái)之后,所有人員必須躲在安全的室內(nèi),任何人不得出門(mén)。

      4、在大風(fēng)或臺(tái)風(fēng)過(guò)后,防風(fēng)防臺(tái)領(lǐng)導(dǎo)小組立即組織應(yīng)急小分隊(duì)進(jìn)行檢查,如有人員傷亡立即送醫(yī)院搶救,然后對(duì)所有機(jī)械、設(shè)備、用電設(shè)施、生產(chǎn)生活臨建設(shè)施等進(jìn)行全面細(xì)致地檢查,發(fā)現(xiàn)險(xiǎn)情及隱患立即排除,盡量把損失降到最低,并盡最大可能盡快恢復(fù)生產(chǎn)和正常生活。

      防 風(fēng) 防 臺(tái) 應(yīng) 急 預(yù) 案

      批準(zhǔn):郭江濱

      編制:付劍波

      黑龍江省火電第三工程公司華東分公司

      2003年9月5日

      下載TC358763命令格式及初始化word格式文檔
      下載TC358763命令格式及初始化.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        2011年準(zhǔn)保培訓(xùn)(習(xí)題)TC

        2011年準(zhǔn)保培訓(xùn)(習(xí)題) 上市前,剝離可行的有(2011年保代考試真題): A、 制藥企業(yè)排污部分設(shè)立子公司剝離 B、 負(fù)責(zé)外包裝部分剝離,為公司長(zhǎng)年提供服務(wù) C、 銷(xiāo)售部分剝離,主要負(fù)責(zé)公司......

        SiteView TC流量控制概要

        SiteView TC流量控制 概述 今天,信息技術(shù)在中國(guó)各個(gè)行業(yè)中的應(yīng)用都得到了前所未有的重視,“以信息化帶動(dòng)工業(yè)化”已為各級(jí)決策部門(mén)所共識(shí),各個(gè)行業(yè)在IT方面都有很大的投入,進(jìn)......

        CAD命令大全(本站推薦)

        CAD快捷鍵 L, *LINE 直線 ML, *MLINE 多線(創(chuàng)建多條平行線) PL, *PLINE 多段線 PE, *PEDIT 編輯多段線 SPL, *SPLINE 樣條曲線 SPE, *SPLINEDIT 編輯樣條曲線 XL, *XLINE 構(gòu)......

        用友總賬系統(tǒng)初始化實(shí)驗(yàn)報(bào)告1

        總賬系統(tǒng)初始化實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)?zāi)康模? 通過(guò)上機(jī),充分理解用友企業(yè)級(jí)財(cái)務(wù)軟件總賬系統(tǒng)初始化原理,掌握總賬系統(tǒng)初始化的基本操作,建立適合ABC公司實(shí)際需要的賬務(wù)系統(tǒng)。實(shí)驗(yàn)內(nèi)容:......

        UNIX操作系統(tǒng)命令大全大全

        UNIX系統(tǒng)操作命令大全 UNIX系統(tǒng)操作命令 第一章 登錄和退出用戶在登錄前,首先要向系統(tǒng)管理員申請(qǐng)一個(gè)用戶注冊(cè)名,不論用戶從哪臺(tái)計(jì) 算機(jī)登錄到ITPNET上都將訪問(wèn)相同的文件系......

        UNIX命令操作大全范文合集

        UNIX命令操作大全 unix系統(tǒng)操作命令大全 用戶在登錄前,首先要向系統(tǒng)管理員申請(qǐng)一個(gè)用戶注冊(cè)名,不論用戶從哪臺(tái)計(jì)算機(jī)登錄到ITPNET上都將訪問(wèn)相同的文件系統(tǒng)。 1.1 登錄 當(dāng)屏......

        精選公文命令怎么寫(xiě)

        什么是命令(令)呢?命令(令)是法定的領(lǐng)導(dǎo)機(jī)關(guān)或領(lǐng)導(dǎo)人對(duì)下級(jí)發(fā)布的一種具有強(qiáng)制執(zhí)行效力的指揮性公文。它適用于公布行政法規(guī)和規(guī)章、宣布施行重大強(qiáng)制措施、批準(zhǔn)和授予晉升......

        地圖dota_imba_3.72.9.3命令

        地圖dota imba 3.72.9.3命令三選一模式 dota imba 3選1命令 -sdstscfefnfrak (im可以不打上) 該命令是力量,智力,敏捷英雄3選1,出生自帶1個(gè)隨機(jī)技能。該模式下不能開(kāi)啟死亡模式......