Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 27/10/2010
lmpadron's Avatar
lmpadron lmpadron is offline
Miembro
 
Join Date: Feb 2009
Location: 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.

Code:
        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

Code:
 
        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
Code:
 
        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_
________________________________________________________________________________
Reply With Quote
  #2  
Old 28/10/2010
Ñuño Martínez's Avatar
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Join Date: Jul 2006
Location: 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++:
Code:
  char *CadenaOriginal = "¡Hola, Mundo!"
  string *CadenaFinal;

  CadenaFinal = new string (CadenaOriginal);
El otro caso:
Code:
  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
Reply With Quote
  #3  
Old 29/10/2010
_cero_ _cero_ is offline
Miembro
 
Join Date: Apr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Thumbs up

mmm veamos


Code:
//    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

Code:
    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);
    }
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
convertir int o char a hexadecimal. bactering C++ Builder 2 05/10/2008 21:18
Convertir un Single en 4 char cmurua71 Varios 4 15/06/2007 11:25
Pasar string a char Sayuri Varios 3 09/08/2005 16:35
Convertir variable tipo Word a Char andre Varios 2 15/12/2003 20:15
char to string y al reves fespi Varios 2 05/11/2003 21:08


All times are GMT +2. The time now is 22:26.


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