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 

Reemplazar " por ' en un TMemo, como se haria?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Reemplazar " por ' en un TMemo, como se haria? Responder citando

Hola a todos lo primero,

Mirar, necesito hacer un aplicacion con un TMemo en el cual, yo introduzco un texto y lo que quiero hacer (mediante un boton) es que cuando pulse el boton, todas las comillas dobles ---> " <--- del texto, se reemplacen por comillas simples ---> ' <---.

No se si me expreso bien XD, por si acaso pongo un ejemplo:

Hola "que tal estas" ---> Este seria el texto al meterlo en el TMemo

Hola 'que tal estas' ---> Este seria el resultado despues de darle al boton


Como seria el codigo que haria esta funcion????

Un saludo
Volver arriba
Mensaje    Asunto: Responder citando

Hola, en un TMemo se guarda el texto en Lines, que no es más que una lista de AnsiStrings.

Lo que deberías hacer es "leer" cada AnsiString y buscar en él el caracter " (con la función Pos() de AnsiString), con algo así como
Código:
Memo1->Lines->Strings[i].Pos("\"")
siendo i un valor entre 0 y Memo1->Lines->Count - 1.

Deberás tener en cuenta que puede aparecer más de un " en una línea, con lo que tendrás que trabajar con subcadenas del AnsiString. La ayuda de BCB es formidable para averiguar estas cosas cuando ya estás sobre la pista.

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

Código:

Memo1->Text = StringReplace(Memo1->Lines->Text, "\"", "'", TReplaceFlags() << rfReplaceAll);


Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Gracias a los dos por las respuestas, lo probare

salu2
Volver arriba
Mensaje    Asunto: Responder citando

Ya he probado lo tuyo jaquemate, me funciona a la perfeccion,

muchisimas gracias.

Necesitaba esto para transformar las comillas dobles en simples para hacer unas aplicaciones en PHP, y me costaba mucho ir una por una cambiando las comillas de codigos largos.

Saludos y gracias de nuevo
Volver arriba
Mensaje    Asunto: Responder citando

Se me habia olvidado, como puedo poner por ejemplo Hola al principio de todas las lineas???????

Ejemplo--

texto del principio

Hemos ganado 45-56
Somos los mejores

texto convertido

HolaHemos ganado 45-56
HolaSomos los mejores
Volver arriba
Mensaje    Asunto: Responder citando

Código:
for (int n = 0; n < Memo1->Lines->Count; n++)
  Memo1->Lines->Strings[n] = "Hola" + Memo1->Lines->Strings[n];


Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
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.