Ver Mensaje Individual
  #21 (permalink)  
Antiguo 13/08/2008, 18:16
Avatar de moradazo
moradazo
 
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 18 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Visual Basic 2005 - Diccionario

Cita:
Iniciado por David el Grande Ver Mensaje
Pero, ¿cuál sería el formato de tu *.ini en ese caso?
Bueno la forma de lectura es esta:
Código PHP:
Private Function Traducir(ByVal sPalabra As String, ByVal Idioma As String) As String
        Dim sb 
As New System.Text.StringBuilder(255)
        
Dim ip As IntPtr = Runtime.InteropServices.Marshal.AllocHGlobal(255)
        
Dim bt As Byte = GetPrivateProfileSection("Usuarios", ip, 255, "C:\Temp.ini")

        For 
i As Integer = 0 To bt - 1
            sb
.Append(Convert.ToChar(Runtime.InteropServices.Marshal.ReadByte(ip, i)))
        
Next
        sb
.Remove(sb.Length - 1, 1)
        
Dim Encontrado As Boolean
        Dim sBuscar 
As String = ""
        
For Each line As String In sb.ToString().Split(Convert.ToChar(0))
            
Dim iPos As Integer = InStr(line, ",") - 1
            
If Idioma = "Ingles" Then
                sBuscar 
= (Microsoft.VisualBasic.Left(line, iPos))
                If 
sBuscar = sPalabra Then
                    sBuscar 
= (Microsoft.VisualBasic.Right(line, Len(line) - iPos - 1))
                    
Encontrado = True
                    
Exit For
                
End If
            Else
                
sBuscar = (Microsoft.VisualBasic.Right(line, Len(line) - iPos - 1))
                If 
sBuscar = sPalabra Then
                    sBuscar 
= (Microsoft.VisualBasic.Left(line, iPos))
                    
Encontrado = True
                    
Exit For
                
End If
            
End If
        
Next
        
If Encontrado = False Then sBuscar = "No existe en el diccionario"
        
Runtime.InteropServices.Marshal.FreeHGlobal(ip)
        Return 
sBuscar
    End 
Function

Private 
Sub InglesAespañol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InglesAespañol.Click
        TextBox2
.Text = Traducir(TextBox1.Text, "Ingles")
    
End Sub

    
Private Sub EspañolAingles_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EspañolAingles.Click
        TextBox2
.Text = Traducir(TextBox1.Text, "Español")
    
End Sub 
y el archivo .ini viene así:

[Diccionario]
Silla,Chair
Hola,Hello
Sonido,Sound

Gracias por la ayuda.