|
Îåêßíçóå áðü ôï ìÝëïò qbrain. Τελευταία δημοσίευση από το μέλος qbrain στις 08-04-2007, 14:20. Υπάρχουν 13 απαντήσεις.
-
02-04-2007, 14:59
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
Παιδιά καλησπέρα και καλώς σας βρήκα,
Έχω να κάνω μια ερώτηση που για τους περισσότερους (αν κρίνω από αυτά που διαβάζω) θα είναι «χαζή», δεν είμαι προγραμματιστής, ασχολούμαι σαν hobby με τον προγραμματισμό και προγραμματίζω από το 1989 (μην φανταστείτε τίποτα φοβερό) ξεκίνησα με την BASIC λίγο αργότερα πέρασα στην Quick Basic και στην Πασχαλ, τα τελευταία 4 χρόνια ασχολούμαι με την visual basic, αλλά λόγω έλλειψης χρόνου δεν ξερώ πολλά πράγματα, το ερώτημα μου είναι τι ακριβώς κάνει το timer1 και πως λειτουργεί, βασικά χρειάζομαι μια εντολή (όπως η sleep στην qb η το sound 0,4) για καθυστέρηση , για να καταλάβετε, αυτό που θέλω να κάνω είναι να μου εμφανίζει σε λούπα 3 εικόνες ανά 0,8ms, και θέλω την μεταβλητή του χρόνου να την ορίζω από τext box.
Ευχαριστώ για το χρόνο σας και ελπίζω να σας ζαλίζω με τις αρχάριες ερωτήσεις μου.
___________ By Qbrain
|
|
-
02-04-2007, 15:15
|
|
Το timer (που παίρνει αυτόματα το όνομα timer1, timer2 κλπ. όταν το ρίξεις πάνω σε μια φόρμα) ενεργοποιηεί ένα event κάθε n millisecond. Και είναι μάλλον αυτό που ψάχνεις. Όρισε το Interval (π.χ. timer1.Interval = textbox1.text) και πρόσθεσε τον παρακάτω κώδικα: Private Sub Timer1_Timer() set picturebox1.picture = ..... End Sub
Τροποποίηση τον κώδικα έτσι ώστε να εμφανίζει κάθε φορά διαφορετική εικόνα. Πρόταση: Κατέβασε την Visual Basic 2005 Express. Είναι η δωρεάν έκδοση του visual studio 2005 για την visual basic. Δεν αξίζει να ασχολήσε με την vb6 εφόσον δεν σου το επιβάλλουν συγκεκριμένες απαιτήσεις.
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
|
|
-
02-04-2007, 15:32
|
-
02-04-2007, 17:06
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
Λοιπών δοκίμασα αυτό που μου είπες, οκ το πώς θα του ορίσω τα ms το κατάλαβα (το είχα κάνει αυτό δηλαδή) αυτό που δεν μπορώ να καταλάβω είναι πως ακριβώς θα λειτουργήσει το delay
Για να καταλάβεις ακριβώς τι θέλω να κάνω θα σου περιγράψω λίγο την εφαρμογή
Είναι ένα παράθυρο με 2 κουμπάκια το ένα πάνω στο άλλο, αυτό που φαίνεται είναι το “show” μόλις πατήσεις πάνω στο command1 τότε εμφανίζεται άλλη μια φόρμα και το command1 γίνετε command2 και γράφει hide, τώρα στην άλλη φόρμα υπάρχουν 3 εικόνες μια κόκκινη, μια πράσινη και μια μπλε. Και θέλω να εμφανίζονται εναλλάξ στο χρόνο που θα ορίσω εγώ(όχι για το χρόνο, δηλαδή θέλω να ορίσω πόσο χρόνος να περνάει μέχρι να εμφανιστεί η επόμενη εικόνα), δηλαδή μια η κόκκινη, μια η πράσινη, μια η μπλε, και πάλι από την αρχή, μέχρι να το κλείσω εγώ…
Τώρα στην qbasic θα έγραφα κάτι τέτοιο
Cls input a ‘όπου α = ο χρόνος σε ms Cls 10 Color 1 Sound 0,a Color 2 Sound 0,a Color 3 Sound 0,a Goto 20
Σε πολύ απλή μορφή, απλά για να καταλάβεις τι θέλω να κάνω…
___________ By Qbrain
|
|
-
02-04-2007, 17:46
|
|
Καταρχήν, ναι η vb6 υστερεί σε πολλά από την vb.net 8 (vb.net 2005). Έχουν περίπου 10 χρόνια διαφορά και όπως ξέρεις 10 χρόνια στην πληροφορική είναι μια αιωνιότητα (και μια μέρα ). Κατά τα άλλα η λογική ανάπτυξης από την qbasic και τον DOS προγραμματισμό έχει αλλάξει πολύ και πρέπει να προσπαθήσεις να καταλάβεις πως λειτουργεί αντί να προσπαθείς να αντιγράψεις αυτό που έκανες παλιά με τον ίδιο τρόπο. Και καλύτερο φυσικά είναι να το κάνεις με ένα σύγχρονο εργαλείο όπως η vb.net 2005 express αντί για την vb6 (όπως λέμε vb 1996).
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
|
|
-
02-04-2007, 18:18
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
οκ!!!   απλα λεγοντας 2005 το μυαλο μου πηγε στην vb5!!! εχω την εκδοση net 2005 αλλα εχει αρκετες διαφορες απο την vb6 και αυτο σημαινει οτι πρεπει να αρχισω παλι απο το -0 αλλα για να μου λες οτι ειναι καλυτερα θα ξεκηνισω σιγα σιγα να ασχολουμε... τωρα στο προβλημα που εχω.... μπορεις να με βοηθησεις  ? η λογικη δεν ειναι η ιδια?
___________ By Qbrain
|
|
-
02-04-2007, 18:31
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
ουσιαστικα εχω βρει ενα τροπο για να το κανω, εχω φτειαξει ενα .gif με τις 3 εικονες και με ενα dll που βρηκα παιζει κανονικα, αλλα δεν μπορω να ορισω εγω το χρονο, εκτος και αν φτειαξω 5-6 gif με διαφορετικους χρονους και διαλεγω πιο χρειαζομαι, αλλα δεν θα εχω ελευθερια, και χρειαζεται σε καθε pc να γινει εγγατασταση το dll στο system 32............ help............plsssssssssssss
___________ By Qbrain
|
|
-
03-04-2007, 18:27
|
|
Απ: Vb & Timer
Βάλε επάνω σε μία φόρμα ένα PictureBox και ένα Timer
Στον κώδικα της φόρμας βάλε το παρακάτω:
Option Explicit Private frameNumber As Long
Private Sub Form_Load() frameNumber = 1 Timer1.Interval = 800 Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer() Select Case frameNumber Case 1 Picture1.Image = LoadPicture("image1.gif")
Case 2 Picture1.Image = LoadPicture("image2.gif")
Case 3 Picture1.Image = LoadPicture("image3.gif")
End Select frameNumber = frameNumber + 1
End Sub
Αυτό κάνει αυτό που θες;
George J.
|
|
-
04-04-2007, 12:39
|
-
05-04-2007, 20:41
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
πολυ καλο, σε ευχαριστω πολυ., εγω τελικα το ειχα καταφέρει με τον πιο κατω τροπο αλλα ειναι λιγο πρωτόγονος!!!
Private Sub Command1_Click() Timer1.Interval = 1000 Timer2.Interval = 1000 Timer3.Interval = 500 Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False Command5.Visible = False End Sub
Private Sub Command2_Click() Timer1.Interval = 800 Timer2.Interval = 800 Timer3.Interval = 400 Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False Command5.Visible = False End Sub
Private Sub Command3_Click() Timer1.Interval = 600 Timer2.Interval = 600 Timer3.Interval = 300 Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False Command5.Visible = False End Sub
Private Sub Command4_Click() Timer1.Interval = 400 Timer2.Interval = 400 Timer3.Interval = 200 Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False Command5.Visible = False End Sub
Private Sub Command5_Click() Timer1.Interval = 200 Timer2.Interval = 200 Timer3.Interval = 100 Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = False Command5.Visible = False End Sub
Private Sub Label3_Click()
End Sub
Private Sub Timer1_Timer() Label1.Visible = True Label2.Visible = False Label3.Visible = False
End Sub
Private Sub Timer2_Timer() Label1.Visible = False Label2.Visible = True Label3.Visible = False End Sub
Private Sub Timer3_Timer() Label1.Visible = False Label2.Visible = False Label3.Visible = True End Sub
σε μια φορμα εβαλα 3 label με τρια χρωματα και 5 κουμπια που οριζουν τις ταχυτητες! να ρωτησω και κατι ακομα γιατι εχουν σπασει τα νευρα μου θελω σε ενα if να ορισω ενα πεδιο 10 αριθμων δηλαδή θέλω μετά από μια πράξη 2 αριθμών που δίνω αν το αποτέλεσμα είναι μέσα σε ένα πλαίσιο αριθμών που ορίζω εγώ να κάνει βγάζει ενα μήνυμα, και να εμφανίζει μια εικόνα, αν είναι μέσα σε ενα 2ο πλαίσιο που ορίζω πάλι εγω να εμφανίζει άλλη εικόνα και αλλο κείμενο, και αν δεν ειναι μεσα σε κανενα πλαισιο να εμφανίσει μια 3η εικόνα και ενα τρίτο κείμενο πχ στην qbasic θα εγραφα κατι τετοιο input a input b c= a*b if c > 85 or c < 95 then print '' eisai meta3i toy 85 kai 95'' :end else goto 10 10 if c> 110 or c < 120 then print '' eisai meta3i toy 110 kai toy 120'': end else goto 20 20 print '' den yparxei tipota tetoio'': end ευχαριστω για την βοήθεια!
___________ By Qbrain
|
|
-
06-04-2007, 10:34
|
|
Απ: Vb &amp;amp; Timer
Στην Visual Basic 6 θα έγραφες κάτι τέτοιο:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Private Sub Command1_Click() Dim number1 As String Dim number2 As String Dim double1 As Double Dim double2 As Double Dim double3 As Double number1 = "0" Do If number1 <> "0" Then Call MsgBox("Τα δεδομένα που εισάγατε δεν είναι αριθμός!", vbOKOnly Or vbCritical, "Σφάλμα!") End If number1 = InputBox("Δώσε τον πρώτο αριθμό:", "Εισαγωγή 1ου αριθμού", IIf(number1 = "0", vbNullString, number1)) Loop While Not IsNumeric(number1 & vbNullString) double1 = CDbl(number1) number2 = "0" Do If number2 <> "0" Then Call MsgBox("Τα δεδομένα που εισάγατε δεν είναι αριθμός!", vbOKOnly Or vbCritical, "Σφάλμα!") End If number2 = InputBox("Δώσε τον δεύτερο αριθμό:", "Εισαγωγή 2ου αριθμού", IIf(number2 = "0", vbNullString, number2)) Loop While Not IsNumeric(number2 & vbNullString) double2 = CDbl(number2) double3 = double1 * double2
Select Case double3 Case 85 To 95 Call MsgBox("Το αποτέλεσμα είναι μεταξύ 85 και 95", vbInformation Or vbOKOnly, "Αποτέλεσμα") Case 110 To 120 Call MsgBox("Το αποτέλεσμα είναι μεταξύ 110 και 120", vbInformation Or vbOKOnly, "Αποτέλεσμα")
Case Else Call MsgBox("Δεν υπάρχει κάτι τέτοιο", vbCritical Or vbOKOnly, "Αποτέλεσμα") End Select
End Sub |
Μην σε τρομάξει ο κώδικας! Κάνει πολλά πράγματα που δεν φαίνονται με την πρώτη ματιά, όπως ελέγχει αν αυτό που έβαλε ο χρήστης είναι αριθμός, και τον ξαναρωτάει αν δεν είναι, βγάζει μηνύματα λάθους ότι δεν έχει εισαχθεί αριθμός, εμφανίζει την προηγούμενη επιλογή του χρήστη κατά την εισαγωγή αριθμού για να μπορεί να την διορθώσει και τέλος χρησιμοποιεί το SELECT CASE για να πάρει την απόφαση σε πιο εύρος είναι το γινόμενο των αριθμών του χρήστη και του δίνει το ανάλογο μήνυμα.
Θα ήθελα να σε παρακαλέσω ωστόσο να μην χρησιμοποιήεις το ίδιο thread για να κάνεις και δεύτερη, τρίτη, διαφορετική ερώτηση αλλά να ξεκινάς ένα καινούργιο και να αλλάζεις το status του thread σε "έχει επιλυθεί", έτσι ώστε αν κάποιος άλλος χρήστης κάνει αναζήτηση να μπορεί να καταλάβει ότι βρήκες απάντηση στο ερωτημά σου.
George J.
|
|
-
06-04-2007, 18:08
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
ok, το αλλαξα κιολας, η αληθεια ειναι οτι τρομαξα μολις ειδα οτι για κατι που με την quickbasic χρειαζομουνα 2-3 γραμμες εδω χρειαζομαι 37!  η αληθεια ειναι οτι ειναι πολυ περιπλοκη η λογικη της.....  περιμενα να δω κατι πιο απλο, περιμενα να μου πεις " στην Visual δεν υπαρχει το "or" αλλα βαζουμε καποιο αλλο συμβολο!" πληγωθηκα.....  πρεπει να ξανα φτειαξω το προγραμμα απο την αρχει.... μα γιατι να μην γινετε με ενα if???? την επωμενη ερωτηση θα την κανω σε νεο thread
___________ By Qbrain
|
|
-
07-04-2007, 00:28
|
|
Αυτό που θα ήθελα να προσθέσω, είναι ότι ο κώδικας που είχες γράψει για την Quick Basic θα δούλευε και αυτούσιος στην VB 6.
Στον κώδικα που σου έγραψα, μάλλον εξάντλησα όλες τις πιθανότητες ώστε να προλάβω σφάλματα που μπορούν να γίνουν από τον χρήστη για να μην σπάσει την ροή του προγράμματος. Ο κώδικας που έδωσες εσύ δεν κάνει τίποτα από αυτά - αν κάποιος δεν έβαζε αριθμό, αλλά γράμματα το πρόγραμμά σου, θα έβγαζε ένα λάθος. Έτσι και ο μεγάλος αριθμός γραμμών.
George J.
|
|
-
08-04-2007, 14:20
|
-
qbrain
-
-
-
Μέλος από τις 02-04-2007
-
-
Δημοσιεύσεις 8
-
-
|
και γω φανταστικα οτι θα επρεπε να δουλεψει, δεν δουλευει ομως.... δοκιμασετο και θα δεις οτι δεν "χτυπαει λαθη σε ολοκληρη την γραμμη, το ξερω οτι ειναι πολυ απλος , και αν γραψεις κατι λαθος θα βγαλει σφαλμα, αλλα επειδη θα το δουλεψω εγω δεν με πολυ πιραζει, πατνος προσαρμοσα τον κωδικα σου με text και παιζει τελεια!! ευχαριστω και παλι!
___________ By Qbrain
|
|
|
|
|