Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date


Qdidactic » stiinta & tehnica » informatica » baze de date
Protocolul DDE



Protocolul DDE


Protocolul DDE


DDE (Dynamic Data Exchange) este un protocol de schimb dinamic de date intre doua aplicatii Windows, una denumita Clineti sau Destinatie, cealalta denumita Server sau Sursa. Legatura este intrerupta daca una dintre cele doua aplicatii este inchisa.

O legatura DDE cuprinde 3 faze principale:

- initierea: aplicatia destinatie cauta aplicatia sursa si stabileste un canal (legatura) de comunicare,

- conversie: datele sunt schimbate prin acest canal,

- inchidere: canalul de comunicare este inchis.


INITIEREA

Functia DDEInitiate permite initierea conversatiei intre doua aplicatii, returnand numarul de canal daca comunicarea a fost stabilita. Daca aceasta nu s-a intamplat, are loc o eroare.

Sintaxa:

DDEInitiate(<application>,<subject>)

Application

Numele aplicatiei sursa.

Subject



Grupul de date care sunt folosite.


Exemplu:

`creaza o legatura DDE cu foaia Excel

canal = DDEInitiate(„Excel”,”Foaie”)


LEGATURA

→ DDE

Functia DDE permite stabilirea unei conversatii DDE cu o alta aplicatie, de la care se cere informatii pentru a fi afisate intr-un control al unui formular sau raport.

Sintaxa:

DDE (<Application>, <Rubrica>, <Element>)

Application

Expresie de tip sir ce identifica o aplicatie.

Rubrica

Fisier document sau fisier de date.

Element

Referinta la o data a aplicatiei Sursa.

Exemplu:

Atribuie continutul celulei L1C1 unei zone de text via proprietatea Source Control.

=DDE (“Excel”, “Mapa1”, “L1C1”)


→ DDESend

Functia DDESend permite stabilirea unei conversatii DDE cu o alta aplicatie si trimiterea unui element de informatie acestei aplicatii dintr-un control situat intr-un formular sau raport.

Sintaxa:

DDESend (<Application>, <Rubrica>, <Element>, <Date>


Application

Expresie sir ce identifica o aplicatie.

Rubrica

Fisier document sau fisier de date.

Element

Referinta la o data a aplicatiei sursa.

Date

Sir sau expresie continand datele care sunt transmise aplicatiei.

Exemplu:

Atribuie continutului controlului celulei L1C1 unei zone de text

=DDESend(„Excel”,”Mapa1”, „L1C1”, [oras])


→ DDEPoke

Instructiunea DDEPoke trimite informatii aplicatiei Sursa print-un canal deschis.


Sintaxa: DdePoke <Numarul de canal>, <Element>, <Date>


ChannelNumber

Numarul de canal returnat de catre functia DDEInitiate.

Element

Referinta la o data a aplicatiei Sursa.

Date

Data trimisa aplicatiei Sursa.

Exemplu:

Trimite valoarea 15 in celula L1C1

DDEPoke canal, ”L1C1”, „15”


→ DDERequest

Functia DDERequest cere informatii aplicatiei Sursa.

Sintaxa:

DDERequest ( <Numar canal>, <Element>)


ChannelNumber

Numarul de canal returnat de catre functia DDEInitiate.

Element

Referinta la o data a aplicatiei Sursa.


Exemplu:


Atribuie continutul celulei L1C1 variabilei suma.

Suma = DDEReqest (canal, „L1C1”)


→ DDEExecute

Instructiunea DDEExecute returneaza un sir de comenzi unei alte aplicatii in curs de executie

Sintaxa:

DDEExecute (<Numar de canal>, <Comanda>)

ChannelNumber

Numarul de canal returnat de catre functia DDEInitiate.

Comanda

Sir continand o comanda recunoscuta de cealalta aplicatie.

Exemplu:

Creaza o noua foaie de calcul

DDEExecute Canal,”[New(1)]”



INCHIDEREA

→ DDETerminate

Instructiunea DDETerminate inchide un canal de comunicare DDE.

Sintaxa:

DDETerminate <Numar de canal>

ChannelNumber

Numarul de canal returnat de catre functia DDEInitiate.

Exemplu:

DDETerminate canal

→ DDETerminateAll

Aceasta instructiune inchide toate canalele de comunicare DDE.

Sintaxa:

DDETerminateAll



EXEMPLU GLOBAL

Arata cum se afiseaza continutul unui tabel Access in Excel.

Exemplu:

Private Sub TransferXLS_Clienti( )

`Variabilele Access Object

Dim dbs As DAO.Database

Dim rstClient As DAO.RecordSet

Dim fld As DAO.Field

`Variabile pentru utilizarea DDE

Dim Canal As Variant

Dim intLig As Integer

Dim intColas Integer

Dim strPozitie As String

`Variabile Excel

Dim strExcel as String

Dim blnRes As Boolean

On Error resume Next

Set dbs = CurrentDb

Set rstClient = dbs.OpenRecordSet(„Clienti”, dbOpenTable)

`Deschiderea unui canal DDE cu Excel

canal = DDEInitiate(„Excel”, „Foaie”)

`In caz de eroare se lanseaza aplicatia Excel

If Err Then

Err = 0

`Cauta aplicatia Excel

With Application.FileSearch

.NewSearch

.LookIn = „C:”

.SearchSubFolders = True

.FileName = „Excel.exe”

.FileType = „*.exe”

If .Execute( ) > 0 Then

strExcel = .FoundFiles(1)

End If

`Lansarea Excel

blnRes = Shell(strExcel, vbNormalFocus)

If Not blnRes Then

MsgBox (”Aplicatia Excel nu a fost gasita”, _ vbExclamation)

Exit Sub

End If

Canal = DDEInitiate(„Excel”, „Foaie”)

End If

`Activarea ferestrei Excel

intLin = 1

intCol =1

`Antetul coloanelor continand numele campurilor

For Each fld In rstClient.Fields

strPositon = „L” & intLin & „C” & ”intCol

DDEPoke Canal, strPosition, rstClient.Fields _

(IntCol -1).Name

intCol = intCol + 1

Next fld

`Parcurgerea inregistrarilor de transferat

Do While Not rstClient.EOF

intLin = intLin + 1

intCol =1

For Each fld In rstClient.Fields

strPosition = „L” & intLin & „C” & intCol

DDEPoke Canal, strPozitia, rstClient(intCol – 1)

intCol = intCol + 1

Next fld

rstClient.MoveNext

Loop

EndSub




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright