Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2010
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Convertir char*, char[], string



Hola comunidad, tengo este pequeño problemita, no hallo la forma de convertir los char* y char[]
entre ellos o a String de los String a ellos, les dejo un ejemplo para que entiendan.

Creo el directorio de esta forma.

Código:
        TCHAR DirPath[] = TEXT("C:\\NombreCarpeta\\");
        if (!CreateDirectory(DirPath, NULL))
        {
            MessageDlg("un mensaje de error", mtInformation,            TMsgDlgButtons() << mbOK, 0);
        }
Pero necesito ponerle el nombre de acuerdo a la opción que seleccione el usuario, las opciones están
en un Combobox, asi que queda de esta forma y de paso pongo el error

Código:
 
        TCHAR DirPath[] = TEXT(Combobox1->Text);
        if (!CreateDirectory(DirPath, NULL))
        {
            MessageDlg("un mensaje de error", mtInformation, TMsgDlgButtons() << mbOK, 0);
        }
[BCC32 Error] Unit1.cpp(157): E2034 Cannot convert 'UnicodeString' to 'char[]'

si uso esto me devuelve este error
Código:
 
        TCHAR DirPath[] = TEXT(Combobox1->Text);
        if (!CreateDirectory(DirPath, NULL))
        {
            MessageDlg("un mensaje de error", mtInformation, TMsgDlgButtons() << mbOK, 0);
        }
[BCC32 Error] Unit1.cpp(157): E2034 Cannot convert 'char *' to 'char[]'

La pregunta es Como convierto los char * o los char [] entre ellos o a String y de String a ellos

Muchas gracias de antemano
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #2  
Antiguo 28-10-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
A ver si me acuerdo, que hace eones que no hago nada en C++:
Código:
  char *CadenaOriginal = "¡Hola, Mundo!"
  string *CadenaFinal;

  CadenaFinal = new string (CadenaOriginal);
El otro caso:
Código:
  string *CadenaOriginal = new string ("¡Hola, Mundo!");
  char *CadenaFinal;

  CadenaFinal = new char [CadenaOriginal->length ()];
// Posibilidad 1.
  sprintf (CadenaFinal, CadenaOriginal);
// Posibilidad 2.
  sprintf (CadenaFinal, "%s", CadenaOriginal);
Creo que era así. Evidentemente, no olvides los "delete".
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 29-10-2010
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Thumbs up

mmm veamos


Código:
//    de String a char
    String micadena="mi texto";
    char* michar=new char[micadena.Length()];

    StrLCopy(michar, micadena.t_str(), micadena.Length());

    ShowMessage(michar);
    delete michar;

//    de char a string
    char michar2[9]="mi texto";
    String micadena2;

    micadena2=String(michar2);

    ShowMessage(micadena2);
Para que funcione tu código

Código:
    if (!CreateDirectory(ComboBox1->Text.t_str(), NULL)) { //La función  “.t_str()” regresa un “const char*”
        MessageDlg("un mensaje de error", mtInformation, TMsgDlgButtons() << mbOK, 0);
    }
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
convertir int o char a hexadecimal. bactering C++ Builder 2 05-10-2008 21:18:45
Convertir un Single en 4 char cmurua71 Varios 4 15-06-2007 11:25:26
Pasar string a char Sayuri Varios 3 09-08-2005 16:35:29
Convertir variable tipo Word a Char andre Varios 2 15-12-2003 20:15:23
char to string y al reves fespi Varios 2 05-11-2003 21:08:36


La franja horaria es GMT +2. Ahora son las 21:39:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi