Είμαι στην απίστευτα ευχάριστη θέση να ανακοινώσω το di .net community!!!! Big Smile Για περισότερα εδώ: http://www.studentguru.gr/blogs/dinet/archive/2009/12/28/di-net-community.aspx?CommentPosted=true#commentmessage Wink
Share/Bookmark
Posted by Panoylhs | with no comments

Επιτέλους έτοιμο :)

Πριν πολύ καιρό ( κάπου στο εαρινό εξάμηνο ) παρατήρησα πως χρειαζόμουν “κάτι” ώστε να παίζω τα τραγούδια που άκουγα στο YouTube
συνεχόμενα ώστε να μην μπαίνω συνέχεια στη διαδικασία να πατάω Alt + tab για να μπώ στον browser και να ξαναπατήσω να παίξει απο την αρχή το τραγούδι, ήταν αρκετά εκνευριστικό είδικά όταν διάβαζα :p . Είχα προσπαθήσει να σκεφτώ πως μπορώ να το κάνω αλλα δεν είχα βρεί κάτι. Το Σ/Κ που μας πέρασε λοιπόν, επειδή δε μου φτάναν οι εργασίες τις σχολής είπα να το ξαναπροσπαθήσω. Έτοιμο λοιπόν.

Το έχω ανεβάσει στο site μου. Εύκολο στη χρήση, το μόνο που χρειάζετε είναι να δώσετε το id του video και να πατήσετε Load Video.

Ποιο είναι το Id του βίντεο? Είναι το string  στο URL της σελίδας που ξεκινάει μετά το “v=” και τελειώνει ακριβώς πριν το πρώτο “&” (αν δεν έχει & τότε φτάνει μέχρι το τέλος του string ;) ).

Πχ:

 videoid

Share/Bookmark
Posted by Panoylhs | 1 comment(s)

Πολλά πολλά πολλά ευχαριστώ στον κοπρίτη τον d3m που μου έφτιαξε τα logo για το MSDNaa και το DiAverage! :)

msdnaa

diaverage

Share/Bookmark
Posted by Panoylhs | with no comments

Επιτέλους έφτιαξα το DiAverage να τρέχει και online. Πήρα τις κλάσεις απο το DiAvarage που είχα γράψει πέρσυ το καλοκαίρι
και τις ενσωμάτωσα σε Silverlight. Είναι σε beta έκδοση ακόμα μιας και έχω σκοπό να του βάλω κι άλλα features (όπως πχ charts
με στατιστικά ή γενικά ότι ζητήσει ο κόσμος) και να του συμμαζέψω το UI :P

Αν δεν είστε σε Windows Seven, κατεβάστε το Silverlight 3, το οποίο είναι προεγκατεστημένο μονο στα Seven.

Πάμε στη σελίδα μου:

image

πατάμε στο tab DiAverage και φορτώνει το εξής:

image

Αριστερά επιλέουμε εξάμηνο, μετά εμφανίζονται αριστερά τα μαθήματα, επιλεγουμε πάνω τους και μετά γράφουμε βαθμό αι πατάμε αποθήκευση ( αρκετά απλό :P)

Μετά για να δούμε μέσο όρο και κάποια ακόμα στοιχεία μας πατάμε στο Προφιλ tab και:

image

Απλό και γρήγορο :) . Ότι ιδέες έχετε για προσθήκες ή φυσικά αν βρείτε bugs, feel free to tell me :)

Share/Bookmark
Posted by Panoylhs | 8 comment(s)

 

Αρχικά πάμε Start και στο search textbox πληκτρολογείστε msconfig.
Όταν βρεί το msconfig.exe το τρέχουμε.


image

Βγαίνουμε στο εξής παράθυρο και πατάμε στο tab Boot το κουμπί Advanced Options:

image

Τέλος, επιλέγουμε τον αριθμό των επεξεργαστών μας που θέλουμε να χρησιμοποιεί το μηχάνημά μας κατα το boot καθώς και την μνήμη
που μπορεί να χρησιμοποιήσει την βάζουμε στο maximum

image

Happy booting :)

Share/Bookmark
Posted by Panoylhs | 3 comment(s)

Αρχικά δεξί κλικ στο project δεξιά στον Solution Explorer. Μετά Add Existing Item και επιλέγουμε το lib αρχείο που θέλουμε.

Στη συνέχεια, Project –> properties και

image

Share/Bookmark
Posted by Panoylhs | 1 comment(s)
Filed under: , , ,

Καιρό τώρα ήθελα να ξεκινήσω posts τα οποία θα είχαν μία λογική συνέχεια καιθα μπορούσαν να καθοδηγήσουν
κάποιον στο να δαμάσει την C#. Νομίζω ήρθε η ώρα να το κάνω και θα προσπαθήσω να πετύχω και δεύτερο στόχο.
Η συνοχή των posts θα είναι ανάλογη με τα κεφάλαια υο βιβλίου Microsoft .NET Framework – Application Development Foundation
το οποίο είναι το επίσημο βιβλίο για self-paced training kit. Οπότε παρακολουθώντας τα ποστ και προσπαθώντας και λίγο
μόνοις σας, στο τέλος της χρονιάς γιατί να μην προσπαθείσετε να δώσετε και για την πιστοποίηση? :)
(παρεπιπτόντως εγώ τέλος της χρονιάς θα την δώσω :P ).

Ας ξεκινήσουμε με απλά αλλα ταυτόχρονα βασικά πράγματα.

Built-in Value Types

Οι built-in τυποι τυπών είναι οι βασικοί τύποι που προσφέρονται μαζί με το .NET Framework. Πάμε να δούμε
τις αριθμητικές built-in τιμές καθώς και το range τους.

image

Σημειώστε ότι οι32bitοι ακέραιοι (Ιnt32,UInt32) γίνονται optimized κατα το runtime, επομένως προτιμείστε
αυτό τον τύπο για μετρητές και γενικά για μεταβλητές που τις χρησιμοποιείτε συχνά. Όσον αφορά πραγματικούς,
συνίσταται η χρήση του τύπου double, μιας και είναι optimized απο το hardware :)

Ας δούμε λίγα ακόμα value types που θα μας χρησιμεύσουν

image

Υπάρχουν ακόμα 30 περίπου value types στο Framework αλλά προς το παρών μας αρκούν οι παραπάνω.
Οι μεταβλητές αυτών των τύπων δεν είναι reference types, δηλαδή όταν εκχωρούμε μια τιμή (έστω int) σε
μία άλλη, φυλάσεται σε διαφορετική θέση μνήμης στην στοίβα. Οι παραπάνω τύποι συμπεριφέρονται σαν αντικείμενα
( κι ας είναι primitive data types για το framework) και κληρωνομούν την κλάση System.Object ( πχ η Object.ToString()
μας ξελασπώνει αρκετές φορές ).

Πως δηλώνουμε μεταβλητή ενός τύπου? όπως σχεδόν και σε όλες τις άλλες γλώσσες:  <value type> <variable name> ;
πχ image

//Προσοχή, όντας C-like γλώσσα η C# είναι case sensitive

Η C# μας δίνει την δυνατότητα να ορίσουμε nullable τύπους. Τι εννοώ?
Αν μια μεταβλητή μας δεν ξέρουμε τι τιμή έχει, θα θέλαμε να της δώσουμε την διμή null. Αυτός όμως κανονικά δεν γίνετε.
πως μπορούμε να το καταφέρουμε? Βάζωντας ένα ‘?’ δίπλα απο τον τύπο.

image

Που μπορεί να μας χρησιμεύσουν οι nullable μεταβλητές? Πχ αν θέλουμε να ξέρουμε αν ο χρήστης απάντησε μια ερώτηση
θετικά η αρνητικά, ή και καθόλου μια μεταβλητή τύπου nullable boolean θα ήταν ότι έπρεπε :)

Όντας αντικειμενοστραφής γλώσσα, μας δίνει την δυνατότητα να ορίσουμε δικά μας structs και classes. θεωρώ δεδομένες τις γνώσεις
αντικειμνοστραφούς προγραμματισμού γιατί αλλιώς ούτε σε δύο χρόνια δε μας βλέπω να δύνουμε την πιστοποίηση :P.
Τέλος, πάμε να δούμε τα enumerations. Δεν αλλάζει κάτι απο αυτά που ξέρουμε, με λίγα λόγια:

image 
image

Νομίζω αρκούν για το μέρος αυτό αυτά που είπαμε σήμερα :).
Περιμένω ερωτήσεις και feedback σας. Cheers ‘n’ keep coding…

Share/Bookmark

Θέλεις να ζήσεις την εμπειρία της δημιουργίας, της υλοποίησης και της παρουσίασης ενός project; Να αποκτήσεις γνώσεις στις τελευταίες τεχνολογίες της αγοράς, νέους φίλους και την δυνατότητα να κερδίσεις ένα ταξίδι στην Πολωνία, ενώ αναπτύσσεις μια εφαρμογή η οποία μπορεί να λύσει ένα σημαντικό προβλήμα της ανθρωπότητας;

