Πέμπτη 11 Μαρτίου 2010

Μετατρέψτε σελίδες σε pdf

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

Θα αρχίσουμε με τον ποιο απλό τρόπο. Μια σελίδα στο ίντερνετ που αναλαμβάνει να μετατρέψει τις αγαπημένες μας σελίδες σε pdf's.Μπορείτε να μπείτε λοιπόν στο http://pdfmyurl.com/ και να μετατρέψετε όποια σελίδα θέλετε σε pdf.

Το digg.com σε pdf απο το pdfmyurl.com

Στην συνέχεια θα βάλουμε ένα πρόγραμμα που θα κάνει την ίδια δουλεία, αλλά όπως θα δείτε μπορεί να κάνει περισσότερα πράγματα. Το Dopdf είναι ένα πρόγραμμα εικονικού εκτυπωτή. Με λίγα λόγια, όταν το εγκαταστήσουμε, το σύστημα μας θα το βλέπει σαν ένα εκτυπωτή που δέν θα τυπώνει, αλλά θα εξάγει pdf. Δηλαδή όποια εφαρμογή διαθέτη επιλογή εκτύπωσης, αυτό σημαίνει οτι θα μπορεί να εξάγει pdf.


To digg.com σε pdf απο το dopdf εικονικό εκτυπωτή.

Διαλέξτε ότι σας βολεύει και δημιουργήστε τα δικά σας pdf.
Περισσότερα ...

Σάββατο 6 Μαρτίου 2010

Απλός Rss Reader -Vb.NET (Μέρος 2ο)


Είχαμε δει στο πρώτο μέρος πώς να παίρνουμε εύκολα τα αποτελέσματα απο ένα rss, χωρίς να μπλέκουμε με πολύ προγραμματισμό. Τώρα θα εμφανίσουμε αυτά τα αποτελέσματα με κάποιο τρόπο στον χρήστη. Μπορείτε βέβαια απο εδώ και πέρα να κάνετε το δικό σας πρόγραμμα, αλλά για το παράδειγμα θα φτιάξουμε ένα πρόγραμμα που εμφανίζει τα πιο δημοφιλή άρθρα του digg.com.

To rss του digg.com είναι το http://feeds.digg.com/popular.rss, οπότε δέν έχουμε παρά να δημιουργήσουμε δύο πίνακες και να τους βάλουμε να είναι ίσοι με το αποτέλεσμα τών δυο functions. Δηλαδή:

Dim rss_titles_array as string()
Dim rss_links_array as string()


rss_titles_array = fetchRssTitles(“ http://feeds.digg.com/popular.rss“)
rss_links_array = fetchRssLinks(“ http://feeds.digg.com/popular.rss“)


Από εδώ και πέρα έχετε τους πίνακες που έχουν διάσταση όσο και τα άρθρα. Μπορείτε να τα εμφανίσετε γράφοντας ένα απλό for και να γεμίσετε ένα listbox ή κάτι παρόμοιο. Στο παράδειγμα τα εμφανίζω ένα ένα κάθε 5 δευτερόλεπτα και ο χρήστης κάνει κλίκ πάνω στόν τίτλο για να πάει στο άρθρο.

Κατεβάστε το παράδειγμα και δείτε τι περίπου γίνετε στον κώδικα.Ένα σημείο που πρέπει να προσέξετε είναι ότι, άν για παράδειγμα το σύνολο τών άρθρων είναι 40, τότε ο πίνακας σαν σύνολο( το rss_titles_array.GetUpperBound(0) δηλαδή ) θα είναι 39, μίας και οι πίνακες αρχίζουν απο το μηδέν. Άρα το σύνολο τών άρθρων είναι rss_titles_array.GetUpperBound + 1. Η αλλιώς πάρτε το κατευθείαν απο την μεταβλητή της module, rss_titles_counter.

Ελπίζω να μην σας μπέρδεψα. Δείτε τον κώδικα στο παράδειγμα.Είναι μια καλή αρχή για να κάνετε κάτι πιο προχωρημένο.

Κατεβάστε τον κώδικα και το πρόγραμμα από εδώ.


Το πρόγραμμα Diggy εμφανίζει τα πio δημοφιλή άρθρα του digg.com .
Περισσότερα ...

Παρασκευή 5 Μαρτίου 2010

Απλός Rss Reader -Vb.NET (Μέρος 1ο)


Θα αρχίσουμε να φτιάχνουμε ένα μικρό rss reader σε visual basic .net . Ίσως ένα μικρό γκάτζετ που θα εμφανίζει τις ειδήσεις από την αγαπημένη μας σελίδα ή απο το blog μας. Απο εκεί και πέρα βέβαια μπορείτε να πάρετε τον κώδικα και να φτιάξετε κάτι μεγαλύτερο. Κάτι που κάνω και εγώ αυτό τον καιρό, αλλά είπα να φτιάξω και έναν οδηγό, μιας και δέν βρήκα κάτι εύκολο στο ίντερνετ.

Πριν αρχίσουμε, μια μικρή παρένθεση για το θέμα τών rss από το blogger.com. Το blogger.com δίνει atom και rss feeds. Με το πρόγραμμα που θα φτιάξουμε, θα διαβάζουμε rss και όχι atom. Η διαφορά τους στο λίνκ είναι απλή. Άν έχω ένα blog με τίτλο myblog τότε έχουμε :

Atom 1.0: http://myblog.blogspot.com/feeds/posts/default
RSS 2.0: http://myblog.blogspot.com/feeds/posts/default?alt=rss

Λοιπόν στην συνέχεια πάμε να φτιάξουμε το πρόγραμμα. Πρίν αρχίσουμε με το Gui, θα κατεβάσουμε μια module που έφτιαξα. Για να γίνει το πρόγραμμα απλό, αυτή η module θα μας δώσει κατευθείαν τους τίτλους και τα λίνκς των ειδήσεων χωρίς να μπλέκουμε με δύσκολο προγραμματισμό.

Λοιπόν σε αυτή την module, την οποία θα προσθέσουμε στο πρόγραμμα μας έχουμε :

2 functions:
FetchRssTitles((rss) url σαν string) επιστρέφει ένα πίνακα με τους τίτλους του rss.
FetchRssLinks((rss) url σαν string) επιστρέφει ενα πίνακα με τα links τών τίτλων.

Και τις μεταβλήτές:
FetchRssTitles_success: Μια boolean που είναι true αν εκτελεστεί σωστά η FetchRssTitles() και false άν κάτι πάει λάθος.
FetchRssLinks_success: Μια boolean που είναι true αν εκτελεστεί σωστά η FetchRssLinks() και false άν κάτι πάει λάθος.
rss_titles_counter: Κρατάει το συνολικό αριθμό τών τίτλων σε integer.
rss_links_counter: Κρατάει το συνολικό αριθμό τών links σε integer.

Στην περίπτωση που θέλετε να το ψάξετε παραπάνω ανοίξτε την module και φέρτε τον κώδικα στα μέτρα σας. Απλά με την module γίνονται τα πράγματα ποιο εύκολα, ώστε να συγκεντρωθούμε στο πώς θα εμφανίσουμε την πληροφορία και όχι στο πώς θα την βρούμε.

Την επόμενη φορά συνεχίζουμε με το Gui και το υπόλοιπο πρόγραμμα.

Κατεβάστε την module fetchRSS.
Περισσότερα ...

Τετάρτη 17 Φεβρουαρίου 2010

WebKit και Visual Basic



Όπως ξέρετε ο google chrome χρησιμοποιεί για το rendering τών σελίδων το WebKit. Και όπως θα έχετε διαπιστώσει είναι αρκετά γρήγορο, σε σχέση τουλάχιστον με τον intenet explorer. Ένα απο τα αγαπημένα projects όλων εμάς που σκαλίζουμε την visual basic είναι ένας internet browser. Αλλά όπως θα έχετε δει το control του internet explorer μας τα χαλάει λίγο. Μπορεί να είναι εύκολο στον προγραμματισμό, αλλά δυστυχώς δέν είναι καθόλου γρήγορο. Ο τρόπος να βάλουμε το WebKit στον δικό μας browser, ακούει στο όνομα WebKit.NET.Αφού το κατεβάσετε πάμε να δούμε λίγο πώς το βάζουμε στο πρόγραμμα μας.

Φτιάχνοντας ένα καινούργιο project στο visual studio, πάμε στο toolbox και πατάμε δεξί κλικ. Επιλέγουμε choose items... και μετά διαλέγουμε το αρχείο webkitbrowser.dll απο το bin του WebKit.NET-0.3.

Αφού τοποθετήσετε τον browser στην φόρμα σας ονομάστε τον ας πούμε webkit_browser. Και στο load της φόρμας γράψτε απλά

webkit_browser.navigate(“www.google.com”)

Πρίν το τρέξετε σώστε το πρόγραμμα κάπου και βάλτε τα περιεχόμενα του bin από το αρχείο που κατεβάσατε μέσα στα περιεχόμενα του δικού σας προγράμματος στο δίσκο. Αλλιώς θα προσπαθείτε άδικα. Κάνοντας αυτό μπορείτε να τρέξετε το πρόγραμμα σας. Από εκεί και πέρα με λίγη μελέτη μπορείτε σιγά σιγά να φτιάξετε ένα browser που θα αξίζει τον κόπο να κατεβάσει κάποιος και να ασχοληθεί.

Μια πολύ ωραία εφαρμογή να κάνετε είναι το παρακάτω πρόγραμμα που μας εμφανίζει 6 browsers με κάποια γνωστά sites σε mobile μορφή. Και όλα αυτά χωρίς μία γραμμή κώδικα. Βέβαια μπορεί να γίνει και καλύτερο και θα θελα πολύ να το αναπτύξω. Όπως θα δείτε και με 6 browsers το πρόγραμμα παραμένει αρκετά ελαφρύ.
Περισσότερα ...

Κυριακή 14 Φεβρουαρίου 2010

Smallbasic - Μια basic γλώσσα για αρχάριους από την Microsoft


Πρίν από μια ώρα εγκατέστησα την Smallbasic. Αυτή είναι η καινούργια γλώσσα προγραμματισμού της Microsoft και απευθύνεται κυρίως σε αρχάριους προγραμματιστές ή και σε ανθρώπους που δέν έχουν προγραμματίσει ποτέ. Πρίν περάσουμε να δούμε τι έχει να μας προσφέρει ας δούμε πρώτα τι θα χρειαστούμε και απο πού. Καταρχήν το πρόγραμμα απο αυτή την σελίδα.
Στην συνέχεια θα πρέπει να κατεβάσουμε το net framework 3.5 αλλά και το net framework 3.5 sp 1. Αυτά θα τα βρείτε απο τις ενημερώσεις του υπολογιστή σας ή και πάλι απο την Microsoft. Οπότε αργά η γρήγορα θα φτάσετε και στον editor του προγράμματος.

Η έκδοση που έχω είναι η 0.8 και μόλις θα αρχίσετε να το ψάχνετε, θα δείτε πώς η Smallbasic είναι ακόμα σε πολύ πρώιμα στάδια. Υπάρχει ένα pdf με κάποιες βασικές οδηγίες για να αρχίσουμε το πρώτο μας πρόγραμμα. Ας αρχίσουμε με τα καλά. Καταρχήν είναι δωρεάν κάτι που αμέσως σημαίνει οτι μπορεί να ασχοληθεί ο καθένας. Παράγει .exe που μπορεί ο καθένας να μοιραστεί με τους φίλους του ή στο ίντερνετ. Επίσης πολύ σημαντικό για έναν αρχάριο να πάρει μια άποψη για το χόμπυ του. Είναι αρκετά απλή και “μικρή” γλώσσα. Υπάρχει το intellisense το οποίο δανεισμένο απο το visual studio, συμπληρώνει τις εντολές μας και έτσι δεν χρειάζεται να θυμόμαστε ποια μέθοδος ανήκει πού και πώς να την γράψουμε. Μιάς που είπαμε μέθοδος να πάμε και στα άσχημα.

Η γλώσσα δεν είναι basic. Και κακός λέγετε δηλαδή. Απλά ίσως θέλει να δηλώσει πώς τότε σαν Microsoft είχαμε την δική μας basic που έμαθε τόσος κόσμος να προγραμματίζει, τώρα έχουμε κάτι σαν τον διαδοχό της. Το συντακτικό της θυμίζει αντικειμενοστραφής γλώσσες. Είναι αρκετά δύσκολο στο να δώσεις να καταλάβει ένας αρχάριος γιατί μετά το textwindow πχ πρέπει να βάλουμε τελεία .Ένα ακόμη άσχημο είναι οτι δέν υπάρχει Gui editor. Με λίγα λόγια ή Microsoft λέει καθαρά πώς αν θές φόρμες θα πρέπει να “αποφοιτήσεις” απο την smallbasic και να πας στο visual studio. Τώρα στο μέλλον τι θα γίνει δέν ξέρω, αλλά μπορώ να σας πώ πώς visual basic η smalltalk δέν συμφέρει την Microsoft να γίνει.

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

Ας δούμε και ένα μικρό παράδειγμα. Στο πρόγραμμα θα κάνουμε κάτι εντυπωσιακό με 3 σειρές κώδικα. Θα ζητάμε τον ορισμό μιας λέξης στα αγγλικά και το πρόγραμμα θα μας δίνει έξοδο το αποτέλεσμα. Ολό αυτό βέβαια θα γίνετε με την βοήθεια του ίντερνετ όπως καταλάβατε.

TextWindow.write("Δώστε την λέξη που θέλετε: ")
definition_word = TextWindow.read()
TextWindow.Write(Dictionary.GetDefinition(definition_word))


Η έξοδος του προγράμματος.

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

Πέμπτη 4 Φεβρουαρίου 2010

Κάντε το google calendar να σας στέλνει υπενθυμίσεις στο κινητό, με sms.


Για να πω την αλήθεια αποφεύγω να έχω όλα μου τα προσωπικά στοιχεία σε μία εταιρία. Ειδικά το πρόβλημα είναι με την google, που προσφέρει μέχρι στιγμής τις πίο πολλές υπηρεσίες. Στην google έχω το email μου, το blog μου, το picasa,you tube,τις ειδήσεις και last but not least (που λένε και στο χωρίο μου), το google search. Μιλάμε για αρκετά μεγάλο όγκο προσωπικών δεδομένων. Το να έχει μια εταιρία τόσα δεδομένα για ένα χρήστη βέβαια δεν θα το συζητήσουμε εδώ. Απλά θέλω να πώ σαν εισαγωγή ότι τα προϊόντα της google δέν έχουν επιτυχία μόνο επειδή είναι δωρεάν. Προσφέρουν άριστες υπηρεσίες. Τόσο καλή είναι η εμπειρία του χρήστη που τις περισσότερες φορές ξεχνάμε, το πόσο σημαντικό είναι μια εταιρία να έχει τόσο όγκο δεδομένων από όλο τον κόσμο. Μάλλον έκανα την πίο άκυρη εισαγωγή για να μιλήσω για το google calendar. Αλλά εντάξει όταν έφτιαξα το calendar αυτά σκεφτόμουν.

Πάμε λοιπόν στο θέμα μας. Το google calendar θα το έχετε ακούσει προφανώς. Είναι ένας ακόμη τρόπος να οργανώνουμε τίς διάφορες υποχρεώσεις, ραντεβού, πληρωμές ( γενικά ότι κάνουν οι πολυάσχολοι άνθρωποι) (πολυάσχολοι είναι αυτοί που φαίνεται να τρέχουν όλη μέρα, χωρίς απαραίτητα να συντρέχει κάποιος σοβαρός λόγος). Όποτε το google calendar αναλαμβάνει να σας θυμίζει όλες σας τις υποχρεώσεις, εύκολα και από όλες τις συσκευές που είναι συνδεδεμένες στο δίκτυο.

Η εφαρμογή είναι πολύ απλή. Οπότε δέν θα σταθούμε καθόλου στο πώς και τι. Αρκεί ένα account στο google, που όλοι λίγο πολύ έχουμε και μέσα σε 5 λεπτά έχουμε στήσει τις υπενθυμίσεις μας. Εκεί που θέλω να σας πάω είναι στις ρυθμίσεις και στην καρτέλα “Ρύθμιση κινητών συσκευών”.
Εδώ θα δηλώσουμε να μας έρχονται ειδοποιήσεις στο κινητό με την κάθε υπενθύμιση/συμβάν που έχουμε καταχωρήσει στο πρόγραμμα.

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

Είναι λίγο παράξενο να σου στέλνει η google μήνυμα.


Και το μήνυμα που βάλαμε σαν δοκιμή.

Η ερωτήσεις που έχετε είναι...
- Δουλεύει με ελληνικές εταιρίες κινητών;
- Ναι με όλες τις μεγάλες εταιρίες.

- Και πόσο κοστίζει;
- Τίποτα. Αν και πήρα σήμερα τηλέφωνο στα κεντρικά της vodafone, και η κοπελίτσα δέν είχε ιδέα για το τι πράγμα μιλάμε, δέν υπάρχει καμία χρεώση.Άν θέλετε μπορείτε να το δοκιμάσετε σε ένα καρτοκινητό.

- Μπορώ να το έχω να μου στέλνει μηνύματα κάθε 1 λεπτό
- Don't be evil.
Περισσότερα ...

Δευτέρα 1 Φεβρουαρίου 2010

Γυρίστε την οθόνη ενός netbook σε portrait view

Αν έχετε κάποιο netbook θα έχετε διαπιστώσει πώς η οθόνη απλά δεν είναι αρκετή. Έβλεπα την παρουσίαση του Ιpad τις προάλλες και πραγματικά παρόλο που η οθόνη του είναι 9,7 ίντσες, προσφέρει μια φανταστική εμπειρία τόσο στο web όσο και στα ebooks. Σκέφτηκα λοιπόν τι καλά που θα ταν να γυρίσω την οθόνη από landscape σε portrait. Αλλά δυστυχώς ή κάρτα γραφικών που έχει το netbook μου δέν με αφήνει να κάνω κάτι τέτοιο. Βρήκα όμως ένα πρόγραμμα που κάνει αυτή την δουλεία. Λέγεται eee rotate και λειτουργεί στα περισσότερα netbooks.


Εδώ με μία σελίδα.


Και σαν ebook reader με ένα βιβλίο.

Το πρόγραμμα είναι πολύ απλό και δέν θέλει να ξέρετε κάτι παραπάνω.Αυτό που θέλει λίγο προσοχή είναι οτι μαζί με την οθόνη αντιστρέφεται και το touchpad.Κάτι που είναι καλό αν το δουλεύετε έτσι, αλλά κακό αν θέλετε να δουλέψετε με ποντίκι.Μια εύκολη λύση σε αυτό είναι να πάτε στον φάκελο του προγράμματος και να βρείτε το αρχείο sakasa.ini. Αυτό το πρόγραμμα αντιστρέφει τις συντεταγμένες του ποντικιού και του touchpad.Ανοίξτε το και αλλάξτε την γραμμή rotate από 1 σε 0 για να έχετε κανονικό ποντίκι στο portrait view.
Περισσότερα ...
 

Copyright © panosdk Design by BTDesigner | Blogger Theme by BTDesigner | Powered by Blogger