Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Retomando el tema de "Averiguar el Device Name".

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Retomando el tema de "Averiguar el Device Name". Responder citando

hola

Estoy aca preguntando por un tema que puso el autor philips el dia Mar 30 Oct, 2007 12:15 am con el nombre Averiguar el Device Name y la respuesta se la dio el Administrador Leo...

leo le responde con un codigo para reconocer los puertos que tiene la pc y otro para reconocer las unidades que hay en la pc como A:\\, C:\\, D:\\, etc, y me convenia la informacion pues estaba trabajando en un proyecto similar , pero no me da toda la informacion que necesito , pues lo probe y sale algo como esto:

A:\\[]
C:\\[]
D:\\[]

y lo que yo necesito es que me de algo como esto

A:\\Disco de 3 1/2
C:\\Disco local
D:\\Doisco local

comprenden , he probado con la ayuda y cambiando codigos pero no doy con nada que me ayude :
el codigo original es :
Código:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
int size = GetLogicalDriveStrings(0, 0);
std::vector<char> buffer(size+1);  // #include<vector>
GetLogicalDriveStrings(size, &buffer[0]);
String str = "";
char* drive = &buffer[0];
while (*drive) {
    char etiq[256] = "";
    GetVolumeInformation(drive, etiq, sizeof(etiq)-1, 0, 0 ,0 ,0 ,0);
    str += String().sprintf("%s [%s]\n", drive, etiq);
    drive += strlen(drive) + 1;
}
ShowMessage(str);
}


un millon de gracias anticipadas urgentes
saludos
ifrit
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola

Hecha un vistazo a este enlace a ver si te sirve de ayuda

http://www.elguille.org/vb/utilidades/getdt.htm

phil
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

philips un millon de gracias por darme la direccion de esa pagina , pero te comento que no se mucho de delphi y por lo tanto no se implementar ese codigo que me has dado en C++ , por el resultado que muestra alli estoy casi seguro de qe ese codigo me servira , pero necesito de favor que me ayudes a implementar el codigo en c++
muchas gracias y disculpa por las molestias
saludos ifrit
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

No es Delphi, es Visual Basic y lo que muestra básicamente ese código es el uso de la función del API "GetDriveType", quedaría algo así:
Código:
char* tipos[] = { "No Instalado", "No Instalado",
    "Extraible", "Fijo", "Remoto", "CDROM", "RAMDISK" };
String str = "";
for (int numDisco = 0; numDisco <= 25; numDisco++)
{
    char strDisco[] = { numDisco + 65, ':', '\\', '\0' };
    int ret = GetDriveType(strDisco);
    if (ret > 1)
    {
        str += String().sprintf("%02d  %s  -->  %d  %s\n",
            numDisco, strDisco, ret, tipos[ret]);
    }
}
ShowMessage(str);

(En el código del hilo anterior entre corchetes lo que aparece es la etiqueta del disco)
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

leo mil gracias por ayudarme , pero aun tengo dudas :
la unidad de lectura de disquetes 3 1/2 que es la A:\\ en este caso me la nombra como extraible y no creo que seto sea correcto aun no he probado con una memoria flash, pero m,as menos estoy me estan uds ayudadndo a dar con mi duda, como yo podria hacer para que me salgas algo asi
A:\\dico 3 1/2
C:\\ dico local
.
.
.
y asi consecutivamente con todas las unidades, es decir que no sea la etiqueta , sino el tipo de unidad?
gracias
ifrit
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola

Al ejecutar el código que te ha puesto Leo, te dice claramente el tipo de unidad que tienes:

"Extraible", "Fijo", "Remoto", "CDROM", "RAMDISK"

Si no te gustan el nombre "Extraible", sustituyelo por "Diskette", al igual que "Fijo" por "Disco Duro" y así sucesivamente

De no ser esto lo que necesitas, la verdad que no me entero muy bien

Phil
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Embarassed error mio leo y philips, es cierto , no me habia fijado en ese detalle
perdonenme y sobre todo un sin fin de agradecimientos ....
saludos ifrit
Wink
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.