中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站對商家的好處b2b平臺有哪些平臺

做網(wǎng)站對商家的好處,b2b平臺有哪些平臺,wordpress啦,福州做網(wǎng)站互聯(lián)網(wǎng)公司目前,Visual Basic (簡稱VB) 已成為WINDOWS 系統(tǒng)開發(fā)的主要語言,以其高效、簡單易學(xué)及功能強(qiáng)大的特點(diǎn)越來越為廣大程序設(shè)計(jì)人員及用戶所青睞。VB 支持面向?qū)ο蟮某绦蛟O(shè)計(jì),具有結(jié)構(gòu)化的事件驅(qū)動(dòng)編程模式并可以使用無限擴(kuò)增的控件。在VB 應(yīng)用程序中可以方便地調(diào)用WINDOWS API函數(shù)…

目前,Visual Basic (簡稱VB) 已成為WINDOWS 系統(tǒng)開發(fā)的主要語言,以其高效、簡單易學(xué)及功能強(qiáng)大的特點(diǎn)越來越為廣大程序設(shè)計(jì)人員及用戶所青睞。VB 支持面向?qū)ο蟮某绦蛟O(shè)計(jì),具有結(jié)構(gòu)化的事件驅(qū)動(dòng)編程模式并可以使用無限擴(kuò)增的控件。在VB 應(yīng)用程序中可以方便地調(diào)用WINDOWS API函數(shù),使得編程效率提高,應(yīng)用功能增強(qiáng)。

利用VB 提供的這些功能,我們可以有三種方法完成串口通信。一種是用VB 提供的具有強(qiáng)大功能的通信控件;另一種方法是調(diào)用WINDOWS API 函數(shù),使用WINDOWS 提供的通信函數(shù)編寫移植性強(qiáng)的應(yīng)用程序;第三是利用文件的輸入/ 輸出完成,該方法簡便易行,但有一定的局限性。

一、利用通信控件(MSCOMM) 完成串口通信
VB 提供了通信控件MSCOMM,文件名為MSCOMM. VBX。該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串行通信的信息格式和協(xié)議進(jìn)行設(shè)置。在通信過程中可以觸發(fā)OnComm事件,在該事件過程進(jìn)行數(shù)據(jù)檢驗(yàn)處理及檢錯(cuò),還可以通過編程訪問CommEvent 屬性來了解通信的情況,進(jìn)行收發(fā)數(shù)據(jù)的處理。每個(gè)通信控件對應(yīng)一個(gè)串口,如果要訪問多個(gè)通信口,則要設(shè)計(jì)多個(gè)通信控件。