H Microsoft Hellas προσκαλεί φοιτητές προκειμένου να τους εκπαιδεύσει με στόχο την ανάπτυξη μιας εφαρμογής η οποία θα συμβάλλει σε έναν από τους της χιλιετίας των Ηνωμένων Εθνών. Όσοι φοιτητές επιλεγούν θα έχουν την ευκαιρία να συμμετέχουν σε ένα πρόγραμμα το οποίο διοργανώνεται στα πλαίσια του φοιτητικού διαγωνισμού Imagine Cup 2010, το οποίο περιλαμβάνει:

1)Τεχνική εκπαίδευση στις τελευταίες τεχνολογίες προγραμματισμού (.NET, Web programming, C#, Database, Silverlight, Maps, WPF, WCF κ.λ.π.)

2)Εκπαίδευση στην δημιουργία business plan και στην πραγματοποίηση παρουσιάσεων

3)Συμμετοχή σε ομάδα ανάπτυξης λύσης λογισμικού (εως 4 άτομα ανά ομάδα)

4)Επαφές με στελέχη πληροφορικής από την αγορά εργασίας

5)Συμμετοχή στους ελληνικούς τελικούς του διαγωνισμού Imagine Cup, ο νικητής του οποίου θα εκπροσωπήσει την χώρα μας στα παγκόσμια τελικά στην Πολωνία, το καλοκαίρι του 2010.

Στο πρόγραμμα θα επιλεγούν φοιτητές οι οποίοι έχουν πάθος με τον προγραμματισμό και διάθεση να μάθουν, να συνεργαστούν και να προγραμματίσουν, ανεξαρτήτως σχολής/ιδρύματος και βαθμολογίας. Η συμμετοχή είναι δωρεάν και θα επιλεγούν έως και 25 φοιτητές, οι οποίοι στο τέλος του προγράμματος θα λάβουν πιστοποιητικό συμμετοχής από την Microsoft.

Σημαντικό: Για να μπορείτε να συμμετάσχετε στη διαδικασία αξιολόγησης, θα πρέπει να έχετε εγγραφεί στο Imagine Cup 2010 και να έχετε επιλέξει την κατηγορία "Software Design". Μπορείτε να εγγραφείτε στο http://www.imaginecup.com

Εάν ενδιαφέρεσαι να δηλώσεις συμμετοχή στην εκπαίδευση:

1. Μπες στο http://www.imaginecup.com, ολοκλήρωσε τη διαδικασία εγγραφής, και επέλεξε να διαγωνιστείς στην κατηγορία Software Design. Δυστυχώς δεν θα μπορέσουμε να κάνουμε δεκτές αιτήσεις από e-mail που δεν έχουνε εγγραφεί στο Imagine Cup και δεν έχουνε επιλέξει την κατηγορία Software Design.

2. Στείλε ένα σύντομο βιογραφικό σου στο mshic at microsoft.com - με τίτλο «Imagine Cup Training» - με πληροφορίες σχετικά με την εμπειρία σου στον προγραμματισμό σε οποιαδήποτε γλώσσα ή πλατφόρμα, καθώς και το username με το οποίο έχεις γραφτεί στο http://www.imaginecup.com. Τελευταία ημέρα για την εκδήλωση ενδιαφέροντος θα είναι η Παρασκευή, 6 Νοεμβρίου 2009, έως τις 17:00.

3. Λίγες μέρες μετά θα έχεις ενημερωθεί σχετικά με τα αποτελέσματα της επιλογής. Στις 16 Νοεμβρίου ξεκινάμε!

4. Εαν έχεις απορίες/προτάσεις θα χαρούμε να τις ακούσουμε στον ειδικό χώρο που έχει διαμορφωθεί στο [url]http://www.studentguru.gr/[/url] για αυτό το πρόγραμμα εδώ

Η πρώτη συγκέντρωση θα γίνει την Δευτέρα 16 Νοεμβρίου, στο Ελληνικό Κέντρο Καινοτομίας της Microsoft Hellas, Βας. Σοφίας 103, ώρες 2-6 το απόγευμα. Εκεί θα μιλήσουμε για το Imagine Cup 2010, θα σχηματιστούν οι ομάδες και θα υπάρξει ένα brainstorming σχετικά με ιδέες.

Το κύριο μέρος των trainings θα πραγματοποιηθεί στις 16-20 Νοεμβρίου και στις 23-26 Νοεμβρίου, ώρες 2-6 το απόγευμα, στο Ελληνικό Κέντρο Καινοτομίας της Microsoft Hellas, Βασ. Σοφίας 103.

 

 

Share/Bookmark
Posted by Panoylhs | with no comments
Filed under: ,

Λίγα λόγια για το Imagine Cup

Το Imagine Cup είναι ο μεγαλύτερος διεθνής φοιτητικός τεχνολογικός διαγωνισμός που έχει σαν σκοπό την ευαισθητοποίηση των φοιτητών πάνω σε ένα επίκαιρο θέμα. Το φετινό θέμα: «Φανταστείτε έναν κόσμο όπου η τεχνολογία βοηθάει να λυθούν κάποια από τα δυσκολότερα σύγχρονα προβλήματα» προτρέπει τους φοιτητές να βοηθήσουν στην πραγματοποίηση των «Στόχων της Χιλιετίας» όπως αυτοί έχουν ορισθεί από τον Οργανισμό Ηνωμένων Εθνών. Μπορείτε να δείτε τους «Στόχους της Χιλιετίας» στη διεύθυνση www.un.org/millenniumgoals.

Ο διαγωνισμός πραγματοποιήθηκε πρώτη φορά το 2002. Στο Imagine Cup 2009 έλαβαν μέρος  πάνω από 300.000 φοιτητές από 100 χώρες. Δικαίωμα συμμετοχής έχουν φοιτητές και μαθητές Λυκείου άνω των 16 ετών.
Στους ελληνικούς τελικούς του ImagineCup 2009, νίκησε η ομάδα  “NTUA”, παρουσιάζοντας το project “Ai.D”.   Στο AiD, μέσω κατάλληλης εφαρμογής, επιτυγχάνεται έγκαιρη διάγνωση  της ελονοσίας και της πνευμονίας, χωρίς να απαιτείται, όσο είναι αυτό εφικτό, η παρουσία ιατρικού προσωπικού.

Η χώρα μας συμμετέχει στο διαγωνισμό από το 2004 και έχει ήδη κατακτήσει την 2η και 3η θέση παγκοσμίως στην κατηγορία «Software Design» με τα projects “Sign2Talk” και “SmartEyes” (2005 και 2004 αντίστοιχα). Το 2006 συμμετείχε με το “Allergy ON!”, το 2007 με το “Noesis” και το 2008 με το Project Protasis. Τα projects SmartEyes, Sign2Talk, Allergy ON! και Noesis αποτελούν συμμετοχές του Αριστοτέλειου Πανεπιστημίου Θεσσαλονίκης (Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών) ενώ το project Protasis αποτελεί συμμετοχή του μαθητή Αντώνη Πλατάνιου.

Έπαθλα
Όσοι προκριθούν στους παγκόσμιους τελικούς, θα κερδίσουν ένα ταξίδι στη Βαρσοβία της Πολωνίας τον Ιούλιο του 2010 και την ευκαιρία να διεκδικήσουν μεγάλα χρηματικά βραβεία. Θα έχουν επίσης τη δυνατότητα να γνωρίσουν και να συναγωνισθούν με  κάποιους από τους ικανότερους συνομήλικούς τους από όλο τον κόσμο και να διεκδικήσουν πολλά ακόμα πλεονεκτήματα όπως συνεργασίες με μεγάλες εταιρίες λογισμικού.

Τι πρέπει να κάνω;
Επιλέξτε σε ποιον/ποιους διαγωνισμούς του Imagine Cup θέλετε να συμμετάσχετε. Επισκεφτείτε το www.imaginecup.com, κάντε εγγραφή στους διαγωνισμούς που σας ενδιαφέρουν και μάθετε περισσότερες λεπτομέρειες καθώς και τα σχετικά χρονοδιαγράμματα. Παράλληλα αποκτήστε πρόσβαση σε εκπαιδευτικό υλικό, και στις απαιτούμενες πληροφορίες για να αρχίσετε την προσπάθεια σας. Σημαντική βοήθεια για το διαγωνισμό παρέχεται και από το ελληνικό φοιτητικό φόρουμ www.studentguru.gr.

Share/Bookmark
Posted by Panoylhs | 11 comment(s)
Filed under:

Καλησπέρα, μιας και το theme του visual studio μπορεί να μας επηρεάσει πάρα πολύ κατα την συγγραφή κώδικα,
ανέβασα εδώ το theme που χρησιμοποιοώ.. Είναι το Ragnarock με κάποιες επιπλέον επιλογές που έβαλα επειδή με βόλευαν,
όπως η αρίθμηση των γραμμών και η απενεργοποίηση των animation των toolboxes. Το μαύρο φόντο είναι πολύ ξεκούραστο για κάποιον
που γράφει πολλές ώρες.

Happy coding ^^

Share/Bookmark
Posted by Panoylhs | with no comments
Filed under: ,

Καλό χειμώνα!

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

