FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Equivalente a la función Copy en C++ Builder
Hola Foro !!!!
Es primera vez que trabajo en C++ Builder por lo que no estoy muy familiarizado con el. Mi duda es simple, necesito saber cual es el equivalente en C++ Builder del la función Copy de Delphi, si no mal recuerdo en la ayuda encontre una función llamada strcpy pero no pude hacer con ella lo que se hace con Copy en Delphi. En realidad mi problema es muy sencillo, solo necesito extraer subcadenas de una cadena mayor pero no he encontrado como solucionarlo en C++ Builder. Para ser mas especifico mi problema es el siguiente, tengo un archivo de texto con cadenas separadas por comas → "Abraham,Nuño,25,1980,México" y necesito extraer cada subcadena entre las comas para ingresarla a un StrinGrid, esto lo hacia de forma muy facil en Delphi con la función Copy pero en Builder no lo he podido resolver, por lo del manejo del StrinGrid no hay ningun problema sino solo por la extracción del las cadenas. Espero me puedan ayudar con esto y muchas gracias de antemano !!!
__________________
Saludos desde Guadalajara, Jalisco, México Última edición por Luis Abraham fecha: 06-06-2005 a las 19:00:51. Razón: StrCopy por strcpy |
#2
|
||||
|
||||
C++Builder utiliza la clase AnsiString para el manejo de cadenas.
Esta clase posee varios métodos, entre ellos SubString(pos, cant). lo uilizas asi: Código:
AnsiString Cad = "Abraham,Nuño,25,1980,México"; AnsiString Aux; Aux = Cad.SubString(1, Cad.Pos(",")-1);
__________________
[Crandel] |
#3
|
|||
|
|||
La forma más eficiente, sobre todo si la cadena está separada por comas, es utilizar un objeto TStringList. de la siguiente forma:
Código:
TStringList *SL = new TStringList; SL->CommaText = tu_cadena; int cantidad = SL->Count; // La cantidad de componentes for (int fila=0; fila < cantidad; fila++) // Recorrer la lista de componentes { HacerAlgo (SL->Strings[fila]); // Hacer algo con cada componentes (1, 2, 3, ...) } delete SL; Espero te sirva. Es uno de mis trucos favoritos ! |
|
|
|