1. 通信控件的事件及基本屬性
(1) 事件
OnComm:通信控件只提供了一個(gè)事件,該事件的觸發(fā)可以對串口的通信事件及錯(cuò)誤進(jìn)行處理。通過對CommEvent 屬性的判斷可知當(dāng)前的通信錯(cuò)誤和事件,分別對每個(gè)Com2mEvent 值進(jìn)行編程就完成了對各個(gè)錯(cuò)誤和事件的處理。如:CommEvent = MSCOMM—EV—SEND 表示發(fā)送事件。這些信息可從VB 提供的常量文件CONSTANT. TXT中查出。
(2) 屬性
CommPort :設(shè)置通信控件與哪個(gè)串口相連接,設(shè)置并返回通信口號。
Setting :設(shè)置通信的信息格式,為字符型。順序?yàn)?波特率、校驗(yàn)、數(shù)據(jù)位、停止位。
PortOpen :布爾型、開關(guān)通信口。
InputLen :從接收緩沖區(qū)讀取字符個(gè)數(shù)。
Input ,Output :讀取接收緩沖區(qū)或?qū)懭氚l(fā)送緩沖區(qū)字符以上五種屬性對串口完成基本的設(shè)置和操作,下面的三種屬性是描述如何利用VB 提供的事件驅(qū)動(dòng)機(jī)制來實(shí)現(xiàn)通信。
CommEvent :返回通信過程中產(chǎn)生的錯(cuò)誤信息及事件,了解通信狀況。
SThreshold :設(shè)置并返回不觸發(fā)OnComm事件時(shí)發(fā)送緩沖區(qū)被允許的最少字符數(shù)。當(dāng)緩沖區(qū)的字符少于設(shè)置的值時(shí),則觸發(fā)OnComm事件,并把CommEvent 設(shè)為MSCOMMM—EV—SEND。當(dāng)SThreshold = 0 則禁止發(fā)送觸發(fā)OnComm 事件,當(dāng)SThreshold = 1 則發(fā)送緩沖區(qū)為空時(shí)就觸發(fā)OnComm事件。利用這一屬性,就可完成發(fā)送數(shù)據(jù)后的一系列操作。如:對剛發(fā)送的數(shù)據(jù)進(jìn)行處理,當(dāng)串口是和MODEM通信時(shí),發(fā)送完數(shù)據(jù)后可進(jìn)行拆除線路聯(lián)接、掛機(jī)等操作。
RThreshold :設(shè)置并返回不觸發(fā)OnComm事件時(shí)接收緩沖區(qū)被允許的最多字符數(shù)。當(dāng)緩沖區(qū)的字符多于設(shè)置的值時(shí),則觸發(fā)OnComm 事件,并把CommEvent 設(shè)為MSCOMM—EV—RECEIVE,當(dāng)RThreshold = 0 則禁止接收觸發(fā)OnComm 事件,當(dāng)RThreshold = 1 則接收緩沖區(qū)有一個(gè)或更多字符時(shí)就觸發(fā)OnComm事件。利用這一屬性,就可完成對串口接收數(shù)據(jù)的處理。

2. 利用通信控件的實(shí)例
Sub Form1 —load ()
?form1. show
?′設(shè)置COM1
?comm1. commport = 1
?comm1. Setting = " 9600 ,o ,8 ,1" ′波特率:9600 奇校驗(yàn),8位數(shù)據(jù),1 位停止位
?comm1. Inputlen = 0 ′讀取接收緩沖區(qū)的所有字符
?comm1. OutBufferSize = 512 ′設(shè)置發(fā)送緩沖區(qū)為512 字節(jié)
?comm1. InBufferSize = 512 ′設(shè)置接收緩沖區(qū)為512 字節(jié)
?comm1. SThreshold = 0 ′禁止發(fā)送事件
?comm1. RThreshold = 1 ′每一個(gè)字符到接收緩沖區(qū)都觸發(fā)接收事件
?′設(shè)置COM2
?comm2. commport = 2
?comm2. Setting = "2400 ,e ,8 ,1"


?′波特率:2400 偶驗(yàn),8 位數(shù)據(jù),1 位停止位
?comm2. Inputlen = 0 ′讀取接收緩沖區(qū)的所有字符
?comm2. OutBufferSize = 512 ′設(shè)置發(fā)送緩沖區(qū)為512 字節(jié)
?comm2. InBufferSize = 512 ′設(shè)置接收緩沖區(qū)為512 字節(jié)
?comm2. SThreshold = 1 ′發(fā)送緩沖區(qū)空觸發(fā)發(fā)送事件
?comm2. RThreshold = 0 ′禁止接收事件
?′打開COM1 ,COM2
?comm1. Portopen = True
?comm2. Portopen = True
?Timer1. interval = 5000
End Sub

Sub Comm1 —OnComm()
?Dim Inbuff as string
?Dim i as integer ,n as integer ,t as integer
?Select Case Comm1. CommEven

?case MSCOMM—EV—RECEIVE
? Inbuff = Comm1. Input
? n = len ( Inbuff)

? For i = 1 to n
? t = Asc (Mid ( Inbuff ,i ,1) ) or &HFF
? print f
? Next i
?End Select
End Sub

