Builder - Server Bağlantısı Farklı Bir Yaklaşım [ vb.net ]

Hayırlı sabahlar bugün sizlere geçmişte paylaştığım konulara bir yenisini eklemeye karar verdim. Bu sefer Visual Basic 6 dilinde yer alan eski bir kodu vb.net koduna çevirdim. Kodumuz binary modunda değişken okuma-yazma yapıyor. Hep beraber bakalım.

Not: Ufak tefek hata var onları çözemedim. Bunun dışında çalışıyor. Mesela checkbox'ları farklı işaretliyor text4 ibaresinin içerisinde True yazıyor. Siz değerli üyelerin takdirine bırakıyorum...

İlk önce builder ile başlayalım. 4 adet Textbox ekleyelim. Bunlar bizim örnek konumuzda mail, şifre, hata mesajı gibi işlevlere yarayan textbox'lar olacak. Bir adet buton koyalım bu da oluştur butonumuz. Sonra da bir adet Checkbox koyalım bu da herhangi bir özellik konusunda bize opsiyonel seçenekler vermiş olsun. Örneğin FTP bilgilerini çal.

Kodlarımıza geçelim;

Eklememiz gereken kütüphane;

Imports System.Management

Imports System.Text

Imports System.IO

Public Class kodu altına eklememiz gereken değişkenler;

Dim stub, text1, text2, text3, text4 As String

Dim cb As Boolean Dim cb1 As Boolean

Const FileSplit = "@Yusuf@"

Buton içerisine yazacağım kod;

text1 = TextBox1.Text

text2 = TextBox2.Text

text3 = TextBox3.Text

text4 = TextBox4.Text

If CheckBox1.Checked = True Then

b = True

Else : cb = False

End If

If CheckBox2.Checked = True Then

cb1 = True 

Else : cb1 = False 

End If

FileOpen(1, Application.StartupPath & "\Stub.exe", OpenMode.Binary, OpenAccess.Read, OpenShare.Default)

stub = Space(LOF(1))

FileGet(1, stub)

FileClose(1)

If File.Exists("/Server.exe") Then

My.Computer.FileSystem.DeleteFile("/Server.exe")

End If

FileOpen(1, Application.StartupPath & "\server.exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)

FilePut(1, stub & FileSplit & text1 & FileSplit & text2 & FileSplit & text3 & FileSplit & text4 & cb & FileSplit & cb1 & FileSplit)

FileClose(1)

MsgBox("Server oluştu!", MsgBoxStyle.Information, "Başarılı!")


Şimdi ise Server oluşumuna bakalım. Burada da konu başında koymuş olduğumuz 4 textbox, 1 checkbox'u ekleyelim. Bunlar builder'da vermiş olduğum değişkenleri okuyacak ve tıklayınca aynısını gösterecek. Konu sonunda yazmış olduğumuz kodu derleyelim ve derlenmiş olan iki ögeyi aynı klasör içerisinde test edelim. Bu arada server kısmının derlenmiş olan "exe" adını "Stub" olarak değiştirelim. Siz bunu geliştireceğiniz zaman form üzerinde oluşturmuş olduğunuz Save ve Open File Dialog ögelerine bağlayabilirsiniz ki bağlarsanız daha iyi olur ben burada en basit mantıkta anlatıyorum. Kodlara geçelim;

Ekleyeceğimiz kütüphaneler;

Imports System.IO

Imports System.Net

Imports Microsoft.Win32

Imports System.Text

Public Class kodunun altına okunacak olan değişkenler;

Dim options(), text1, text2, text3, text4, cb, cb1 As String

Const FileSplit = "@Yusuf@"

Not; Bu arada bunlar örnektir siz ne kadar özellik ve değişken eklerseniz o kadar arttırınız. Burada dikkat edilmesi gereken bir hususta options() ibaresi parantez içerisine ne kadar özellik eklerseniz o kadar kod içerisinde arttırmanız gerekiyor. Benim size vermiş olduğum örnek kodda 6 tane var options(6) 'ya kadar ilerlettim.

Form Load Olayına aşağıdaki kodu ekleyelim;

FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared)

text1 = Space(LOF(1))

text2 = Space(LOF(1))

text3 = Space(LOF(1))

text4 = Space(LOF(1))

cb = Space(LOF(1))

cb1 = Space(LOF(1))

FileGet(1, text1) 'options(1) - E-mail

FileGet(1, text2) 'options(2) - E-mail Şifre

FileGet(1, text3) 'options(3) - SMTP adres

FileGet(1, text4) 'options(4) - Port

FileGet(1, cb) 'options(5) - defender

FileGet(1, cb1) 'options(6)

FileClose(1)

options = Split(text1, FileSplit)

TextBox1.Text = options(1)

TextBox2.Text = options(2)

TextBox3.Text = options(3)

TextBox4.Text = options(4)

If options(5) = True Then

CheckBox1.Checked = True

Else

End If

If options(6) = False Then

Else

CheckBox2.Checked = True

End If