Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Psyke1 en Febrero 24, 2011, 05:39:37 pm

Título: Ayuda archivo con caracteres raros... D;
Publicado por: Psyke1 en Febrero 24, 2011, 05:39:37 pm
Tengo un archivo con un carácter extraño. Tipo : عربي...
Entonces cuando intento copiarlo a otro lugar, me da error... Nombre de archivo incorrecto...
El propio proyecto de vb se llama : Holaعربي.exe
Se debe copiar el mismo a "c:\" con el nombre : "Adios.exe"
Alguna solucion?

DoEvents! :P
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: wolf_kof en Febrero 24, 2011, 07:15:04 pm
Postea el proyecto!!!!!!!!  :o
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: xkiz ™ en Febrero 24, 2011, 07:54:59 pm
@Mr. Frog: ¿si haces eso mismo pero en Windows te funciona?
¿osea copias ese string de caracteres y crear un nuevo archivo de texto con ese nombre.txt te deja hacerlo eso Windows?
por ahi lo que se me ocurre es que puede que entre uno de esos caracteres " raros " este uno que no sea valido para asignar a un nombre en Windows....
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: Psyke1 en Febrero 24, 2011, 09:49:10 pm
Si, funciona.
Tengo esto que no funciona...
Código: [Seleccionar]
Option Explicit
 
Private Declare Function GetModuleFileNameW Lib "kernel32" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileW" (ByVal lpExistingFileName As Long, ByVal lpNewFileName As Long, ByVal bFailIfExists As Long) As Long
 
Function WhereIam() As String
    Dim bnUffer As String * 255
    GetModuleFileNameW 0, bnUffer, 255
    WhereIam = Replace$(bnUffer, vbNullChar, vbNullString)
End Function
 
Private Sub Form_Load()
    CopyFile StrPtr(WhereIam), StrPtr("c:\ByeBye.exe"), 0
End Sub

DoEvents !:P
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: coco en Febrero 24, 2011, 10:18:04 pm
Código: (vb) [Seleccionar]
Option Explicit
 
Private Declare Function GetModuleFileNameW Lib "kernel32" (ByVal hModule As Long, ByVal lpFileName As Long, ByVal nSize As Long) As Long
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileW" (ByVal lpExistingFileName As Long, ByVal lpNewFileName As Long, ByVal bFailIfExists As Long) As Long

Private Sub CopyMyself(ByVal strTo As String)
    Dim bvBuffer(255) As Byte
    GetModuleFileNameW 0, VarPtr(bvBuffer(0)), 254
    CopyFile VarPtr(bvBuffer(0)), StrPtr(strTo), 0
End Sub

Private Sub Form_Load()
    Call CopyMyself("C:\ByeBye.exe")
End Sub

Saludos!
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: Psyke1 en Febrero 24, 2011, 10:32:56 pm
Coco, impresionante!
Muchisimas gracias!!!!! :D

DoEvents! :P
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: R@MI en Marzo 01, 2011, 06:35:19 pm
Esta en un pendrive/unidad extraible?
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: coco en Marzo 01, 2011, 06:47:05 pm
@RAMI: Puede que sea o no, el tema es leer el nombre del archivo con caracteres del tipo widechar. Ahora solo lee el archivo, no el path. Pero para leer el Path, va a haber que hacer lo mismo.
Título: Re:Ayuda archivo con caracteres raros... D;
Publicado por: R@MI en Marzo 01, 2011, 06:49:36 pm
probaste cambiarle el nombre?