Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cómo escribir apóstrofos en una cadena en Delphi (https://www.clubdelphi.com/foros/showthread.php?t=43573)

vejerf 15-05-2007 12:39:20

Cómo escribir apóstrofos en una cadena en Delphi
 
pero q sin embargo no logro solucionar :confused: ...
La cosa es q quiero poner en un string unas coordenadas en formato de grados, minutos y segundos. Bueno el problema es q al poner los minutos (q se pone con el apostrofe ') el string entiende final de cadena y yo supongo q habra alguna forma especial para incluir estos caracteres...
Si alguien me lo dijera estaria agradecido :rolleyes: ... Gracias!!!

dec 15-05-2007 12:48:15

Hola,

Sí; como el apóstrofo es un caracter especial, para incluirlo tienes que duplicarlo, sencillamente. Es decir:

Código Delphi [-]
cadena := 'Mi name is O''callaghan';

Neftali [Germán.Estévez] 15-05-2007 13:20:06

Por favor vejerf, intenta poner títulos a los hilos que tengan que ver con las preguntas.
Si lo hubieras hecho así, posiblemente en los hilos que aparecen al final de la página hubieras encontrado una solución inmediata. Como esta, por ejemplo (que dió el propio Dec).

ixMike 15-05-2007 20:56:57

Si lo quieres escribir suelto tienes que ponerlo cuatro veces

Código Delphi [-]
S:= 'Eso es de '+nombre+' - 'This is '+nombre+''''+'s';

Saludos

fer21unmsm 15-05-2007 21:43:41

Cita:

Empezado por vejerf
pero q sin embargo no logro solucionar :confused: ...
La cosa es q quiero poner en un string unas coordenadas en formato de grados, minutos y segundos. Bueno el problema es q al poner los minutos (q se pone con el apostrofe ') el string entiende final de cadena y yo supongo q habra alguna forma especial para incluir estos caracteres...
Si alguien me lo dijera estaria agradecido :rolleyes: ... Gracias!!!

Hola vejerf, yo lo que utilizo para eso es chr(ascii) para el apostrofe pongo

chr(39), comillas dobles chr(34)

Ejemplo:

Código Delphi [-]
stNombre:='Esto es una cadena'+chr(39)+'con apostrofes'+chr(39);

saludos

mantrax 30-05-2007 16:16:25

Y cual es la diferencia?
 
Cita:

Empezado por fer21unmsm
Hola vejerf, yo lo que utilizo para eso es chr(ascii) para el apostrofe pongo

chr(39), comillas dobles chr(34)

Ejemplo:

Código Delphi [-]stNombre:='Esto es una cadena'+chr(39)+'con apostrofes'+chr(39);


saludos

¿Cual es la diferencia de duplicar las comillas simples y usar el chr(ascii)?
¿Cuál es más eficiente?

roman 30-05-2007 17:17:29

Cita:

Empezado por mantrax
¿Cual es la diferencia de duplicar las comillas simples y usar el chr(ascii)?
¿Cuál es más eficiente?

Una pequeña prueba muestra el trabajo del compilador en ambos casos:

Código:

Unit1.pas.51 S := 'Mi name is O''callaghan';
00457251 8D45FC            lea ex,[ebp-$04]
00457254 BAAC724500        mov edx,$004572ac
00457259 E89AD0FAFF        call @LStrLAsg
Unit1.pas.52 T := 'Mi name is O' + Chr(39) + 'callaghan';
0045725E 8D45F8            lea ex,[ebp-$08]
00457261 BAAC724500        mov edx,$004572ac
00457266 E88DD0FAFF        call @LStrLAsg

Así que, sin tener yo mayor idea de código ensamblador, parecería que no hay ninguna diferencia.

// Saludos

mantrax 30-05-2007 17:31:17

Interesante!
 
Gracias! Pero lo que mas me agrado fue leer tu guia de estilos para postear en el foro ejejejeje


La franja horaria es GMT +2. Ahora son las 08:31:44.

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