Σελ. 1 από 7 1236 ... ΤελευταίαΤελευταία
Εμφάνιση 1-15 από 95
  1. #1
    Εγγραφή
    18-02-2007
    Περιοχή
    Κατερίνη
    Ηλικία
    49
    Μηνύματα
    1.225
    Downloads
    3
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    97.6Mbps/10.7Mbps
    ISP
    COSMOTE
    Router
    Speedport Plus 2
    SNR / Attn
    10.6(dB) / 13.5(dB)
    Επειδή έχει κολλήσει το μυαλό μου, είπα να ρωτήσω μήπως κάτι κάνω λάθος!

    Φτιάχνω (για εξάσκηση) την εφαρμογή υπολογισμού ΔΜΣ (κλασσικά!) σε C++/Qt και έχω ένα σημείο στον κώδικα όπου

    Κώδικας:
    QString qdms;
    qdms="Ο Δείκτης Μάζας σώματος είναι:";
    ui->labelResult1->setText(qdms);
    όπου το labelResult1 είναι (προφανώς!) qlabel. Ο κώδικας αυτός εκτελείται (μεταξύ άλλων) όταν πατώ ένα button υπολογισμού. Το πρόβλημα είναι ότι όταν τρέχω το πρόγραμμα και πατώ το κουμπί αντί για να εμφανιστεί το κείμενο Ο Δείκτης Μάζας σώματος είναι: με ελληνικούς χαρακτήρες, εμφανίζεται με "ιερογλυφικά". Τι παίζεται? Σημειώνω ότι εάν αντικαταστήσω το κείμενο Ο Δείκτης Μάζας σώματος είναι: με λατινικούς χαρακτήρες όλα παίζουν καλά, άρα το "πρόβλημα" έχει να κάνει με τα ελληνικά(?)

    Εάν έχει κάποια σημασία -που δεν το νομίζω- να πω ότι γράφω την εφαρμογή στο Qt Creator σε Λ/Σ Ubuntu8.10.
    Τελευταία επεξεργασία από το μέλος greatst : 21-03-09 στις 14:43. Αιτία: προσθήκη της τελευταίας πρότασης
    Δήλωση αποποίησης ευθύνης:
    Όλες οι πληροφορίες ή/και απόψεις της παρούσας δημοσίευσης παρέχονται χωρίς καμιά εγγύηση (άμεση, έμμεση ή εξυπονοούμενη) ως προς την πληρότητα ή την ορθότητα τους. Με κάθε επιφύλαξη.

  2. #2
    Εγγραφή
    31-10-2007
    Μηνύματα
    2.805
    Downloads
    12
    Uploads
    0
    Τύπος
    ADSL2+ On Telecoms Full
    Ταχύτητα
    20766/1024 Προφίλ 1
    ISP
    On Telecoms
    DSLAM
    On Telecoms - ΠΑΤΗΣΙΑ
    Router
    Pirelli Discus
    SNR / Attn
    7(dB) / 19(dB)
    Το Qt είναι C++ framework. Αυτό σημαίνει ότι πριν το χρησιμοποιήσεις, πρέπει να γνωρίζεις C++.

    L"Some string": wchar_t string literal.

    "Some string": char string literal.

  3. #3
    Εγγραφή
    18-02-2007
    Περιοχή
    Κατερίνη
    Ηλικία
    49
    Μηνύματα
    1.225
    Downloads
    3
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    97.6Mbps/10.7Mbps
    ISP
    COSMOTE
    Router
    Speedport Plus 2
    SNR / Attn
    10.6(dB) / 13.5(dB)
    Παράθεση Αρχικό μήνυμα από WagItchyef Εμφάνιση μηνυμάτων
    Το Qt είναι C++ framework. Αυτό σημαίνει ότι πριν το χρησιμοποιήσεις, πρέπει να γνωρίζεις C++.

    L"Some string": wchar_t string literal.

    "Some string": char string literal.
    Τώρα μου την είπες ή κατάλαβα λάθος? Δεν νομίζω ότι έχω κάνει κανένα ... έγκλημα στον κώδικα!

    Εσύ που ξέρεις τη συγκεκριμένη γλώσσα -σύμφωνα με την υπογραφή σου- γιατί δεν μου λες τη λύση? Ξαναλέω ότι με λατινικούς χαρακτήρες το πρόβλημα δεν υφίσταται.
    Δήλωση αποποίησης ευθύνης:
    Όλες οι πληροφορίες ή/και απόψεις της παρούσας δημοσίευσης παρέχονται χωρίς καμιά εγγύηση (άμεση, έμμεση ή εξυπονοούμενη) ως προς την πληρότητα ή την ορθότητα τους. Με κάθε επιφύλαξη.

  4. #4
    Το avatar του μέλους turboirc
    turboirc Guest
    Στην είπε την λύση.

    wchar_t x = L"Some string Γρεεκ".

  5. #5
    Εγγραφή
    31-10-2007
    Μηνύματα
    2.805
    Downloads
    12
    Uploads
    0
    Τύπος
    ADSL2+ On Telecoms Full
    Ταχύτητα
    20766/1024 Προφίλ 1
    ISP
    On Telecoms
    DSLAM
    On Telecoms - ΠΑΤΗΣΙΑ
    Router
    Pirelli Discus
    SNR / Attn
    7(dB) / 19(dB)
    Να πω εδώ ότι ο wchar_t υπάρχει και στην C, έτσι όποιος εκτυπώνει ελληνικά μηνύματα στην C, στο στυλ:

    printf("Μήνυμα");


    αντί του σωστού

    wprintf(L"Μήνυμα");

    έχοντας βεβαιωθεί ότι χρησιμοποιείται το σωστό locale, πρέπει να εμβαθύνει στην C περισσότερο.

    ........Auto merged post: WagItchyef πρόσθεσε 12 λεπτά και 58 δευτερόλεπτα αργότερα ........

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

    Εσύ που ξέρεις τη συγκεκριμένη γλώσσα -σύμφωνα με την υπογραφή σου- γιατί δεν μου λες τη λύση? Ξαναλέω ότι με λατινικούς χαρακτήρες το πρόβλημα δεν υφίσταται.
    Δεν "στην είπα". Απλά είπα πως έχουν τα πράγματα κατά τη γνώμη μου, μην το παίρνεις προσωπικά.

    Αν θέλει κάποιος να εμβαθύνει στην C++, συστήνω το "The C++ Programming Language" 3rd Edition or Special Edition, του Bjarne Stroustrup (ο δημιουργός της C++), και να το διαβάσει "cover to cover", δηλαδή από το πρώτο εξώφυλλο μέχρι το τελευταίο εξώφυλλο. Θα πάρει χρόνια να το διαβάσει όλο, αλλά μόνο έτσι γινόμαστε καλύτεροι προγραμματιστές.
    Τελευταία επεξεργασία από το μέλος WagItchyef : 21-03-09 στις 18:36. Αιτία: auto merged post

  6. #6
    Το avatar του μέλους turboirc
    turboirc Guest
    Σιγά ρε και εσύ. Θα το τελειώσει πριν την κρίση ή μετά ?

  7. #7
    Εγγραφή
    31-10-2007
    Μηνύματα
    2.805
    Downloads
    12
    Uploads
    0
    Τύπος
    ADSL2+ On Telecoms Full
    Ταχύτητα
    20766/1024 Προφίλ 1
    ISP
    On Telecoms
    DSLAM
    On Telecoms - ΠΑΤΗΣΙΑ
    Router
    Pirelli Discus
    SNR / Attn
    7(dB) / 19(dB)
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Σιγά ρε και εσύ. Θα το τελειώσει πριν την κρίση ή μετά ?
    Το έχεις διαβάσει όλο;

  8. #8
    Εγγραφή
    19-06-2008
    Περιοχή
    127.0.0.1
    Μηνύματα
    1.149
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    14000/700
    ISP
    Conn-x OTE
    Router
    cisco887va+sec-k9
    Path Level
    Fastpath
    Εγώ που εκτός απο kernigham-richie fisrt edition (σε έντυπη μορφή), www.cplusplus.com και http://msdn.microsoft.com/en-us/libr...90(VS.60).aspx δεν θυμάμε να διάβασα τίποτα άλλο σχετικό με C/C++, να υποθέσω δεν ξέρω/γράφω C++ ;

  9. #9
    Εγγραφή
    18-02-2007
    Περιοχή
    Κατερίνη
    Ηλικία
    49
    Μηνύματα
    1.225
    Downloads
    3
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    97.6Mbps/10.7Mbps
    ISP
    COSMOTE
    Router
    Speedport Plus 2
    SNR / Attn
    10.6(dB) / 13.5(dB)
    Παράθεση Αρχικό μήνυμα από greatst Εμφάνιση μηνυμάτων
    Επειδή έχει κολλήσει το μυαλό μου, είπα να ρωτήσω μήπως κάτι κάνω λάθος!

    Φτιάχνω (για εξάσκηση) την εφαρμογή υπολογισμού ΔΜΣ (κλασσικά!) σε C++/Qt και έχω ένα σημείο στον κώδικα όπου

    Κώδικας:
    QString qdms;
    qdms="Ο Δείκτης Μάζας σώματος είναι:";
    ui->labelResult1->setText(qdms);
    όπου το labelResult1 είναι (προφανώς!) qlabel. Ο κώδικας αυτός εκτελείται (μεταξύ άλλων) όταν πατώ ένα button υπολογισμού. Το πρόβλημα είναι ότι όταν τρέχω το πρόγραμμα και πατώ το κουμπί αντί για να εμφανιστεί το κείμενο Ο Δείκτης Μάζας σώματος είναι: με ελληνικούς χαρακτήρες, εμφανίζεται με "ιερογλυφικά". Τι παίζεται? Σημειώνω ότι εάν αντικαταστήσω το κείμενο Ο Δείκτης Μάζας σώματος είναι: με λατινικούς χαρακτήρες όλα παίζουν καλά, άρα το "πρόβλημα" έχει να κάνει με τα ελληνικά(?)

    Εάν έχει κάποια σημασία -που δεν το νομίζω- να πω ότι γράφω την εφαρμογή στο Qt Creator σε Λ/Σ Ubuntu8.10.
    Από όποιον ξέρει και θα ήθελε να απαντήσει -για να μην περιμένω να τελειώσει η κρίση για ένα τόσο απλό πρόγραμμα, μιας και προγραμματισμό ξέρω όσο μου χρειάζεται- θυμίζω το τμήμα του κώδικα και θα ήθελα να μου πει κάποιος που ξέρει πώς να αλλάξω τον συγκεκριμένο κώδικα ώστε να παίζουν τα ελληνικά.

    ........Auto merged post: greatst πρόσθεσε 4 λεπτά και 14 δευτερόλεπτα αργότερα ........

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

    καλές οι γλώσσες προγραμματισμού αλλά ... μην ξεχάσουμε και τα ελληνικά μας!
    Τελευταία επεξεργασία από το μέλος greatst : 21-03-09 στις 19:33. Αιτία: auto merged post
    Δήλωση αποποίησης ευθύνης:
    Όλες οι πληροφορίες ή/και απόψεις της παρούσας δημοσίευσης παρέχονται χωρίς καμιά εγγύηση (άμεση, έμμεση ή εξυπονοούμενη) ως προς την πληρότητα ή την ορθότητα τους. Με κάθε επιφύλαξη.

  10. #10
    Το avatar του μέλους turboirc
    turboirc Guest
    wchar_t* qdms = L" Δείκτης Μάζας σώματος είναι:";
    ui->labelResult1->setText(qdms);

    Το κατά πόσο το παραπάνω θα δουλεψει εξαρτάται εαν το SetText δέχεται Unicode strings. Εαν ναι, θα δουλέψει. Εαν όχι, τότε πρέπει να βρείς άλλο τρόπο διαβάζοντας το Manual.

  11. #11
    Εγγραφή
    18-02-2007
    Περιοχή
    Κατερίνη
    Ηλικία
    49
    Μηνύματα
    1.225
    Downloads
    3
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    97.6Mbps/10.7Mbps
    ISP
    COSMOTE
    Router
    Speedport Plus 2
    SNR / Attn
    10.6(dB) / 13.5(dB)
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Στην είπε την λύση.

    wchar_t x = L"Some string Γρεεκ".
    Παραμύθια ΔΕΝ θέλω να λέω: τον τύπο δεδομένων wchar_t ΔΕΝ το έχω χρησιμοποιήσει ποτέ μου!

    Αλλά η γραμμή κώδικα (για παράδειγμα)

    Κώδικας:
    wchar_t test=L"καλημέρα";
    δίνει σφάλμα:

    invalid conversion from 'const wchar_t*' to 'wchar_t'
    επεξεργασία: τώρα είδα την απάντηση σου, την δοκίμασα και η γραμμή

    Κώδικας:
    wchar_t* qdms=L"Ο Δείκτης Μάζας Σώματος είναι: ";
    δίνει σφάλμα σχετικά με μετατροπή τύπων που πρόκειται να καταργηθεί (να την πω ρετρό μετατροπή?)

    deprecated conversion from string constant το 'wchar_t*'
    και το βασικό πρόβλημα είναι ότι ο τύπος wchar_t* ΔΕΝ μπορεί να χρησιμοποιηθεί για την setText του QLabel. Συγκεκριμένα, στη γραμμή

    Κώδικας:
    ui->labelResult1->setText(qdms);
    προκύπτει σφάλμα

    δεν ταιριάζει συνάρτηση για την κλήση στο 'QLabel::setText(wchar_t*&)'
    Τελευταία επεξεργασία από το μέλος greatst : 21-03-09 στις 19:55. Αιτία: προσθήκη του κειμένου "επεξεργασία"
    Δήλωση αποποίησης ευθύνης:
    Όλες οι πληροφορίες ή/και απόψεις της παρούσας δημοσίευσης παρέχονται χωρίς καμιά εγγύηση (άμεση, έμμεση ή εξυπονοούμενη) ως προς την πληρότητα ή την ορθότητα τους. Με κάθε επιφύλαξη.

  12. #12
    Εγγραφή
    31-10-2007
    Μηνύματα
    2.805
    Downloads
    12
    Uploads
    0
    Τύπος
    ADSL2+ On Telecoms Full
    Ταχύτητα
    20766/1024 Προφίλ 1
    ISP
    On Telecoms
    DSLAM
    On Telecoms - ΠΑΤΗΣΙΑ
    Router
    Pirelli Discus
    SNR / Attn
    7(dB) / 19(dB)
    Παράθεση Αρχικό μήνυμα από bxenos Εμφάνιση μηνυμάτων
    Εγώ που εκτός απο kernigham-richie fisrt edition (σε έντυπη μορφή),
    Αν σε ενδιαφέρει η C, πρέπει να διαβάσεις την δεύτερη έκδοση (όχι την ελληνική μετάφραση).

    Παράθεση Αρχικό μήνυμα από bxenos Εμφάνιση μηνυμάτων
    www.cplusplus.com και http://msdn.microsoft.com/en-us/libr...90(VS.60).aspx δεν θυμάμε να διάβασα τίποτα άλλο σχετικό με C/C++, να υποθέσω δεν ξέρω/γράφω C++ ;
    Για το πρώτο URL, δεν έχω κοιτάξει αν έχει καλά tutorials. Το MSDN της Microsoft είναι από τα χειρότερα references για ISO C++.

  13. #13
    Το avatar του μέλους turboirc
    turboirc Guest
    Άρα, const wchar*t test = L"Καλημέρα";

    Η ερώτησή όμως είναι πώς γίνεται αφού δεν ξέρεις καν τι ειναι το wchar_t να θές να βάλεις ελληνικά στο πρόγραμμα.
    Πέρα από την πλάκα, το qt δεν είναι κάτι που μπορείς να το χρησιμοποιήσεις χωρίς να ξέρεις την γλώσσα. Αν θες μια καλή συμβουλή ξεκίνα από console εφαρμογες με την βοήθεια ενός καλού βιβλίου για να μάθεις την γλώσσα. Χρειάζεται τεράστια εξάσκηση και επιμονή. Η C++ δεν ανήκει στις γλώσσες που τις χειρίζεται κάποιος εύκολα και γρήγορα. Αρχισε να γράφεις κώδικα και κυρίως να τον αποσφαλματώνεις, και όταν πιάσεις project με 10.000 γραμμές και πάνω τότε άρχισε να κοιτάς το QT.

    Το MSDN δεν κάθεται να ασχοληθεί με την C++. Σου λέει εδώ για να έρθεις, ξέρεις, και αν δεν ξέρεις, κάτσε μάθε. Αφορά μόνο στις βιβλιοθήκες των Windows και δεν είναι πλήρης η τεκμηρίωσή του για την C++ γιατί πολύ απλά δεν είναι αυτός ο σκοπός του.
    Τελευταία επεξεργασία από το μέλος turboirc : 21-03-09 στις 19:45.

  14. #14
    Εγγραφή
    31-10-2007
    Μηνύματα
    2.805
    Downloads
    12
    Uploads
    0
    Τύπος
    ADSL2+ On Telecoms Full
    Ταχύτητα
    20766/1024 Προφίλ 1
    ISP
    On Telecoms
    DSLAM
    On Telecoms - ΠΑΤΗΣΙΑ
    Router
    Pirelli Discus
    SNR / Attn
    7(dB) / 19(dB)
    Παράθεση Αρχικό μήνυμα από greatst Εμφάνιση μηνυμάτων
    Από όποιον ξέρει και θα ήθελε να απαντήσει -για να μην περιμένω να τελειώσει η κρίση για ένα τόσο απλό πρόγραμμα, μιας και προγραμματισμό ξέρω όσο μου χρειάζεται- θυμίζω το τμήμα του κώδικα και θα ήθελα να μου πει κάποιος που ξέρει πώς να αλλάξω τον συγκεκριμένο κώδικα ώστε να παίζουν τα ελληνικά.
    Θα χρησιμοποιήσεις wchar_t string literals:

    Κώδικας:
    QString someQString= QString::fromWCharArray(L"Ελληνικά");

    Παράθεση Αρχικό μήνυμα από greatst Εμφάνιση μηνυμάτων
    μάλλον εννοούσες πώς

    καλές οι γλώσσες προγραμματισμού αλλά ... μην ξεχάσουμε και τα ελληνικά μας!
    Στη δημοτική δεν χρειάζεται τόνο.

  15. #15
    Το avatar του μέλους turboirc
    turboirc Guest
    Χρειάζεται τόνο. Αλλά πως το QString μετατρέπει το κείμενο από wide σε ansi ? UTF-8 ? Και πώς μετά τον βάζει στο παράθυρο ?

Σελ. 1 από 7 1236 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. ερωτημα για το wrt54gc
    Από jimdemet στο φόρουμ Linksys ADSL modems και routers
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 01-10-08, 17:06
  2. Ερωτημα για excel
    Από Insomniac στο φόρουμ Software γενικά
    Μηνύματα: 6
    Τελευταίο Μήνυμα: 11-08-07, 20:16
  3. Ερωτημα για κατεβαστηρι
    Από βυσματολογος στο φόρουμ Hardware Γενικά
    Μηνύματα: 26
    Τελευταίο Μήνυμα: 11-06-06, 00:26
  4. Σοβαρο ερωτημα για το 9107
    Από magus32 στο φόρουμ ADSL & Broadband Hardware, routers και modems...
    Μηνύματα: 6
    Τελευταίο Μήνυμα: 27-11-05, 15:30
  5. αποψεις για το 2ο μεγαλυτερο ερωτημα
    Από KLG στο φόρουμ Unix - Linux
    Μηνύματα: 29
    Τελευταίο Μήνυμα: 13-07-05, 01:35

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας