Skip to main content

AccessTr.neT


Fonksiyonda "Sıfır" Hatası

megasoftware
megasoftware
9
2862

Fonksiyonda "Sıfır" Hatası

#7
(22/03/2016, 22:34)atoz112 yazdı: sayın megasoftware,






Kod:
Function HDSerialNumber() As String
   Dim fsObj   As Object
   Dim drv     As Object
   Set fsObj = CreateObject("Scripting.FileSystemObject")
   Set drv = fsObj.Drives("C")
    HDSerialNumber = Left(Hex(drv.SerialNumber), 4) & "-" & Right(Hex(drv.SerialNumber), 4)
End Function

fonksiyon yine bu hali ile kalmalı.sadece,formun YÜKLENDİĞİNDE olay yordamındaki kodları





Kod:
Me.Vol.Caption = HDSerialNumber
Me.Vol.Caption = Left(HDSerialNumber, InStr(1, HDSerialNumber, "-") - 1)

bu şekilde yazmalısınız.böylece,tire işaretinden önceki ilk 4 değeri ekranda gösterebilirsiniz.

bilginize...iyi çalışmalar,saygılar.

Sayın hocam sorun giderilmedi "ekrana görüntüsü"nden de anlaşılacak sanırım sıkıntım..
[Resim: 14587255331.jpg]
Son Düzenleme: 23/03/2016, 12:34, Düzenleyen: megasoftware.
Cevapla
#8
sayın megasoftware,

fonksiyon için

Kod:
Function HDSerialNumber() As String


    Dim fsObj   As Object
    Dim drv     As Object
    Set fsObj = CreateObject("Scripting.FileSystemObject")
    Set drv = fsObj.Drives("C")

If Left(Hex(drv.SerialNumber), 1) = 0 Then
    HDSerialNumber = "0" & Right(CStr(Left(Hex(drv.SerialNumber), 4)), InStr(1, CStr(Left(Hex(drv.SerialNumber), 4)), "-") - 2) & "-" & Right(CStr(Left(Hex(drv.SerialNumber), 4)), 4)
Else
    HDSerialNumber = Left(Hex(drv.SerialNumber), 4) & "-" & Right(Hex(drv.SerialNumber), 4)
End If

End Function

formun YÜKLENDİĞİNDE olay yordamı için de

Kod:
Me.Vol.Caption = HDSerialNumber
kod satırlarını yazmayı denemek ister misiniz.bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#9
Hocam süpersiniz teşekkür ederim. Sorun çözülmüştür konuyu taşıyabilirsiniz. : +rep 
Son yazdığınız kod bana ilham oldu ve VOL değeri 8 krakterden oluşmak zorunda olduğundan Hex komutu "0" ve Null değerlerini desteklemeyip okumadığından öncelikle bulduğu değerin Len komutu ile basamak sayısına bakıp eğer 8 den küçükse komutu ile başa "0" eklemeyi başardım. İleride örnek olması için kodun son hali şu şekildedir..
Kod:
Public Function HDSerialNumber() As String
Dim fsObj As Object
Dim drv As Object
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set drv = fsObj.Drives("C")
Deger = Left(Hex(drv.SerialNumber), 9)
If Len(Deger) < 8 Then
    HDSerialNumber = "0" & Left(Deger, 3) & "-" & Right(Deger, 4)
Else
    HDSerialNumber = Left(Deger, 4) & "-" & Right(Deger, 4)
End If
End Function

ayrıca,formun YÜKLENDİĞİNDE olay yordamına da


Kod:
Private Sub Form_Load()
Me.Vol.Caption = HDSerialNumber
End Sub

Son Düzenleme: 23/03/2016, 14:35, Düzenleyen: megasoftware.
Cevapla
#10
sayın megasoftware,

kendi çalışmalarınıza kendi çabalarınız ile istek ve azim akabinde olumlu sonuçlar alacak şekilde katılımcı ve katkı sağlayıcı olma girişimleriniz sizin için olumlu ve güzel bir ilerleme ve kendini geliştirme zemini oluşturacak durumdur.

kendinize dair verimliliğinizin artması temennisi ile,kutlarım.

bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task