tzekas Δημοσ. 1 Μαρτίου 2007 Δημοσ. 1 Μαρτίου 2007 Για σας παιδιά. Είμαι καινούργιος στο φορουμ και γενικά αρχάριος στον προγραμματισμό. Σχεδόν από την πρώτη στιγμή που άρχιζα να μαθαίνω c/c++ είχα την ακόλουθη απορίαΥπάρχει τρόπος να εκτυπώσουμε ελληνικά σε dos με την C ή C++? Πιστεύω είναι μια κλασική ερώτηση που έχει απασχολήσει πολλούς. Έψαξα στο φόρουμ αλλα δέν βρήκα απάντηση.
Directx Δημοσ. 2 Μαρτίου 2007 Δημοσ. 2 Μαρτίου 2007 Όταν λες DOS, μήπως εννοείς από την κονσόλα των Windows XP/2000 για παράδειγμα, διότι τότε μπορείς να δεις εδώ: http://www.insomnia.gr/vb3/showpost.php?p=1014029&postcount=6 Διαφορετικά γίνε πιο συγκεκριμένος.
tzekas Δημοσ. 2 Μαρτίου 2007 Μέλος Δημοσ. 2 Μαρτίου 2007 Ε, εννοουσα σε console mode (μπερδεύω την κονσόλα με το dos!) . Τέλος πάντων , το λινκ που μου έδωσες προτείνει μια καλή λύση. ΟΜΩΣ δεν είναι ακριβώς αυτό που θέλω.Ψάχνω μια συνάρτηση (η κάτι τέτοιο) που να εμφανίζει τους ελληνικούς χαρακτήρες. Κάπου στο net δίαβασα για μια wprintf που εμφανίζει unicode χαρακτήρες (αρα και τους ελληνικούς) αλλά δεν έβγαλα άκρη. ΤΠ Ελπίζω να μην ζητάω πολλά , ευχαριστώ για τη βοήθεια .
PavelX Δημοσ. 2 Μαρτίου 2007 Δημοσ. 2 Μαρτίου 2007 Νομίζω εννοείς αυτό: SetConsoleOutputCP(1253); Pavel
tzekas Δημοσ. 2 Μαρτίου 2007 Μέλος Δημοσ. 2 Μαρτίου 2007 Ίσως αυτή η συνάρτηση να είναι αυτό που ψάχνω. Όμως πώς την χρησιμοποιώ? Μπορείς να μου δείξεις ένα μικρό παραδειγματάκι??
Directx Δημοσ. 2 Μαρτίου 2007 Δημοσ. 2 Μαρτίου 2007 Ο κώδικας είναι πολύ απλός και λειτουργεί σε κατάσταση dos-box (λόγο Windows GDI) αλλά όχι full-screen καθώς εκεί αναλαμβάνει δράση το VGA Video BIOS, οπότε απαιτείται επαναπρογραμματισμός του VGA font-table. > #include <stdio.h> // printf #include <conio.h> // getch #include <windows.h> // SetConsoleOutputCP int main() { SetConsoleOutputCP(1253); printf("Αυτό το κείμενο είναι γραμμένο με την Κωδικοσελίδα 1253!\nΠάτα πλήκτρο για έξοδο.."); getch(); return 0; }
tzekas Δημοσ. 2 Μαρτίου 2007 Μέλος Δημοσ. 2 Μαρτίου 2007 Ευχαριστώ για τον κόπο σου ν'απαντήσεις και να μου γράψεις και το πρόγραμμα DirectX! To πρόγραμμά σου τρέχει κανονικά (στη Dev-c++) !!! .... Όμως , εμφανίζονται μη αναγνωρίσιμοι χαρακτήρες (αλλαμπουρνέζικα δηλαδη!) Μάλλον δεν κάνω κάτι σωστά. Πρέπει να αλλάξω την γραμματοσειρά του dos-box όπως με συμβουλεύει το link που μου έδωσες? Αν είναι έτσι έχω να σου κάνω 2 ερωτήσεις: 1ον) Πώς αλλάζουμε την γραμματοσειρά(!είμαι άσχετος!) και 2ον) θα είναι μεταφέρσιμος αυτός ο κώδικας? π.χ. αν το δώσω σ'έναν φίλο μου θα δουλεύει????
Directx Δημοσ. 2 Μαρτίου 2007 Δημοσ. 2 Μαρτίου 2007 Ναι, πρέπει να έχεις επιλέξει την Lucida Console, αν πληρούνται αυτές οι προϋποθέσεις, πιστεύω ότι θα είναι μεταφέρσιμος. Η αλλαγή γίνεται με κλικ στο παράθυρο της Console και επιλογή (αυτή την στιγμή δουλεύω σε Ελληνικά XP) Ιδιότητες->Γραμματοσειρά Lucida Console και ύστερα OK, στο ερώτημα που ακολουθεί επιλέγουμε την δεύτερη επιλογή ώστε ο φόντος Lucida να εφαρμόζεται πάντα στο άνοιγμα αυτού του Console παραθύρου.. Υ.Γ. Από ότι είδα τα Vista παρέχουν μια νέα εντολή SetCurrentConsoleFontEx η οποία ελπίζω ότι μπορεί να λύνει αυτά τα προβλήματα μια και καλή.. (το Ex είναι παραπλανητικό διότι όσο και αν κάνει εντύπωση δεν υπάρχει SetCurrentConsoleFont εντολή σε προγενέστερες εκδόσεις των Windows).
tzekas Δημοσ. 2 Μαρτίου 2007 Μέλος Δημοσ. 2 Μαρτίου 2007 Χμμμμ.... Για να δώ?.... Τα κατάφερα! Ακολούθησα πιστά τα βήματά σου και ΔΟΥΛΕΥΕΙ ΤΕΛΕΙΑ. :) Επιτέλους! Καταραμμένα greeklish απαλλάχτηκα από εσας. Ζήτω τα ελληνικά...
Directx Δημοσ. 2 Μαρτίου 2007 Δημοσ. 2 Μαρτίου 2007 Καλή συνέχεια Υ.Γ. Και βέβαια εύσημα στον PavelX που ανέφερε την SetConsoleOutputCP
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.