• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Embedded Visual Basic ile Dosya Okuma / Yazma

Katılım
20 Nisan 2008
Mesajlar
43
Excel Vers. ve Dili
2010 türkçe
visual basic de Pocket PC Microsoft CE File System Control 3.0 uygulaması hakkında bilgi sahibi arkadaşlar var mı linkte verilen uygulamayı kullanmak istiyorum vb6 da Microsoft CE File System Control 3.0 yok başka versiyonlarında mı var acaba

teşekkürler.

http://gencay007.blogcu.com/embedded-visual-basic-ile-dosya-okuma-yazma/4284339



Ülkemizde mobil cihazların kullanım alanın büyük payını "satış ve dağıtım" amaçlı kullanım alıyor ise de "depo otomasyon ve stok takibi" amaçlı yapılan kullanımlarda küçümsenmeyecek kadar çoktur. Yapabildiğim kadarıyla bu projede maillerle gelen isteklere cevap olacak örnek kodları da eklemeye çalışacağım.

Bu projemizde Depo otomasyon operasyonlarının en önemli işlemi olan stok sayımı / kabul ve Stok girişi için bir form oluşturacağız ve barkodu okunan stok kartı bilgileri girilerek txt dosyasına kaydedeceğiz.
Stok Kontrolü
Uygulamayı çalıştırıp “Windows CE for the Pocket PC project” (önceki makalemden hatırlayın) projesi açalım. File ve FileSystem kontrollerini kullanacağımız için öncelikle ilgili Component i eklememiz gerekiyor.
Bunun için Toobox üzerinde sağ kilik => Components.. adımı yada Projets menüsünden =>Compnents adımları takip edilmelidir.
Gelen components penceresinden "Microsoft CE File System Control 3.0" seçilir.
Artık toolbox umuza iki kontrol daha eklenmiştir.File ve FileSystem bu kontrolleri dosya işlemlerimiz için yeterli olacaktır.
Bu iki kontrolü de formun kullanmayacağımız bir yerine sürekle-bırak yada çit tıklayarak eklenmesini sağlayın.
Şimdi formumuzu dizayn edelim.
Tasarım

*
Proje Seçeneklerinden Proje ile ilgili tanımlamaları değiştirmeyi unutmayın, bu kez "Start Menu" de değil "My Documents"in altına yüklensin
*
Text1 in yani txtBarkod tabindex ini 0 sıfır yapın. form yüklendiğinde eğer barkod cihazı ile veri girişi yapılacaksa okunan veri txtBarkod işlensin. Diğer kontrollerin tabindex-lerinide yukardan başlayarak düzenleyin. Kullanım kolaylığı açısından bu çok önemlidir.
*
Kodlarda gördüğünüz gibi Pocket PC de My Documents in altında Stok.txt adında bir dosyanın bulunması gerekir verilerimiz bu dosyaya işlenecek.
*
Malzeme ve Promosyon kontrollerinin fontlarını 7 yapalım.
*
Text kontrollerin içlerini boşaltalım.




Text1txtBarkodText2txtSTkodText3txtSTadText4txtMiktarCombo1comBirimCombo2comDepoOption1opMalzMalzemeOption2opPromosyonPromosyonCommand1btnYeniYeniCommand2btnKaydetKaydetCommand3btnTemizleTemizleCommand4btnKapatKapat
Kodlama

*
Veriler BarkodKodu,StokKodu,StokAdı,StokBirimi,StokMiktarı ,Depo,MalzemeTuru olmak üzere toplam yedi satırlık bloklar halinde stok.txt ye yazılacaktır. Verileri okurken (başka bir programla import ederken) böyle okutmalısınız.
1-7 bir stok, 8-14 başka bir stok ve 15-21 sonraki stok olacaktır.
*
Veri kaydetme ve transferlerinde xml kullanmanızı tavsiye ederim ancak bu dosyanın txt olması üzerine istek geldiğinden bende txt olarak yapıyorum.

Private Sub Form_Load()

’birim açılır listesine Birimleri ekliyorum
comBirim.AddItem ("Adet")
comBirim.AddItem ("Koli")
comBirim.AddItem ("Paket")
comBirim.AddItem ("Kilo")
’form load olduğundabirim combobox unun boş olmaması için ’listeye eklediğim ilk yani 0 indeksli elemanını ekrana getiriyorum
comBirim.ListIndex = 0

’depoları ekliyorum
comDepo.AddItem ("Merkez depo")
comDepo.AddItem ("İade deposu")
comDepo.AddItem ("Sayım Deposu")
comDepo.AddItem ("Diğer")
’form load olduğunda ambar combobox unun boş olmaması için ’listeye eklediğim ilk yani 0 indeksli elemanını ekrana getiriyorum
comDepo.ListIndex = 0
’stok dosyası var mı kontrol edelim? My Documents in altında Stok.txt dosyası yok ise veri girilmesinin bir anlamı yok
’çünkü kayıt işlemi yapılamayacaktır.
If FileSystem1.Dir(App.Path & "Stok.txt") = "" Then
MsgBox (" Stok dosyası bulunamadı. Lütfen silinmediğinden emin olun! ")
App.End
End If

End Sub

Private Sub btnTemizle_Click()
’yeni butonundan farklı olarak sadece combolar ve option lara dokunmuyorum
txtBarkod = ""
txtSTkod = ""
txtSTad = ""
txtMiktar = ""
txtBarkod.SetFocus

End Sub

Private Sub btnYeni_Click()
’form load olduğundaki gibi ekranı varsayılan değerlerine döndürüyorum.
yeni
End Sub

Sub yeni()
txtBarkod = ""
txtSTkod = ""
txtSTad = ""
comBirim.ListIndex = 0
txtMiktar = ""
comDepo.ListIndex = 0
opMalz.Value = True
opPromosyon.Value = False
’Barkod kullanılacaksa ki genelde barkod okuyan cihazların kendi yazılımları vardır ve biz yazılımcılara
’pek iş bırakmazlar. yani barkod yazılımı çalıştırıldığında o anda aktif olan veri girilebilir alana okudukları
’verileri yazmaya çalışırlar. bu nedenle form ilk yüklendiğinde -- kaydetme işlemi yapıldığında yada temizleme işlemi yapıldığında
’barkoda ait textin focuslanması gerekiyor
txtBarkod.SetFocus
End Sub
’kayıt işlemi için veri girilen alanların kontrol edilmesi
Private Sub btnKaydet_Click()

’eksik veri girillmişmi kontrol edelim
If Len(Trim(txtBarkod)) = 0 Or Len(Trim(txtSTkod)) = 0 Or Len(Trim(txtSTad)) = 0 Then
MsgBox ("Stok kartı bilgilerinde eksiklik var lütfen kontrol ediniz")
Exit Sub
End If

’miktar text box u nun boş olmamasını kontrol edelim

If Len(Trim(txtMiktar)) <= 0 Then
MsgBox ("Miktar boş olamaz!")
txtMiktar = ""
txtMiktar.SetFocus
Exit Sub
End If

kaydet
End Sub

Sub kaydet()
Dim dosya As String
dosya = "My DocumentsStok.txt"
File1.Open dosya, fsModeAppend
’kayıtları işliyorum
File1.LinePrint txtBarkod.Text
File1.LinePrint txtSTkod.Text
File1.LinePrint txtSTad.Text
File1.LinePrint comBirim.Text
File1.LinePrint txtMiktar.Text
File1.LinePrint comDepo.Text

If opMalz.Value = True Then
File1.LinePrint "Malzeme"
Else
File1.LinePrint "Promosyon"
End If
File1.Close
MsgBox ("Stok kaydı Yapılmıştır")
yeni

End Sub
Programın çalıştırılması;
Stok.txt Dosya 0 Byte ve Porejimiz yukarıda dediğim gibi "My Documents"in altında.
 
Geri
Üst