Newsgroup: it.comp.lang.visual-basic
Titolo: Gestire il cinese

Qualcuno ha avuto esperienze? Ho un applicazione VB6 che deve andare
in cina e in alcune parti dell'applicazione vorrebbero avere la
possibilità di scrivere del testo in cinese (immagino con gli
ideogrammi) mentre il resto dell'applicazione resterebbe in inglese,
avete idea di cosa cambi rispetto alla gestione di un testo italiano o
inglese? I testi saranno salvati su DB e stampati su PDF/Carta.
Ciao
-- 
Fritz
Togli *ERASE* per rispondere in e-mail.

 inglese? I testi saranno salvati su DB e stampati su PDF/Carta.
Io. Qualche consiglio:
1) Troverai su internet controlli compatibili con il cinese. Non ne hai
bisogno se il tuo programma girerà su pc con s.o. nativo cinese. VB6
internamente è Unicode e gestisce perfettamente il cinese, tanto che una
mia *grossa* applicazione aziendale gira senza nessuna modifica su s.o.
inglesi e/o cinesi (a patto di gestire correttamente un metodo di
traduzione delle caption dei controlli). La situazione cambia se devi far
girare su un pc per esempio inglese e con installato *anche* il cinese. Per
motivi complessi da riassumere (puoi googlare in merito) in questo caso i
controlli speciali sono necessari (guarda es. 
http://www.unitoolbox.com
)
2) Se usi Microsoft SQL server usa i campi nvarchar e ntext per memorizzare
le stringhe in cinese
PaF

le stringhe in cinese
Uso Oracle.



Io ho sviluppato un'applicazione VB6 localizzata in giapponese che gira 
correttamente su XP multilanguage (interfaccia in italiano con installato 
anche il supporto per il giapponese) senza bisogno alcuno di controlli 
speciali. Per il cinese di preciso non so, ma non credo cambi molto.
Ho utilizzato questo libro come fonte di informazioni: 
http://www.i18nwithvb.com/
Bye
Raf

Il Fri, 23 May 2008 11:01:18 +0200, Rafunk ha scritto:
[cut]
Da quanto capisco però tu hai sviluppato una applicazione che fin
dall'inizio sapevi essere gestita in modo multilingua, quindi includendo
qualche specificità nel codice pur utilizzando i controlli standard.
A me è capitato di dover verificare la compatibilità della mia applicazione
scritta per girare in italiano e inglese con il cinese, a sviluppo
terminato.
PaF

 a sviluppo terminato.
E come hai fatto, per curiosità?
Ciao
Raf

 E come hai fatto, per curiosità?
Dopo un primo momento di panico (è una *grossa* applicazione) alla sola
idea di riprocessare tutti i form cambiando i controlli (avevo pensato a
qualcosa di semi automatico, tipo un find e replace nei .frm dei guid dei
textbox e labelbox con quelli avanzati) ho fatto diversi test con una
virtual machine con Windows cinese, per verificare quanto trovato su
internet, cioè che VB6 per sistemi operativi nativi orientali (o russi o
qualunque altra nazionalità) ha la piena compatibilità, gestendo
internamente le stringhe in unicode.
Con grande sollievo ha funzionato tutto, anche l'oggetto Printer.
Quindi nonè stata necessaria nessuna modifica, tranne il cambio del tipo di
dato da varchar/text a nvarchar/ntext nella mia tabella dizionario, dove
già gestivo l'inglese.
PaF

Ciao
Ciao.
Il mio problema é stata la seriale (MSComm), che gestiva i buffer come
delle stringhe: poichè alcuni codici ascii, ad es 0XFE, non esistono
nella codepage 936, i dati diventavano 0x00 una volta scritti e/o
letti su stringa. Ho risolto gestendola con array di byte.
Alcuni 'simboli', come il grado decimale ° 0xB0, hanno un codice ascii
diverso, pur avendo la stesso valore binario, ad es. 0xA258.
Marco