Αυτό τον καιρό φτιάχνω έναν desktop bing client και προσπαθώ να του βάλω features ώστε να τον κάνουν πιό ενδιαφέρον.
Ενδιαφέρον ώστε να προτημίσει ο χρήστης να κάνει το search του μέσω της εφαρμογής αντί να ανοιξει τον browser του
και να μπεί στο http://www.bing.com

Όπως ήμουνα με τον δημήτρη απο την σχολή σε ένα αργιλετζίδικο και συζητάγαμε για την εφαρμογή, μου είπε πως θα ήταν χρήσιμο
να μπορεί ο χρήστης με ένα shortcut, να εμφανίζεται η εφαρμογή ώστε να ψάξει αυτό που θέλει. Όντως συμφώνησα πως θα ήταν
πολύ χρήσιμο οπότε άρχισα να ψάχνω πως μπορώ να το υλοποιήσω.Ήδη είχα κάνει την εφαρμογή, με minimize να πηγαίνει ως notify icon
στην taskbar αντί για να φαίνεται ως εικονίδιο παραθύρου. Αυτό το έκανα σε περίπτωση που ο χρήστης ήθελε να αφήσει για αρκετή ώρα την εφαρμογή ελαχιστοποιημένη για κάποιο search που θα έκανε αργότερα, επομένως δε θα του έπιανε οπτικό χώρο στην taskbar.
Επομένως το να μπορεί με κάποιο hotkey να εμφανίζει την εφαρμογή ενώ εκείνη ήταν σε μορφή ενός notify icon θα του κέρδιζε χρόνο.

Το πρόβλημα, ήταν πως το hotkey που θα πάταγε ο χρήστης θα ήταν εκτός της εφαρμογής μου (αφού θα ήταν minimized) επομένως έπρε-
πε να βρώ τρόπο ώστε να “πιάσω” αυτό το hotkey. Με λίγο ψάξιμο, βρήκα πως στο user32.dll υπήρχε όντως μια συνάρτηση που σε “ειδοποιεί” για το hotkey που της έχεις πεί. Για την ακρίβεια, λέγονται global hotkeys τα hotkeys που “πιάνεις” εκτός εφαρμογής σου.
Όμως ο κώδικας στο dll είναι unmanaged και ή θα έπρεπε να γράψω εγώ μια C# κλάση που να τον κάνει wrap, η να βρώ κάποια έτοιμη
για να την αλλάξω λίγο, ή στην καλύτερη περίπτωση να έκανε εκριβώς αυτό που ήθελα. Για καλή μου τύχη την βρήκα έτοιμη, επομένως δεν
χρειάστηκε να χάσω χρόνο. Πάμε να δούμε την συμπεριφορά της κλάσης αυτής.

Λέγεται Hotkey, την κάνετε add στο project και με χρήση του namespace της μπορείτε να κάνετε αναφορά σε εκείνη χωρίς πρόβλημα, αφού πρώτα προσθέσετε το ManagedWinApi.dll.

Για αρχή, ορίζουμε το αντικείμενο HotKey και το αρχικοποιούμε, είτε εκεί που ο ορίσαμε, είτε στον constructor της κλάσης μας ή όπου εσείς κίνετε απαραίτητο:

image

Στη συνέχεια, θα ορίσουμε το συνδιασμό του Hotkey που θέλουμε να “ακούει” η εφαρμογή μας.
Η κλάση HotKey περιέχει τα properties Ctrl, Shift, Alt και Windows. Άν θέλετε η εφαρμογή να πιάνει
στον συνδιασμό κάποια απο αυτά τα Keys απλά κάνετε τα properties true. Μετά, στο propertie KeyCode,
θέτετε το αντικείμενο Key που θέλετε και θέτετε το propertie Enabled σε true όταν θέλετε να “ενεργοποιηθεί”
το global hotkey σας
. Κάπως έτσι:

image

Το μόνο που μας έμεινε είναι να κάνουμε subscribe την μέθοδο ή τις μεθόδους που θέλουμε να τρέξουν όταν ειδοποιηθούμε
πως πατήθηκε στο hotkey που ορίσαμε. Πολύ εύκολα και γρήγορα στον EventHandler HotkeyPressed του αντικειμένου Hotkey μας
ορίζουμε την μέθοδο που θέλουμε και στην συνέχεια γράφουμε το σώμα της:

image

image

Αυτό ήταν, πάμε να το δούμε και στην πράξη. Ελαχιστοποιούμε την εφαρμογή μας

image

image

Και πατάω Ctrl + Shift + B:

 

image

To BingIt επανήλθε και τοποθέτησε και τον έλεγχο στο TextBox που κάνουμε το search μας ώστε να ψάξουμε αυτό που θέλουμε.
Aνέβασα την κλάση εδώ και το dll ώστε να τα κατεβάσετε και να τα χρησιμοποιήσετε, ελπίζω να σας φανούν χρήσιμα :)

 