Sub Comm2 —OnComm()
?Select Case Comm2. CommEvent
? Case MSCOMM—EV—SEND
? Print time
?End Select
End Sub

Sub Timer1—Timer ()
?Comm2. output = Second (Now)
End sub


二、通過調(diào)用API 函數(shù)實(shí)現(xiàn)通信
以上說明了用VB 提供的控件實(shí)現(xiàn)通信的方法,只要理解了VB 控件的機(jī)制就很容易完成對串口的操作,但可移植性差。但VB 可以很容易調(diào)用API 函數(shù)實(shí)現(xiàn)通信。
1. VB 對API 的調(diào)用
VB 使用動(dòng)態(tài)鏈接庫DLL(Dynamic Link Libraries) 的能力,大大擴(kuò)展了其功能。WINDOWS 本身提供了API 函數(shù)包括三大動(dòng)態(tài)鏈接庫: KERNEL 庫、GDI 庫、USER 庫,通過VB 用戶可以直接調(diào)用這些庫中的函數(shù)。調(diào)用之前,必須首先在VB 中聲明。該聲明可為模塊級或窗體級,當(dāng)作為模塊級聲明時(shí),其作用域?yàn)樗蠪ORM和MODULE,而作為窗體級聲明時(shí)其作用域?yàn)樵撀暶魉诘腇ORM。
VB 調(diào)用DLL 的格式:
Declare Sub 過程名Lib″庫名″Alias″別名″] ( [ByVal 參數(shù)As 類型])
Declare Function 函數(shù)名Lib″庫名″[Alias″別名″] ( [ByVal參數(shù)As 類型]) As 類型

在聲明中:DECLARE 表示聲明DLL 中的函數(shù),當(dāng)聲明是不具有返回值的過程時(shí)用SUB 關(guān)鍵字,而如果調(diào)用的函數(shù)具有返回值,則必須用FUNCTION 關(guān)鍵字將其聲明為函數(shù)并在聲明語句的最后用AS 指明函數(shù)返回值的類型。LIB 關(guān)鍵字表示當(dāng)前聲明的過程或函數(shù)是庫名所指定的庫中函數(shù)而非VB本身的函數(shù)。庫名,就是對應(yīng)動(dòng)態(tài)鏈接庫的名稱,其中通信函數(shù)在USER 庫中。ByVal 關(guān)鍵字將原參數(shù)數(shù)據(jù)類型一一對應(yīng)到VB 類型中。
WINDOWS 的HELP 文件WINSDK. HLP 中包含了完整的WINDOWS API 函數(shù)信息,可用該文件查看聯(lián)機(jī)函數(shù)、數(shù)據(jù)結(jié)構(gòu)及錯(cuò)誤信息。

