DDE – Dinamik Veri Erişimi
İki windows uygulaması arasında istemci(client) – sunucu(server) bağlantısı ile veri alışverişine olanak sağlar. Visual Basic’de formlar sunucu olabilirler; metin kutuları , etiketler ve resim kutuları istemcidir.
LinkTopik : Sunucu tanımlaması
Text1.LinkTopic = “Excel | C:\Gelir.Xls”
LinkItem : Sunucudan bilginin alınacağı yer
Text1.LinkItem = "R1C1" ‘ A2 hücresi
LinkMode : Bağlantı şekli
1 – Automatic : Değişiklik anında bildirilir
2 – Manual : Değişiklikler istemci tarafından istenir
3 – Notify : Sunucu istemciye değişiklik olduğunu bildirir
(LinkRequest ile oluşur)
LinkTimeOut : Sunucu - istemci arasındaki bağlantı süresi ( 10 – 1 sn )
LinkOpen : DDE bağlantısının sağlanması
LinkClose : DDE bağlantısının sona ermesi
LinkExecute : İstemci sunucudan bir şey talep edince oluşur
LinkError : DDE haberleşmesinde hata oluşması
LinkPoke : İstemcinin, sunucuya veri göndermesi
İstemci_Kontrol.LinkPoke
LinkRequest : Sunucunun, istemciye bilgi göndermesi (LinkMOde = 2)
İstemci_Kontrol.LinkRequest
LinkSend : Sunucunun bir resim kutusunun içeriğini istemciye göndermesi
Resim_Kutusu.LinkSend
Sunucu program oluşturulurken exe oluşturma sırasında istemcide LinkTopik tanımlaması için kullanılacak isim Visual Basic mönüsünde File > Make Exe > Options > Application > Title kısmında girilmelidir.
Hedef - Kaynak
Kaynak
Kaynak.Exe ‘ Exe ismi
Application.Title = “Kaynak” ‘ Program başlığı
KaynakForm ‘ Formun ismi
KaynakForm.LinkMode = 1 ‘ Form sunucu özelliği alıyor
KaynakForm.LinkTopik = “KaynakForm” ‘ Sunucu formun tanımı
Private Sub Text1_LinkOpen(Cancel As Integer) ‘ İstemci bağlanıyor
Text1.LinkMode = 1 ‘ Bağlantı automatik oluyor
End Sub
Hedef
Private Sub baglan_Click() ‘ Bağlantı
If Command1.Caption = "&Bağlan" Then
Text1.LinkMode = 0 ‘ Açık bağlantıları kapat
Text1.LinkTopic = "Kaynak|KaynakForm" ‘ Sunucu tanımlaması
Text1.LinkItem = "Text1" ‘ Bilginin alınacağı yer
Text1.LinkMode = 1 ‘ Automatik bağlantı
Command1.Caption = "&Bağlantıyı Kes"
Else
Text1.LinkMode = 0 ‘ Bağlantıyı kes
Command1.Caption = "&Bağlan"
End If
End Sub
Excel ile DDE Bağlantısı
Private Sub Command1_Click()
Dim KolonSatir As String
Text1.LinkMode = 0
Text1.LinkTopic = "Excel|Kitap1"
Text1.LinkItem = "R1C1" ' Başlangıç Hücresi
Text1.LinkMode = 1
On Error Resume Next
For Satir = 1 To 5 ' Satır ve sütünlar sıra ile
For Kolon = 1 To 5 ' okunup gride alınıyor.
KolonSatir = "R" & Satir & "C" & Kolon
Grid1.Row = Satir
Grid1.Col = Kolon
Text1.LinkItem = KolonSatir
Grid1.Text = Text1.Text
Next Kolon
Next Satir
End Sub
İki windows uygulaması arasında istemci(client) – sunucu(server) bağlantısı ile veri alışverişine olanak sağlar. Visual Basic’de formlar sunucu olabilirler; metin kutuları , etiketler ve resim kutuları istemcidir.
LinkTopik : Sunucu tanımlaması
Text1.LinkTopic = “Excel | C:\Gelir.Xls”
LinkItem : Sunucudan bilginin alınacağı yer
Text1.LinkItem = "R1C1" ‘ A2 hücresi
LinkMode : Bağlantı şekli
1 – Automatic : Değişiklik anında bildirilir
2 – Manual : Değişiklikler istemci tarafından istenir
3 – Notify : Sunucu istemciye değişiklik olduğunu bildirir
(LinkRequest ile oluşur)
LinkTimeOut : Sunucu - istemci arasındaki bağlantı süresi ( 10 – 1 sn )
LinkOpen : DDE bağlantısının sağlanması
LinkClose : DDE bağlantısının sona ermesi
LinkExecute : İstemci sunucudan bir şey talep edince oluşur
LinkError : DDE haberleşmesinde hata oluşması
LinkPoke : İstemcinin, sunucuya veri göndermesi
İstemci_Kontrol.LinkPoke
LinkRequest : Sunucunun, istemciye bilgi göndermesi (LinkMOde = 2)
İstemci_Kontrol.LinkRequest
LinkSend : Sunucunun bir resim kutusunun içeriğini istemciye göndermesi
Resim_Kutusu.LinkSend
Sunucu program oluşturulurken exe oluşturma sırasında istemcide LinkTopik tanımlaması için kullanılacak isim Visual Basic mönüsünde File > Make Exe > Options > Application > Title kısmında girilmelidir.
Hedef - Kaynak
Kaynak
Kaynak.Exe ‘ Exe ismi
Application.Title = “Kaynak” ‘ Program başlığı
KaynakForm ‘ Formun ismi
KaynakForm.LinkMode = 1 ‘ Form sunucu özelliği alıyor
KaynakForm.LinkTopik = “KaynakForm” ‘ Sunucu formun tanımı
Private Sub Text1_LinkOpen(Cancel As Integer) ‘ İstemci bağlanıyor
Text1.LinkMode = 1 ‘ Bağlantı automatik oluyor
End Sub
Hedef
Private Sub baglan_Click() ‘ Bağlantı
If Command1.Caption = "&Bağlan" Then
Text1.LinkMode = 0 ‘ Açık bağlantıları kapat
Text1.LinkTopic = "Kaynak|KaynakForm" ‘ Sunucu tanımlaması
Text1.LinkItem = "Text1" ‘ Bilginin alınacağı yer
Text1.LinkMode = 1 ‘ Automatik bağlantı
Command1.Caption = "&Bağlantıyı Kes"
Else
Text1.LinkMode = 0 ‘ Bağlantıyı kes
Command1.Caption = "&Bağlan"
End If
End Sub
Excel ile DDE Bağlantısı
Private Sub Command1_Click()
Dim KolonSatir As String
Text1.LinkMode = 0
Text1.LinkTopic = "Excel|Kitap1"
Text1.LinkItem = "R1C1" ' Başlangıç Hücresi
Text1.LinkMode = 1
On Error Resume Next
For Satir = 1 To 5 ' Satır ve sütünlar sıra ile
For Kolon = 1 To 5 ' okunup gride alınıyor.
KolonSatir = "R" & Satir & "C" & Kolon
Grid1.Row = Satir
Grid1.Col = Kolon
Text1.LinkItem = KolonSatir
Grid1.Text = Text1.Text
Next Kolon
Next Satir
End Sub
