Γεια. Αναβαθμιζω ενα ραδιοφωνακι πο εχω κανει σε .net. Του εβαλα ενα κοντορλ με το οποιο αλλαζω τους σταθμους, το θαμα ειναι ο,τι το κοντολ ειναι ενας κυκλος, και οι τιμες που περνει ειναι απο -180.0 εως 180.0( μοιρες ) και οι σταθμοι ειναι απο 80 εως 110 (κατι τετιο). Ειπα να το κανω με ifs και να περνω καποιo range πχ if(angle<90&&angle>100) setStation(81.6) αλλα αυτο δε μου κανει γιατι οι σταθμοι ειναι δυναμικοι . Μετα λεω ας το κανω οπως ειναι , αλλα ειναι πολυ δυσκολο να πετυχεις καποιο σταθμο.
Και τελος λεω να το ποσταρω μπας και παρω καμια ιδεα.
codes..
Spoiler:
Εμφάνιση 1-15 από 18
-
24-05-09, 17:49 Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #1
-
24-05-09, 18:21 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #2
Γι'αυτό υπάρχει η αυτόματη αναζήτηση και οι αποθηκευμένες μνήμες
Η θα καθορίσεις βήμα (π.χ. 500Khz με δυνατότητα μικροσυντονμισμού όμως στα 250Khz) και θα είναι βηματική η κίνηση του "κύκλου" σου (σα να κουμπώνει σε κάποιο κάναβο) και όταν πατά (π.χ.) shift ο χρήστης, θα έχει ξεκλείδωμα του "κουμπώματος".
-
24-05-09, 19:27 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #3
Οι σταθμοι ειναι εικονικοι. ειναι σε ενα xml αρχειο. πχ σταθμος A
Κώδικας:<station> <name>A</name> <url>mms://123.123.123/A</url> <FM>99.9</FM> </station>
* Το FM το βρισκω με google
-
24-05-09, 19:53 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #4
Τότε μπορείς να βρείς τα fm (με google) για όλους και να τους ταξινομησεις έτσι, οπότε βρίσκεις και τα "βήματα" που θα κλειδώνει το κυκλικό κοντρόλ σου.
Αλλά άποψη μου ότι οι μνήμες και τα κουμπάκια +/- είναι πιο βολικά απο κυκλικό κοντρόλ.
-
24-05-09, 22:11 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #5
Αφού θα μοιράσεις 360 μοίρες σε Ν σταθμούς, κάθε σταθμός θα πάρει ένα διάστημα μήκους 360/Ν μοιρών, με τον πρώτο σταθμό να είναι από το -180 ως το -180+360/Ν και τον τελευταίο να αρχίζει στο 180 - 360/Ν και να τελειώνει στο +180.
Για να μην έχεις overlaps ή κενά σημεία πρέπει τα διαστήματα να είναι ημιανοικτά. Αυτό το αποφασίζεις εσύ: ή τα διαστήματα είναι της μορφής [Χ,Χ+360/Ν) ή της μορφής (Χ,Χ+360/Ν]. Προγραμματιστικά είναι απλό αν το έχεις υπόψιν.
Για να δεις οι μοίρες που διάλεξε ο χρήστης (έστω m) σε ποιό κουτάκι αντιστοιχούν, λύνεις το:
m = k * (N/360) -180, ισοδύναμα:
k=((m+180)*360)/Ν
Το k το χειρίζεσαι ανάλογα με την επιλογή που έκανες για τα διαστήματα. Νομίζω το απλούστερο είναι να κάνεις αποκοπή για να υλοποιήσεις το [,).
Πάντως συμφωνώ με τον bxeno: σαν χρήστης αν έπρεπε να πετυχαίνω τόξα 3-4 μοιρών για να διαλέξω σταθμό, μάλλον θα κοίταγα για άλλο πρόγραμμα
edit: δε το είχα καταλάβει καλα. Το παραπάνω μοιράζει τα τόξα του κύκλου οποιόμορφα στους σταθμούς. Οχι τις συχνότητες ομοιόμορφα στον κύκλο + ένα check για τη τον κοντινότερο σταθμό.Τελευταία επεξεργασία από το μέλος Πύρρος : 25-05-09 στις 09:54.
And how can we win, when fools can bekingsISO-approved?
[MUSE: Knights of Cydonia]
-
25-05-09, 01:03 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #6
Θα δω αυριο. (το κεφαλι μου εχει μπιφτεκοσει απο τον ηλιο)
-
25-05-09, 01:33 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #7
Γουόρνινγκ: Είναι αργά και μπορεί να πω μπαρούφα!
Έστω πως οι σταθμοί είναι από 80 μέχρι 110... Το κοντρόλ παίρνει τιμές από -180 έως 180. Θέτουμε τις τιμές του κοντρόλ ως Χ και τις τιμές των σταθμών ως Y και λύνουμε την εξίσωση αΧ + β = Υ...
Δηλαδή το σύστημα:
ι) -180α +β = 80 και
ιι) 180α +β = 110
ι)==> β = 80 + 180α
ιι) 180α +80 + 180α = 110 <==>
360α = 110 - 80 <==>
360α = 30 <==>
α = 30/360 <==>
α = 0,083333
και απο το ιι προκύπτει: β = 80 +180α <==>
β = 80 + 15
β = 95
οπότε έχουμε τον τύπο Υ = 0,08333Χ + 95 που μεταφράζει μοίρες σε συχνότητες
Με το που γυρίσει και αφήσει ο χρήστης το κοντρόλ, θα παίρνεις τις μοίρες και θα τις περνάς στην απο πάνω εξίσωση για να πάρεις τη συχνότητα που τους αντιστοιχεί. Θα τσεκάρεις τις συχνότητες στο xml αρχείο σου, θα βρίσκεις την κοντινότερη στη συχνότητα που έχει επιλεχθεί στο κοντρόλ και έτσι θα επιλέγεις σταθμό.
Αφού γίνει αυτό μπορείς να πάρεις τη συχνότητα του σταθμού από το αρχείο, και αντιστρέφοντας την εξίσωση να την κάνεις σε μοίρες για να κάνει snap το κοντρόλ ακριβώς στη σωστή θέση που αντιστοιχεί στον σταθμό.
Αυτά!Video meliora proboque; deteriora sequor...
-
25-05-09, 01:38 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #8
-
25-05-09, 10:23 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #9
Οι FM είναι από 88.0 – 108.0 δλδ εύρος 20 Μηζ.
Με βήμα μεταξύ σταθμών 0.1 Μηζ έχουμε 20 * 10 = 200 θέσεις.
360 μοίρες / 200 θέσεις = 1.8 μοίρες/θέση.
Μοίρες = (θέση – 88.0) * 10 * 1.8 – 180
Π.χ. η 88.1 είναι στις –178.2 και η 107.9 στις +178.2.
Αν θέλεις να ξέρεις από τη θέση κάποιας «βελόνας» στον κύκλο σε ποια συχνότητα είσαι τότε το απλούστερο είναι να εμφανίζεις ένα αριθμητικό («ψηφιακό») display με τη συχνότητα (μετατροπή από μοίρες).
-
25-05-09, 10:31 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #10
Να κάνεις (σχεδόν)ατέρμονη στροφή στο κυκλικό control. Π.χ. δωσε 3600 μοίρες περιστροφή στη μπάντα των fm για να είναι λειτουργικο (και να μην σπάει τα νεύρα του ο χρήστης να πετύχει σταθμό). Επισης καθώς περιστρέφει να εμφανίζει συχνότητα και όνομα σταθμού.
Τελευταία επεξεργασία από το μέλος bxenos : 25-05-09 στις 12:08.
-
25-05-09, 11:54 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #11
Θα ήταν ίσως προτιμότερο λειτουργικά να χρησιμοποιήσεις μια οριζόντια μπάρα (88.0 - 108.0) με ενδείξεις και επιπλέον εμφάνιση συχνότητας με μορφή ετικέττας στη θέση του πόντικα.
-
25-05-09, 12:14 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #12
Καλα οκ... Πως δε το σκεφτηκα , ελεος.... Απλη χιαστη!!!
Κώδικας:var temp = rotStation.Angle + 180.0; temp = (temp * maxValue) / 360.0; Rotated(temp);//event
Τωρα απλα βαζω στο MaxValue τον πληθος των σταθμων που υπαρχουν...
Οποις θελει το κοντρολ το εχω εδω
Spoiler:
-
25-05-09, 12:54 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #13
[QUOTE=Παπι;2838789]Καλα οκ... Πως δε το σκεφτηκα , ελεος.... Απλη χιαστη!!!
Δεν το σκέφτηκες -ίσως- γιατί σε ... είχε μπιφτεκιάσει ο ήλιος, όπως ο ίδιος ομολόγησες...
Καλή δύναμη
-
25-05-09, 17:14 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #14
Χμ να και κάτι ενδιαφέρον. Είχε χρειαστεί κι εγώ να κάνω κάτι παρόμοιο μόνο που εγώ ήθελα ανεμολόγιο i.e. κάθε μοίρα και επιλογή. Προσωπικά έφτιαξα μια κλάση Knob η οποία προσομοιώνει τη λογική ενός διακόπτη κυκλικής επιλογής στα πρότυπα αυτού του διακόπτη. Μετά φτιάχνεις ένα CustomControl το οποίο θα ενσωματώσει την αναπαράσταση του διακόπτη. Εκεί κατασκευάζεις ένα αντικείμενο Knob τόσων θέσεων όσες και οι συχνότητες που έχεις διαθέσιμες. Σε κάθε κλικ του χρήστη, ανάλογα σε ποιό ημικύκλιο του διακόπτη έγινε, μειώνεις ή αυξάνεις κατά μία τη θέση του Knob. Τέλος με τριγωνομετρία μπορείς να υπολογίσεις τις συντεταγμένες του άκρου της γραμμής που θέλεις να ζωγραφίσεις. Σημείωσε ότι με αυτό τον τρόπο προάγεις και το reusability του Control: αν μετά θέλεις έναν αντίστοιχο επιλογέα για την ένταση του ήχου τότε μπορείς να χρησιμοποιήσεις το ίδιο Control. Επειδή απέφυγα τις λεπτομέρειες για να μην κουράσω, ό,τι απορία έχεις με ρωτάς.
EDIT: @Παπι
Ουπς δεν είδα το spoiler σου... Κάτι τέτοιο εννοώ αλλά όχι ακριβώς. Καλύτερα να κληρονομήσεις την Control και να κάνεις δικό σου paint. Επίσης βάλε και events ώστε τα αντικείμενα που ενδιαφέρονται για την αλλαγή επιλογής να ενημερώνοται εύκολα.Τελευταία επεξεργασία από το μέλος αστρομαχητής : 25-05-09 στις 17:54.
-
25-05-09, 22:33 Απάντηση: Πως να αποδωσεις μοιρες σε ραδιοφωνικους σταθμους #15
Εχει event το Rotated (void(double)) .
το ραδιοφωνακι ειναι αυτο
και το κοντρολ που θα κουμποσω αυτο
Το οποιο ζωγραφιζω αυτη τη στιγμηΤελευταία επεξεργασία από το μέλος Παπι : 25-05-09 στις 23:03.
Παρόμοια Θέματα
-
Παρκάρισμα σε σταθμούς μετρό
Από elina_77 στο φόρουμ Εκτός θέματοςΜηνύματα: 0Τελευταίο Μήνυμα: 01-03-08, 22:43 -
Γερμανία: Ο μεγαλύτερος πάροχος ασύρματων υπηρεσιών προσθέτει 500 σταθμούς WiMax
Από aesir στο φόρουμ ΕιδήσειςΜηνύματα: 8Τελευταίο Μήνυμα: 10-05-07, 16:22 -
ΑΣΥΡΜΑΤΗ ΣΥΝΔΕΣΗ ΜΕ ΠΙΛΟΤΙΚΟΥΣ ΔΟΡΥΦΟΡΙΚΟΥΣ ΣΤΑΘΜΟΥΣ
Από nnn στο φόρουμ ΕιδήσειςΜηνύματα: 19Τελευταίο Μήνυμα: 14-02-07, 01:41 -
Κυκλοφόρησαν τα νέα Windows ΧP 64-bit για σταθμούς εργασίας και διακομιστές
Από dantouan στο φόρουμ ΕιδήσειςΜηνύματα: 0Τελευταίο Μήνυμα: 26-04-05, 00:51
Bookmarks