2. API 提供的通信函數(shù)
為了方便說明,我們將有關(guān)通信的函數(shù)及相關(guān)的數(shù)據(jù)結(jié)構(gòu)放在全局模塊中,文件名為COMM.BAS(見API 編程函數(shù)實(shí)例) 。以下是這些函數(shù)的基本介紹:
(1) OpenComm( IpComName As String ,wInQueue As Integer ,wOutQueue As Integer)
IpComName :設(shè)備名,以“COMn”的形式來說明,n 為設(shè)備號;wInQueue 、wOutQueue :分別以字節(jié)為單位說明發(fā)送、接收緩沖區(qū)的大小。該函數(shù)調(diào)用成功返回打開的設(shè)備號,否則返回一負(fù)數(shù)代表錯(cuò)誤信息碼。
(2) SetCommState ( IpDCB As DCB)
IpDCB :是DCB 結(jié)構(gòu)存放設(shè)備所希望的通信設(shè)置(DCB 結(jié)構(gòu)如COMM.BAS 中所示) ,其中DCB 的ID 成員必須標(biāo)識該設(shè)備。如果函數(shù)調(diào)用成功返回0 ;否則,返回值小于0。
(3) ReadComm(nCid As Integer , IpBuf As String ,nSize AsInteger)
WriteComm(nCid As Integer , IpBuf As String ,nSize As Integer)
這是用來對通信設(shè)備進(jìn)行讀寫的函數(shù),nCid :說明要讀寫的通信設(shè)備號, IpBuf :為讀寫緩沖區(qū),nSize :為要讀寫的字節(jié)數(shù)。如果讀寫成功,返回讀寫的字節(jié)數(shù),否則是小于0 的值,并且其絕對值為讀寫的字節(jié)數(shù)。
(4) Closecomm(nCid As Integer)
該函數(shù)關(guān)閉nCid 所指定的通信設(shè)備,并且釋放分配給設(shè)備的發(fā)送,接收緩沖存儲器,調(diào)用成功返回0 ;否則,返回值小于0。
(5) BuildCommDCB( IpDef As String , IpDCB As DCB)
lpDef : 為一字符串指定設(shè)備控制信息,此字符串具有MS-DOS 中MODE 命令所使用的參數(shù)形式。IpDCB :為一DCB數(shù)據(jù)結(jié)構(gòu)。該函數(shù)將IpDef 字符串轉(zhuǎn)換成串行設(shè)備控制塊(DCB) 代碼。
(6) GetCommError (nCid As Integer , IpStat As COMSTAT)
該函數(shù)檢取nCid 指定的設(shè)備最近的錯(cuò)誤值和當(dāng)前狀態(tài),IpStat :是COMSTAT結(jié)構(gòu),具體形式如COMM.BAS 中所定義的。返回值為COMM.BAS 中帶CE- 的常量的某種組合。

3. 用API 函數(shù)編程實(shí)例
這個(gè)例子是一仿真發(fā)送機(jī),將從鍵盤輸入的字符發(fā)送給COM端口。在FORM中加一按鈕COMMAND1 來關(guān)閉通信口

Type DCB
?Id As String 3 1
?BaudRate As Integer
?ByteSize As String 3 1
?Parity As String 3 1
?StopBits As String 3 1
?RlsTimeout As Integer
?CtsTimeout As Integer
?DsrTimeout As Integer
?Bits1 As String 3 1
?Bits2 As String 3 1
?XonChar As String 3 1
?XoffChar As String 3 1
?XonLim As Integer
?XoffLim As Integer
?PeChar As String 3 1
?EofChar As String 3 1
?EvtChar As String 3 1
?TxDelay As Integer
End Type

Type COMSTAT
?Bits As String 3 1
?cbInQue As Integer
?cbOutQue As Integer
End Type

Declare Function OpenComm Lib ″User″(ByVal IpComName As String , ByVal wInQueue As Integer , ByVal wOutQueue As Integer) As Integer
Declare Function SetCommState Lib ″User″ ( IpDCB As DCB)As Integer
Declare Function ReadComm Lib ″User″(ByVal nCid As Integer , ByVal IpBuf As String , ByVal nSize As Integer) As Integer
Declare Function WriteComm Lib ″User″(ByVal nCid As Integer , ByVal IpBuf As String , ByVal nSize As Integer) As Integer
Declare Function Closecomm Lib ″User″(ByVal nCid As Integer) As Integer
Declare Function BuildCommDCB Lib ″User″ (ByVal IpDef As String , IpDCB As DCB) As Integer
Declare Function GetCommError Lib ″User″ (ByVal nCid As Integer , IpStat As COMSTAT) As Integer

Global IpDCB As DCB
Global nCid As Integer

