Πώς μπορώ να κάνω μια λειτουργία συμβεί το 50% του χρόνου σε VB6

ψήφοι
0

Κάνοντας μια μικρή εφαρμογή, και θέλω μια λειτουργία για να εκτελέσει το 50% του χρόνου. Έτσι, εάν επρόκειτο να DBL κλικ στο exe το ήμισυ του χρόνου η λειτουργία θα εκτελέσει, και οι άλλοι μισοί δεν θα. Δεν μπορώ να βρώ έτσι κι αλλιώς να το κάνετε εύκολα αυτό, η μία λύση δοκίμασα φάνηκε να προσδιοριστεί η πιθανότητα για τη μεταγλώττιση και όχι στο τρέξιμο. Ευχαριστώ εκ των προτέρων!

Δημοσιεύθηκε 25/10/2008 στις 04:17
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
4

Δημιουργήστε ένα τυχαίο δεκαδικό αριθμό μεταξύ 0 και 1. Εάν είναι μεγαλύτερη από 0,5 τρέχει, αν είναι μικρότερη ή ίση με 0,5 δεν τρέχει.

Απαντήθηκε 25/10/2008 στις 04:20
πηγή χρήστη

ψήφοι
2

Για παράδειγμα:

Private Sub Main()
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub
Απαντήθηκε 25/10/2008 στις 04:26
πηγή χρήστη

ψήφοι
1

Αν θέλετε να τρέξει τυχαία, άλλοι έχουν ήδη την προϋπόθεση ότι η λύση. Αν θέλετε μια πιο ντετερμινιστική συμπεριφορά (πρέπει να τρέξει ακριβώς κάθε δεύτερη φορά), θα πρέπει να αποθηκεύσετε κατάσταση μεταξύ των εκτελέσεων.

Μπορείτε να αποθηκεύσετε την κατάσταση είτε στο μητρώο ή στο σύστημα αρχείων του (για παράδειγμα) προσπαθεί να διαβάσει έναν ακέραιο από ένα αρχείο (που είναι στο μηδέν, αν το αρχείο δεν υπάρχει), προσθέστε 1 και να το γράψετε πίσω στο ίδιο αρχείο.

Εάν ο αριθμός γραπτών πίσω ήταν ακόμη, εκτελέστε τη λειτουργία σας διαφορετικά έξοδο.

Με αυτόν τον τρόπο, θα εναλλάσσονται μεταξύ εκτελούν και ικ-εκτέλεση.

Απαντήθηκε 25/10/2008 στις 05:30
πηγή χρήστη

ψήφοι
4

Μην ξεχάσετε να τους σπόρους της τυχαιότητας! Διαφορετικά, πάντα θα σας δώσει την ίδια τιμή κάθε φορά. Μπορείτε να το σπόρο χρήση « Randomize Timer», για παράδειγμα:

Private Sub Main()
    Randomize Timer
    If Rnd > 0.5 Then
        ExecuteFunction ()
    End If
End Sub
Απαντήθηκε 25/10/2008 στις 09:19
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more