Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Milli Piyango Çekilişi v1.0.2 VBS Betiği

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,338
  • MFC Puanı
    16,230
milli-piyango-cekilisini-gosteren-video-hakkindaki-iddialar.jpg


Merhabalar

Bugün, bu kodlama bütün zamanımı aldı ama başardım.Bu ilk büyük ciddi .VBS kodlamamdır.Çaylak bir WindowsPC kullanıcısına göre iyi iş çıkartılmıştır.

Önce Kod Tasarımı - Sözel :

On adet ayrı çekiliş olacak.Her çekilişte 1-9 arasında toplar, 6 adet kürelerde dönecek .Bu dönme süresi 10 sn.'dir.10 sn. sonra (yani 11.saniye de) 6 adet küre'den rastgele bir rakam belirlenecek.Böylece 6 basamaklı bilet numarası oluşturulacak...

Milli Piyango Çekilişi.vbs Betiği'nin Kodlama İçeriği :
Kod:
Dim numDraws, drawNumber, i, j, ticketNumber, results, fso, filePath, file
Dim total, average, finalTicketNumber, fileIndex

' Çekiliş sayısını belirle
numDraws = 10
results = "Milli Piyango Çekiliş Sonuçları:" & vbCrLf & vbCrLf
total = 0

' Çekilişleri gerçekleştir
For drawNumber = 1 To numDraws
    ' Dönme süresi
    MsgBox drawNumber & ". çekiliş başlıyor! Toplar dönüyor... (5 saniye)"
    WScript.Sleep(5000) ' 5 saniye bekle

    ' 6 basamaklı bilet numarasını oluştur
    ticketNumber = ""
    For j = 1 To 6
        ticketNumber = ticketNumber & Int((9 - 1 + 1) * Rnd + 1) ' 1 ile 9 arasında rastgele rakam
    Next

    ' Sonucu results değişkenine ekle
    results = results & drawNumber & ". çekilişin sonucu: " & ticketNumber & vbCrLf
    
    ' Bilet numarasını sayısal değere dönüştür ve toplamı güncelle
    total = total + CLng(ticketNumber) ' CLng kullanarak uzun tam sayıya dönüştür
Next

' Çekilişler bitti mesajını göster
MsgBox "Çekilişler bitti, şimdi sonuçlar gösterilecek!"

' Ortalama hesapla ve tam kısma yuvarla
average = total / numDraws
finalTicketNumber = Int(average) ' Tam kısma yuvarlama

' Sonuçları göster
results = results & vbCrLf & "Final Bilet Numarası: " & finalTicketNumber

' Dosya yolunu belirle (Masaüstü)
filePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Milli Piyango Çekiliş Sonuçları"
fileIndex = 0

' Var olan dosya adını kontrol et ve yeni dosya adını oluştur
Do While True
    If Not CreateObject("Scripting.FileSystemObject").FileExists(filePath & " " & fileIndex & ".txt") Then
        filePath = filePath & " " & fileIndex & ".txt"
        Exit Do
    End If
    fileIndex = fileIndex + 1
Loop

' Sonuçları dosyaya yaz
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile(filePath, True)
file.WriteLine results
file.Close

MsgBox "Sonuçlar '" & filePath & "' dosyasına kaydedildi!"

.VBS Kodun Açıklaması

Burada, Visual Basic Script (VBS) kullanarak basit bir milli piyango çekilişi simülasyonu gerçekleştiren bir kod parçasını açıklamaktadır. Kod, 10 adet çekiliş yaparak her çekilişte 1 ile 9 arasında rastgele 6 basamaklı bilet numarası üretir. Sonuçlar, kullanıcıya bir mesaj kutusunda gösterilir ve ayrıca masaüstüne bir metin dosyası olarak kaydedilir.

Kodun Genel Yapısı

1.Değişken Tanımlamaları:

numDraws: Toplam çekiliş sayısını tutar (10).
drawNumber: Çekiliş numarasını tutar.
ticketNumber: Her çekilişte oluşturulan 6 basamaklı bilet numarasını tutar.
results: Tüm çekiliş sonuçlarını saklamak için kullanılan bir dize.
fso: Dosya sistemi nesnesi, dosya işlemleri için kullanılır.
filePath: Sonuçların kaydedileceği dosyanın yolunu tutar.
file: Yazma işlemi için kullanılan dosya nesnesi.

2.Çekilişlerin Gerçekleştirilmesi:

For drawNumber = 1 To numDraws: Bu döngü, 10 kez tekrarlanarak her çekilişi simüle eder.
WScript.Sleep(10000): Her çekilişin 10 saniye döneceğini simüle eder.
ticketNumber oluşturma: İç içe bir döngü ile 1 ile 9 arasında rastgele 6 rakam üretilir ve birleştirilerek 6 basamaklı bilet numarası oluşturulur.

3.Sonuçların Toplanması:

Her çekilişin sonucu, results değişkenine eklenir. Bu değişken, tüm çekiliş sonuçlarını saklar.

4.Sonuçların Gösterilmesi:

MsgBox results: Tüm çekiliş sonuçları tek bir mesaj kutusunda kullanıcıya gösterilir.

5.Sonuçların Dosyaya Kaydedilmesi:

filePath: Kullanıcının masaüstünde "Milli Piyango Çekiliş.txt" dosyasının yolunu belirler.
fso.CreateTextFile: Yeni bir metin dosyası oluşturur ve sonuçları bu dosyaya yazar.
file.Close: Dosya yazma işlemi tamamlandıktan sonra dosya kapatılır.

6.Kullanıcıya Bilgilendirme:

Sonuçların kaydedildiği dosyanın yolu, kullanıcıya bir mesaj kutusunda gösterilir.

Kullanım (.VBS betik dosyası oluşturma adımları) :

Bu kodu kullanmak için aşağıdaki adımları izleyebilirsiniz:

1.Bir metin düzenleyici (Notepad gibi) açın.

2.Yukarıdaki VBS kodunu kopyalayın ve metin düzenleyiciye yapıştırın.

3.Dosyayı "MilliPiyango.vbs" adıyla kaydedin.

4.Kaydettiğiniz dosyayı çift tıklayarak çalıştırın.

5.Çekiliş sonuçları 10 saniye aralıklarla gösterilecek ve sonunda masaüstünüzde "Milli Piyango Çekiliş.txt" dosyası oluşturulacaktır.

Özetle :

Bu basit VBS kodu, milli piyango çekilişini simüle etmek için etkili bir yöntem sunar. Kullanıcı dostu bir arayüz ile sonuçları gösterir ve sonuçları kaydetme özelliği ile kullanıcıların çekiliş sonuçlarını saklamasına olanak tanır. Bu tür simülasyonlar, programlama öğrenme sürecinde pratik yapmak için harika bir fırsattır.Ve TRWE_2012 eski bir Microsoft Visual Basıc v6.0 , amatör kodlayıcısıdır.

Güle güle kullanın ve eğlenin...


TRWE_2012
Alaydan Yetişme PC Kullanıcısı
 

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,338
  • MFC Puanı
    16,230
Milli Piyango Çekilişi v1.0.2.vbs'in Değişim Günlüğü - 17 Kasım Pazar Saat : 12.09.59 (24 Hr)

1.Artık çekiliş süreleri 10 sn. değil 5 sn.'ye

2.On adet çekiliş bitirildikten sonra kullanıcı bilgilendiriliyor.

3.On adet çekilişin aritmetik ortalaması "Sayı Yuvarma Yöntemin göre" alınarak, "Final Bilet Numarası" belirlenmekte

4.UTF-8 Türkçe Karakter Seti sorunu çözüldü.Koda bir UTF-8 Karakter kontrol mekanizması eklendi.

5.Masaüstüne kayıt edilen .txt dosyasının üzerine artık yazılmıyor.Bunun yerine 0,1,2,3 gibi artan sayılara bağlı birbirinden bağımsız txt dosyaları oluşturuluyor.

Güle güle kullanın ve eğlenin...
 

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,338
  • MFC Puanı
    16,230
Ekran Görüntülerini unutmuşum...(Kafa gitti...Eee bütün gün kodlama ile uğraşırsan beyin dumura uğrar,haşat olur)

Tamam butonuna basar basmaz 5 saniye bekliyoruz,sonra ikinci ekran geliyor , Tamam butonuna basar basmaz, 5 sn. bekliyoruz,böyle böyle toplam'da 5 x 10 sn = 50 sn.'de toplam 10 adet çekiliş tamamlanıyor
kC51NhW.jpeg


gwCMS3w.jpeg


axmD5MN.jpeg
 

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,338
  • MFC Puanı
    16,230
Peki bunu nasıl kullanacaksınız gerçek hayatta

1.Masaüstüne kayıt edilen text dosyası açılır.

2.FİNAL BİLET NUMARASI , ufak bir kağıda not edilir.

3.Milli Piyongo standının önünde biletlere bakılır.Not'daki 6 basamaklı sayıya en yakın bilet numarası seçilir.

Bu kadar...
 
Üst Alt