Sub Form1 —load ()
?Dim comset As String
?comset =“COM2"
?nCid = OpenComm(comset ,512 ,512) ′打開COM2 設(shè)置接收,發(fā)送緩沖區(qū)為512 字節(jié)
?If nCid < 0 Then ′處理錯(cuò)誤
? MsgBox“不能打開COM:" + Str (nCid) +“Error Number :" + Str (nCid) ,16
? end
?end if
?Command1. Caption =“關(guān)閉通信口" ′設(shè)置串口DCB 設(shè)備控制塊
?comset =“COM2 :9600 ,n ,8 ,1"

?If (BuildCommDCB(comset ,LpDCB) ) Then
? MsgBox“不能建立COMM DCB" ,16
? end
?end if
?LpDCB. Id = Chr (nCid)
?If (SetCommState (LpDCB) ) Then ′設(shè)置串口狀態(tài)
? MsgBox"不能設(shè)置串口狀態(tài)" ,16
? end
?endif
End Sub

Sub Form1-keyPress (keyAscii As Integer)
?Dim nsend As integer ,x As integer
?Dim Lpstate As COMSTAT ′通信狀態(tài)塊
?Static inbuff as string
?inbuff = imbuff + Chr ( KeyAscii)
?x = GetCommError (ncid ,Lpstate) ′讀取當(dāng)前串口錯(cuò)誤或狀態(tài)
?if lpstate. cbOutQue < 512 Then ′送緩沖區(qū)有空間否?
? Nsend = WriteComm(nCid ,inbuff ,Len (inbuff) ) ′發(fā)送inbuff
? if Nsend < = 0 then Nsend = - Nsend ′忽略錯(cuò)誤
?? inbuff = Mid (inbuff ,Nsend + 1) ′清除已發(fā)送的字符
? end if
?end if
End Sub

Sub Command1-Click()
?Dim Nclose As integer
?Nclose = CloseComm(nCid)
?If Nclose < 0 Then
? MsgBox“不能關(guān)閉COMM口:" + Str (nCid) ,16
? end
?else
? ncid = 0
?end if
?Cmmand1. Caption =“通信已關(guān)閉”
End Sub

三、用文件輸入/ 輸出技術(shù)完成通信
用VB 提供的以上兩種方法已足以應(yīng)付各種串行通信的問題。另外還可以用文件輸入/ 輸出的方法完成簡單的通信應(yīng)用程序,如撥號。它用我們非常熟悉的BASIC 輸入/ 輸出指令,如:OPEN、CLOSE、GET、PUT(PRINT、WRITE) 、ERR 來完成打開、關(guān)閉、讀、寫和檢錯(cuò)通信口的功能。由于以上指令常在BASIC 中使用,所以不在本文中詳細(xì)介紹。僅舉一小例子來說明問題。該例子是在FORM1 中有兩個(gè)按鈕,

通信模塊向主模塊提供文件傳輸與消息傳遞的基本服務(wù), 主模塊使用文件傳輸服務(wù)來傳輸數(shù)據(jù), 使用消息來傳輸控制信息。通信模塊用RS232 接口或者遠(yuǎn)程網(wǎng)絡(luò)對應(yīng)用程序提供的接口來進(jìn)行文件和消息的傳輸。
通信模塊是以DDE(動(dòng)態(tài)數(shù)據(jù)交換) 會話的形式來提供通信服務(wù)的, DDE是Windows 操作系統(tǒng)中一種進(jìn)程之間進(jìn)行通信的基礎(chǔ)機(jī)制。要進(jìn)行一次數(shù)據(jù)交換, 發(fā)送方的主模塊作為客戶與通信模塊請求建立DDE會話,通信模塊請求與接收方的通信模塊建立一個(gè)通信鏈路, 接收方的通信模塊再作為客戶請求與接收方的主模塊建立DDE會話。這樣,主模塊不但可以請求通信模塊發(fā)送文件, 而且可以以消息的形式向接收方的主模塊傳遞關(guān)于數(shù)據(jù)的信息,進(jìn)行對話。

