Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Extraer caracteres de una Cadena!! (https://www.clubdelphi.com/foros/showthread.php?t=7527)

subzero 18-02-2004 15:27:15

Extraer caracteres de una Cadena!!
 
Hola amigos.


Mi inquietud es la siguiente, por ejemplo tengo unas tablas de las cuales hago una consulta SQL y cargo los valores en comobobox al cargarce quedan de la siguiente manera.

MARIA - 01
LUCIA - 02
CATALINA - 03

deseo extraer los dos ultimos digitos y no se como hacerlo, ya que estos dos digitos me permitirán restringir la consulta para nuevas cargas.

Espero haber sido explicito en mi pregunta y agradezco cualquier ayuda.

Gracias.

roman 18-02-2004 15:35:27

Si este es el formato puedes usar la función Pos para encontrar la posición del guión y luego la función Copy o RightStr para extraer la parte que contiene los dígitos.

Por cierto, ¿qué tiene que ver esta pregunta con C++ Builder?

// Saludos

subzero 18-02-2004 15:49:26

Gracias por responderme.

La aclaración sobre que tiene que ver con C++ Builder, es que estoy accediento a ello desde esta herramienta y no se como extraer estos digitos para utilizarlos en una consulta en tiempo de ejecución.

Ya ubico el "-" con la Funcion AnsiPos per no se como copiar desde esa posición hasta otra en Delphi es copy(Cadena,Posición_Inicial,Posición_Final) per nose cual es su semejante en C++.

Gracias por pedirme aclaración.

roman 18-02-2004 15:53:36

Ok. No me acuerdo bien de C pero ¿qué en C no puedes simplemente sumarle un entero a un pchar para avanzar el puntero a la posición deseada o simplemente usarlo como arreglo (pstrCadena[PosGuion + 1])?

// Saludos

subzero 18-02-2004 16:02:51

Que pena me falto explicar que no es para C sino para C++ Builder, mis disculpas.

roman 18-02-2004 16:04:55

Cita:

Empezado por subzero
Que pena me falto explicar que no es para C sino para C++ Builder, mis disculpas.

¡Qué va! No te apenes, el apenado soy yo que no sé C++ y sí me di cuenta de que es C++ Builder lo que usas pero creo que ese tipo de manipulaciones de cadenas terminadas en #0 es igual en C que en C++, ¿no?

// Saludos

subzero 18-02-2004 22:15:50

;) Amigos pude solucionarlo de la siguiente manera:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString A,B;
int i;
A=Edit1->Text;
i=A.AnsiPos("-");
B=A.SubString(i+1,A.Length());
ShowMessage(B);
}

AnsiPos: para ubicar la posición del carácter en la cadena

SubString: Para delimitar el rango que me interesa guardar


La franja horaria es GMT +2. Ahora son las 15:35:14.

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