Visual basic net.Trasvase de datos

Pachus
06 de Marzo del 2005
hola a todos ...................Tengo un problemon, os lo cuento
Tengo que hacer un trasvase de datos ,desde el bloc de notas a sql server.
El problema esta en que en el bloc de notas no se reconocen las "ñ".
He encontrado la funcion OemToChar ,pero por mas vueltas que le doy
no se que hacer con ella.
Si alguien pudiera ponerme un ejemplo con esta funcion o con cualquier otro metodo os lo agradeceria para siempre

GRACIAS------------------------------------------

upszot
06 de Marzo del 2005
este mensaje va en "tecnologia .net" no en visual basic

en?
06 de Marzo del 2005
Esto no es un problema exclusivo de .Net
OemToChar es una función de la API de Windows que se encuentra en user32.

No tiene ningún secreto, tiene un parámetro de entrada en el que se la pasa el String que contine el texto tipo MSDOS, y el segundo parámetro es un búffer en el que la función devuelve la cadena en ANSI.

Por ejemplo:

Si tenemos una cadena como:
"Ah¡ el le¤ador cort¢ a£n m s ca¤as de la ca¤ada."

Para tratarla nos hacemos una función:

Public Function ConvertirANSI(Cadena As String) As String
' Aprovechamos la función como búffer, y lo dimensionamos.

ConvertirANSI = Space(Len(Cadena))
Call OemToChar(Cadena, ConvertirANSI)
End Function

Ahora, para convertir el texto de «StrCadena»:

Private Sub Command1_Click()
Dim StrCadena As String
Dim StrCadenaCorrecta As String

StrCadena = "Ah¡ el le¤ador cort¢ a£n m s ca¤as de la ca¤ada."

StrCadenaCorrecta = ConvertirANSI(StrCadena)
MsgBox StrCadenaCorrecta
End Sub


Sólo falta la declaración (que seguramente ya tienes)

Private Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

Private a nivel de módulo, Public en módulo estándar o de clase.

En el caso que necesites hacer lo contrario también dispones de:
Private Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

que es exactamente lo mismo, pero al revés.

Igualmente, esto puede interesarte:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mslu/winprog/microsoft_layer_for_unicode_on_windows_95_98_me_systems.asp

__
Un saludo.