//το site που βρήκα την κλάση HotKey δυστυχώς δεν το θυμάμαι, θα ψάξω να το βρώ και θα το κάνω edit στο post

Share/Bookmark
Posted by Panoylhs | 3 comment(s)
Filed under: ,

Καλησπέρα!!! Σήμερα θα σας δείξω μια εφαρμογούλα που έγραψα για να…πιάνω τον αδερφό μου στα πράσα!!! Πάμε απο την αρχή, έχω έναν μικρό αδερφό (13 χρονών) ο οποίος κάθε φορά που φεύγω απο το σπίτι με ρωτάει αν μπορεί να χρησιμοποιήσει τον υπολογιστή μου. Άλλες φορές του λέω όχι και άλλες ναί (αυτό σημαίνει πως θα ήταν κουραστικό κάθε φορά να αλλάζω τον κωδικό μου). Έλα όμως που εκείνος τον ανοίγει είτε του πώ όχι είτε του πώ ναι! :P . Εδώ λοιπόν έρχεται η έμπνευση για ένα προγραμματάκι το οποίο, όποτε το ενεργοποιώ, με την έναρξη των windows θα στέλνει ένα μήνυμα στο κινητό μου (αλλά και στου Αλέξανδρου /*για να τον τρομάξει :P */ ), ενημερώνοντάς τον ότι ο υπολογιστής τον πήρε χαμπάρι, με ειδοποίησε και μάλιστα, τον τράβηξε και φωτογραφία!! ! Πάμε να δούμε τα κομμάτια της εφαρμογής:

Είναι μια WPF εφαρμογή, η οποία έχει την εξής εμφάνηση

image

Άν του επιλέξω να τρέξει κατα την εκίνηση του υπολογιστή, τότε την επόμενη φορά που θα ανοίξει θα τρέξει το πρόγραμμα και ανάλογα με το αν του έχω πεί ότι θέλω να μου στείλει μύνημα ή να τραβήξει φωτογραφία τον χρήστη θα δράσει ανάλογα.

Άν του πώ να στείλει μύνημα, τότε όταν τρέξει μετά απο εκκίνηση του υπολογιστή

θα στείλει ένα SMS μύνημα στο κινητό του αδερφού μου

PICT0166  PICT0169

Άν του πώ να βγάλει φωτογραφία τον “εισβολέα” τότε μέσω της webcam θα τον τραβήξει (επομένως θα έχω και αποδεικτηκά στοιχεία :P)

image

Αυτό είναι ένα γρήγορο overview του watcher. Είναι ακόμα σε private edition αλλά άν δώ πως το θέλει κόσμος θα το φτιάξω και για public release :P. Τέλος, να ευχαριστήσω τον jupiter (Μιχάλη Ζερβό) που μου έδωσε την κλάση που είχε γράψει για το e-prediction για να χρησιμοποιεί το http API του bulk-sms για να γίνεται η αποστολή των μυνημάτων!!! :)

Cheers ‘n’ keep coding!!

Share/Bookmark
Posted by Panoylhs | 16 comment(s)
Filed under: ,

Πάμε να γράψουμε το πρώτο μας blog post για ASP.NET! Συγκεκριμένα σήμερα θα σας δείξω πως πολύ εύκολα να προσθέσετε διαγράμματα (είτε στατικά είτε δυναμικά) στο site σας! :)

Καταρχήν κατεβάστε απο εδώ και εγκαταστήστε τα assemblies που χρειάζεστε για να χρησιμοποιήσετε το chart control. Ανοίξτε το visual studio και δημιουργήστε ένα καινούριο site (File –> New –> Site).

Καταρχήν πάμε να δούμε την δομή που έχει το chart. Το chart Αποτελείται (κυρίως) απο Series, ChartAreas και Legends:

 

Capture

Όπως βλέπετε, ChartArea είναι κάθε περιοχή που προσθέτουμε στο chart (ουσιαστικά είναι τα επιμέρους διαγράμματα που θα περιέχει το chart), series είναι οι σειρές που εμφανίζονται στο διάγραμμα και Legend είναι η ετικέτα που αντιπροσωπεύει κάθε σειρά.

 

Στο Toolbox, στο Data μέρος θα σας έχει εμφανιστεί το chart control

Capture

Άν ανήκετε στους “τεμπέληδες” που βάζουν τα controls με διπλό κλίκ, πηγαίνετε στον κώδικα της σελίδας και αφού τοποθετήσετε τον δρομέα στο σημείο που θέλετε να βάλετε το διάγραμμα πατήστε διπλό κλίκ στο Chart του Toolbox :P.

Αλλιώς πάμε να γράψουμε μόνοι μας το chart:

Capture

Φυσικά μπορούσαμε και μέσω κώδικα να προσθέσουμε την σειρα “Series” γράφωντας στο cs αρχείο της σελίδας:

image (για να μπορεί ο compiler να “δεί” τις δηλώσεις Chart κλπ :) )

και

image (για να προσθέσουμε την σειρά που θέλουμε)

Πάμε τώρα να προσθέσουμε στατικά μερικά σημεία στη σειρά:

Στατικά (με κώδικα στην *.aspx σελίδα)

image

και δυναμικά (με C# στον .cs αρχείο της σελίδας)

image

Όπως βλέπετε, δημιουργούμε το αντικείμενο series δίνοντας του το όνομα MyFirstSeries και μετά προσθέτουμε τα σημεία 67, 57, …, 20 στον Y άξονα..Τέλος, προσθέτουμε την σειρά στο chart ,ας όπως δείξαμε πρίν :).

Τέλος ας πούμε κάτι πολύ εντυπωσιακό :)

Με μια γραμμή κώδικα μπορούμε να κάνουμε το διάγραμμά μας 3D!

Αφού προσθέσουμε ChartArea στο control μας γράουμε:

image

Το ποιό εντυπωσιακό είναι πως μπορούμε να κάνουμε τις σειρές μας DataBounded με όποια βάση χρησιμοποιούμε, επομένως να ανανεώνοπνται τα δεδομένα τους ανάλογα με τις συνναλαγές της βάσης!!! :). Τέλος μήν ξεχνάμε πως Chart control υπάρχει και για WPF. Άν θέλετε μπορώ να κάνω post για databindings ή για τα chart controls του WPF.

Για τέλος ας δούμε μερικά διαγράμματα :)

image  image

image image

image image

image image

image

Keep coding!!!

Share/Bookmark
Posted by Panoylhs | 2 comment(s)
Filed under: , ,

Πολλοί στη σχολή (τμήμα Πλ/κης και Τηλ/νων του Παν/ου Αθηνών) με ρωτάτε πώς να γράψετε τις εργασίες σε C και C++ σε visual studio. Επειδή δέν προλαβαίνω να το δείξω σε καθέναν απο εσάς απο κοντά, είπα να κάνω ένα blog post που να περιγράφει την διαδικασία :)

Όσοι δέν έχετε το visual studio μπορείτε να το κατεβάσετε δωρεάν απο τη συνδορμή MSDNaa ή το Dreamspark ;)

Αρχικά ανοίγουμε το visual studio, πάμε File->New->Project

Όπως βλέπετε στο screenshot, πάμε Other Languages, Visual C++ και Win32 Console Application

Capture

Βάζουμε το όνομα του project και πατάμε OK.

Στο επόμενο παράθυρο επιλέγουμε Finish

Capture1

Μετά απο αυτό θα σας βγάλει στο αρχείο που έχει την main. Πάμε να κάνουμε κάποιες αλλαγές για να τρέχει μηχανήματα της σχολής (SUN Και Linux)

Capture

Αλλάξτε την _tmain σε main και το τύπο _TCHAR σε char (προσοχή, μήν σβήσετε τον δείκτη γτ είναι η παράμετρος με τα ορίσματα)

Άν θέλετε να γράψετε C, πρέπει πρώτα να αλλάξουμε τον compiler απο g++ σε gcc.

Πάμε Project –> <project name> Properties

Capture

 

 

 

Πάτήστε, Configuration Properties, C/C++, Advanced και στην επιλογή Compile As επιλέξτε C (απο C++ που είναι η default επιλογή)

Είστε έτοιμοι :D . Μια σημείωση, το stdafx.h header αρχείο που βάζει το visual studio είναι ένα βοηθητικό header που χρειάζεται, πρέπει να υπάρχει σε όλα τα c και cpp αρχεία του project για να κάνει compile, παρόλαυτα μήν ξεχάσετε να το σβήσετε πρίν τρέξετε το πρόγραμμα σε μηχάνημα SUN η Linux Της σχολής γτ δέν θα το αναγνωρίζουν ;).

Όλα τα αρχεία του project σας είναι στον φάκελο του project, κάτω απο το directory με το όνομα του project σας. Αν το πρόγραμμα σας χειρίζεται κάποια αρχεία, βάλτε στο directory που είπα πως πάνε τα αρχεία σας. Το exe του project βρίσκετε στο direcory του project σας, κάτω απο το directory debug. Για ανάπτυξη C και C++ το visual studio υποστηρίζει σχεδόν όλα τα features που έχει για C# (βλ intellisense, debugging features, shortcuts κλπ ) ;).

Keep coding   :)

Share/Bookmark
Posted by Panoylhs | 6 comment(s)
Filed under: , , ,

Μετά το 5ο student guru event μου ζητήσατε να ποστάρω tutorial για code snippets και φυσικά όπως πάντα δε θα σας χαλάσω χατήρι =D

Για να θυμηθούν οι παλιοί (όσοι βρεθήκατε στο event) αλλα και για να μάθουν οι καινούριοι (όσοι δέν ήρθατε), να τονίσω ότι τα code snippets είναι κομματάκια κώδικα (όπως λέει και το όνομα τους) που σκοπό έχουν την ενίσχυση του Rapid Application Development (ακα RAD).Τώρα όσον αφορά το πρακτικό κομμάτι, είναι ένα αρχείο xml το οποίο ανάλογα τα δεδομένα του, όταν πατήσετε τον alias που του έχετε ορίσει και μετά tab θα γραφεί αυτόματα ο κώδικας που έχει ορισθεί στο xml αρχείο του.

Ο καλύτερος τρόπος να μάθεις κάτι είναι να το δημιουργήσεις, οπότε πάμε να γράψουμε ένα code snippet το οποίο όταν θα πατάμε pr (απο το print) θα τυπώνει το string “Hello World of Code Snippets!”.

Ανοίγουμε το visual studio και πάμε να φτιάξουμε ένα xml αρχείο (file->new file->xml) και αλλάζουμε την κατάληξή του απο xml σε snippet.Τώρα θα έχετε κάτι τέτοιο:

image

Πάμε να ορίσουμε το xml namespace του αρχείου μας

image 

Στη συνέχεια θα ορίσουμε το format του snippet μας σε 1.0.0:

image

 

Ύστερα, πρέπει να ορίσουμε την επικεφαλίδα του η οποία περιλαμβάνει στοιχεία όπως το shortcut που θα εκτελεί το snippet μας, τον τίτλο του, κάποια περιγραφή, τον συγγραφέα και άλλα (φυσικά το intellisense βοηθάει απίστευτα στο να εξερευνήσετε τα χαρακτηριστηκά (πχ) της επικεφαλίδας):

image

Μετά, θα δηλώσουμε τον κώδικα που θα εμφανίζετε όταν θα τρέχει το snippet:

image

Οι γλώσσες που μπορούμε να δηλώσουμε είναι C#, j#, VB και xml.Αν ο κώδικάς σας χρειάζεται κάποιο dll, τότε πρέπει στο reference να ορίσετε ποιό, για να γίνει add το κατάλληλο reference (σημειώστε πως αυτό γίνετε μόνο για code snippets για VB, στις άλλες περιπτώσεις πρέπει να γίνει manualy).Πχ αν θέλετε να εμφανίζετε κάποιο MessageBox θα πρέπει να δώσετε το System.Windows.

Τώρα για να το δηλώσουμε, πρέπει να πάμε στο Tab Tools και να πατήσουμε Code Snippets Manager.Εκεί θα κάνουμε import το αρχείο μας και θα του πούμε σε ποιό φάκελο να αποθηκευτεί.Αφού πατήσετε ΟΚ, κάθε φορά που σε ένα C# project πατάτε pr και tab θα εμφανίζετε Console.WriteLine("Hello World of Code Snippets!");

Όμως αυτό που φτιάξαμε δέν είναι πρακτικό, διότι θα πρέπει να σβήνουμε κάθε φορά το μύνημα “Hello World of Code Snippets”.Ας αλλάξουμε λίγο το xml μας… ;)

 

Capture

Πλέον όταν θα τρέχουμε το snippet μας, στο σημείο που είχε πρίν το μύνημα προς εκτύπωση θα το έχει highlighted και με ένα διπλό κλίκ θα μπορούμε να γράψουμε το μύνημα μας.Αν αφήσουμε τον κέρσορα πάνω απο το μύνημα θα εμφανησθεί ένα μύνημα που θα λέει “The message to be printed”.Όπως καταλάβατε με αυτό τον τρόπο κάνουμε τα snippets μας ακόμα πιό χρήσιμα αλλά και user friendly, καθώς καθοδηγούν τον χρήστη του τί πρέπει να συμπληρώσει.

Τέλος, υπάρχουν ατελείωτα snippets στο internet καθώς και προεγκατεστημένα στο visual studio (δοκίμαστε for + tab. foreach + tab, if + tab κλπ ;)).

Cheers ‘n’ Keep coding

Share/Bookmark
More Posts Next page »