圖3 說明了表格的傳輸過程, 文件、圖形的傳輸都是類似的,使用RS232 接口作為通信鏈路的詳細(xì)傳輸步驟如下:
1. 發(fā)送
主模塊負(fù)責(zé)將發(fā)送的數(shù)據(jù)組織為約定格式的TXT文件,放在約定的目錄下, 然后向通信模塊提出發(fā)送請求。通信模塊被DDE請求激活后,進(jìn)入如下流程的執(zhí)行:
①讀出主模塊中的發(fā)送文件名表。
②向MODEM發(fā)出撥號命令(DIAL) 。
③等待MODEM發(fā)來接通狀態(tài)信息(CONNECT) 。若有
CONNECT線路接通,此時(shí)對方的通信模塊被激活進(jìn)入等待接收狀態(tài)。否則通知用戶線路無法接通并返回。
④發(fā)送“發(fā)送文件”消息,通知對方將要發(fā)送文件。
⑤發(fā)送“發(fā)送一個(gè)文件”消息。
⑥發(fā)送一個(gè)文件。
⑦文件若沒發(fā)送完轉(zhuǎn)向⑤。
⑧發(fā)送“結(jié)束發(fā)送文件”消息。
⑨掛斷線路。
2. 接收
應(yīng)答模塊在通信模塊運(yùn)行時(shí)(不包括正在處理發(fā)送的時(shí)間) 在后臺不斷地被執(zhí)行, 它的主要功能是檢測是否有振鈴信號(RING) ,如果沒有振鈴信號退出該模塊,否則:
①向MODEM發(fā)應(yīng)答命令(ANSWER) 。
②等待MODEM發(fā)來CONNECT狀態(tài)信息。
③將通信模塊調(diào)至前臺來運(yùn)行。
④等待消息, 若是“發(fā)送文件”消息, 調(diào)用應(yīng)答發(fā)送模塊。接收隨機(jī)發(fā)送來的文件。

應(yīng)答發(fā)送模塊被調(diào)用后:
①處理消息。若不是“發(fā)送一個(gè)文件”消息,轉(zhuǎn)向④。
②接收一個(gè)文件。
③轉(zhuǎn)向①。
④掛斷線路。
⑤與ACCESS 建立DDE會話,通知主模塊處理已接收到的TXT文件, 即將TXT文件引入到數(shù)據(jù)庫中, 如果以前曾經(jīng)發(fā)送過則注意要覆蓋已經(jīng)過時(shí)的數(shù)據(jù)。長途電信線路計(jì)算機(jī)維護(hù)管理系統(tǒng)是一個(gè)集成的系統(tǒng)。從技術(shù)上講,它是數(shù)據(jù)庫技術(shù)與通信技術(shù)的集成,并且進(jìn)一步考慮了與圖形系統(tǒng)及網(wǎng)絡(luò)技術(shù)的集成。它的應(yīng)用必將為全國的長線維護(hù)帶來良好的效益。

一個(gè)為撥號操作,一個(gè)為掛機(jī)操作,程序很簡單。
Sub Form1 —load ()
Dim Telnum As Sting
Command1. Caption = " "
Command2. Caption = " "
End Sub
Sub Command1 —Click()
Open“COM2" For Output As # 1
print # 1 ,Telnum
End Sub
Sub Command2 —Click()
Telnum=“ATH"
Print # 1 ,Telnum
Close # 1
End Sub
這個(gè)小例子僅用了PRINT來發(fā)送數(shù)據(jù),該命令自動(dòng)在字符串后加了回車符。其他指令如PUT、WRITE 亦可完成。但是注意變量TELNUM的格式,要在最后命令字符串后加回車符。WINDOWS 使用DOS 操作完成文件處理,所以將通信端口當(dāng)成文件來操作,就僅使用了DOS 系統(tǒng)。這種方法十分簡便。但是,使用文件輸入/ 輸出就使得通信不可靠,進(jìn)來的字符可能遺漏,尤其是在2400b/ s 以上的速率傳輸數(shù)據(jù)時(shí)。原因是這種方法仍基于DOS 操作,使通信無法高速傳輸或在WINDOWS 這樣的多任務(wù)環(huán)境下使用。經(jīng)過長期的實(shí)踐,筆者認(rèn)為以上三種通信方法各有利弊。如果在以低速傳輸且不十分復(fù)雜的情況下,那么可選用第三種方法。而當(dāng)在系統(tǒng)復(fù)雜傳輸速率高的情況下,則要選擇前兩種。第一種學(xué)習(xí)起來快,而且程序?yàn)槭录?qū)動(dòng)程序模塊化;使用第二種方法要對WINDOWS API 函數(shù)有深入了解對熟悉WINDOWS API 函數(shù)的程序設(shè)計(jì)人員來說,無疑是個(gè)好方法,而且程序可移植性強(qiáng)。

