|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
[VB] Problema con codice vb
Ciao a tutti avrei bisogno di implementare un codicino piccolo piccolo in vb che mi permetta di cambiare una scritta in base alla variabile della scritta, cioè che se la variabile è uno la scritta sarà di un tipo se la variabile e due di un altro..
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Milano
Messaggi: 711
|
Quote:
Basta usare l'istruzione Select Case. Codice:
Dim miaVar As Integer = 0 Dim risultatoVar As String = "" Select Case miaVar Case 0 risultatoVar = "miaVar è zero" Case 1 risultatoVar = "miaVar è uno" 'qui poi puoi aggiungere quanti select case ti servono End Select
__________________
Webmaster di: www.thetotalsite.it Feedback su eBay: http://myworld.ebay.it/carminexx + 3 feedback su GR |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
Grazie mille , gentile. Però vorrei che poi questo testo di colleghi ad un database perchè e da li che prende i dati tipo.. allora conoscete cimpliciti? bè è un programma che fa grafica con linguaggio vb. ho fatto tutto un progetto in italiano però lo vogliono anche in inglese. Inevece che duplicarlo si è pensato visto che ogni testo ha un indice e una variabile di collegarlo ad un database e in
base alla variabile che decidiamo cambia lingua. Cioe impostiamo tutti ti teti con un indice poi da database scegliamo che se tipo esempio l indice e uno tutti i testi in inglese se due in italiano.... Spero di essermi fatto capire |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
ma non è più semplice fare vari file di testo in cui ci tieni le stringhe della lingua? es it.lng en.lng us.lng ....poi in base alla lingua che scegli prendi le stringhe nel file e sei a posto... così ti risparmi il fatto che per funzionare la tua app necessiti di un db..
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
meglio farlo in xml, tipo:
<dblingua> __<msg>ciao mondo</msg> ____<en>hello world</en> ____<fr>quello che e' ____<de>idem __</msg> </dblingua> |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
xml php o altri linguaggi non posso perche il prgramma che uso legge solo vb..
ho tanti testi però uguali uno in inglese uno in italiano come potrei fare scusa sono ignorante sai... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
xml non e' un linguaggio, e' un semplice file di testo, piu' semplice da gestire rispetto a un txt.. in vb puoi leggerlo tranquillamente.
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
il programma che uso non supprota xml.. mi serve in vb.. qualche idea?
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 335
|
non ho capito... non hai scritto che ti serve un codice in vb? che programma stai usando?
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
cimplicity che usa vb
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Aug 2004
Città: Carpi
Messaggi: 266
|
ma il db l'hai già?
se si che db è? cmq potresti creare una tabella di traduzioni in orizzontale, e per ogni label andare a cercare la traduzione... tipo label "Cliente", nella tua tabella avrai 1 colonna per lingua e in base alla lingua prendi il corrispettivo della caption della label... filtri nella colonna italiano "Cliente" e prendi la trad che ti serve... e se no il select case, ma il brutto è che ogni volta che devi cambiare devi andare nel codice... mentre così basta che modifichi la tabella... |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
Be si si puo fare ma io vorrei fare che se clicco su uno inglese e tutti i testi diventano in inglese se due tutto italino senza modificare piu niente.. in sql il databse mi serve il codice che si collega a quello....
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
allora io ho fatto una cosa del genere non so se sia giusto
Function SecltaLang() As Variant l = PointGet("LINGUA") If l = 0 Then lang = "Lang_ITA" Else If l = 1 Then lang = "Lang_ENG" End If End If Dim ScreenObjects As Gefobjects Dim OggTesto As GefObject Dim OggTextFormat As GefTextFormat For intIndex = 1 To 10000 On Error GoTo salto Set OggTesto = CimGetScreen().Object.Objects.Item("txtDescription" & intIndex) Set OggTextFormat = OggTesto.TextFormat p = sqlProc(" select ABC." & lang & _ " from dbo.ABC ABC " & _ " where ABC.idLang = " & intIndex) ttesto = a(0,0) OggTextFormat.Text = ttesto CimGetScreen.Refresh false salto: Err = -1 Next intIndex End Function Sub OnScreenOpen() f = SecltaLang() End Sub Sub OnExpressionUpdate(exprValue As Variant) f = SecltaLang() End Sub |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Feb 2006
Città: Mi sono perso nello spazio...
Messaggi: 119
|
Mah! secondo me il più semplice è quello che ha esposto Carmine cioè, usare Select Case, al limite puoi aggiungere un'array ad ogni istanza Case, tanti quanto le lingue da supportare.
Codice:
On Error Resume Next
Dim Inglese(100) As String ' 100 vocaboli, parole o frasi
Dim Italiano(100) As String
Dim Russo(100) As String
Dim n As Integer
'
Dim miaVar As Integer
Dim risultatoVar As String
Select Case miaVar
Case 0
risultatoVar = "miaVar è zero"
For n = 1 To 100
Debug.Print Inglese (n) ' Elenca le 100 voci in Inglese.
Next n
Case 1
risultatoVar = "miaVar è uno"
For n = 1 To 100
Debug.Print Italiano (n) ' Elenca le 100 voci in Italiano.
Next n
Case 2
risultatoVar = "miaVar è due"
For n = 1 To 100
Debug.Print Russo (n) ' Elenca le 100 voci in Russo.
Next n
Case x
' ecc
' qui poi puoi aggiungere quanti Select Case ti servono
End Select
É solo un'abbozzo e bisognerebbe vedere il resto del listato per capire dove applicare l'output delle varie lingue. Se possibile è meglio non usare i Goto.
__________________
Il miglior dialogo è l'intesa Ultima modifica di © Rocky : 25-08-2007 alle 16:17. Motivo: Aggiunta testo |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Milano
Messaggi: 711
|
Quote:
I goto su usano solo in assembly
__________________
Webmaster di: www.thetotalsite.it Feedback su eBay: http://myworld.ebay.it/carminexx + 3 feedback su GR |
|
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
ok perfetto, adesso l unico problema è che ho delle scritte in una textbox che cambiano da sole, come faccio ad attaccargli questo script?
|
|
|
|
|
|
#17 |
|
Member
Iscritto dal: Aug 2004
Città: Carpi
Messaggi: 266
|
cosa intendi per "cambiano da sole" ??
|
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 78
|
sono collegate ad un motore. quando il motore parte vanno in preavviso acsutico, e start, o in pausa e stop.
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
Per far questo in VB ma anche per altri linguaggi c'è la possibilità di utilizzare un file di risorse .RES in cui se si ha bisogno di cambiare tutte le caption o text o altri controlli nella lingua preferita si può caricare a runtime il file .RES dove appunto saranno cambiati i nomi delle text o caption listbox ecc ecc nella lingua scelta. Evitando tutta una serie infinita di if e selct case! Se googli troverai un mare di info questo è uno: http://www.itportal.it/developer/vb/file_risorse/ |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:38.




