http://www.risenshineclean.com/news/32976.html

相關(guān)文章:

  • 怎么做網(wǎng)站設(shè)計(jì)推廣引流渠道
  • 哪家公司制作網(wǎng)站互聯(lián)網(wǎng)廣告投放代理公司
  • 網(wǎng)站可以做哪些廣告怎樣搭建自己的網(wǎng)站
  • 最好的網(wǎng)頁設(shè)計(jì)網(wǎng)站源碼交易網(wǎng)站源碼
  • 響應(yīng)網(wǎng)站 整屏seo學(xué)院
  • 開一個(gè)網(wǎng)站需要什么seo排名賺下載
  • 網(wǎng)站備案 深圳廣告投放的方式有哪些
  • 網(wǎng)站建設(shè) 個(gè)人杭州明開seo
  • ovz的vps怎么做網(wǎng)站建設(shè)企業(yè)網(wǎng)站多少錢
  • wordpress如何添加菜單和數(shù)據(jù)表搜索引擎優(yōu)化的目的是對用戶友好
  • 建設(shè)公司企業(yè)簡介北京推廣優(yōu)化公司
  • 裝修網(wǎng)站合作百度官方網(wǎng)站入口
  • 司機(jī)找事做那個(gè)網(wǎng)站靠譜北京網(wǎng)站制作推廣
  • 潛江資訊網(wǎng)免費(fèi)發(fā)布信息手機(jī)端seo
  • 最簡單做網(wǎng)站國際熱點(diǎn)事件
  • 做澳洲ets上什么網(wǎng)站網(wǎng)站seo如何優(yōu)化
  • 寧波市住房和城鄉(xiāng)建設(shè)委員網(wǎng)站網(wǎng)絡(luò)銷售培訓(xùn)
  • 福田企業(yè)網(wǎng)站優(yōu)化哪個(gè)好推廣軟文范例100字
  • 玉溪做網(wǎng)站公司重慶網(wǎng)站搜索引擎seo
  • WordPress 站點(diǎn)圖標(biāo)鏈接站長素材網(wǎng)站
  • 營銷型企業(yè)網(wǎng)站分析與診斷關(guān)鍵詞挖掘站長工具
  • 微信公眾號免費(fèi)模板網(wǎng)站化妝品推廣軟文
  • 有什么知名網(wǎng)站是用織夢做的微信營銷模式
  • 私人可注冊網(wǎng)站嗎吉林黃頁電話查詢
  • 網(wǎng)站直播是未開票收入怎么做淘客推廣怎么做
  • 萬網(wǎng)網(wǎng)站域名百度網(wǎng)盤下載的文件在哪
  • 蘭州網(wǎng)站建設(shè)多少錢河南做網(wǎng)站優(yōu)化
  • 海南百度網(wǎng)站建設(shè)成都網(wǎng)站seo公司
  • 合川網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷前景和現(xiàn)狀分析
  • 石家莊 網(wǎng)站開發(fā)菏澤seo