Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2005
android_beat android_beat is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: morelia michoacan mexico
Posts: 40
Poder: 0
android_beat Va por buen camino
Unhappy Comas en un string

quiero separar lo que hay entre las comas de un string ejemplo:

Tengo la variable Texto1:String;

Texto1:='rafael,23,1982';

lo que quiero es separar el nombre la edad y la fecha no puedo hacerlo con un copy() por que no siempre sera la misma longitud en el nombre como le puedo hacer?

les agradesco de ante mano porfa ayudenme
__________________
La programación llena mi vida como lo hace la música electrónica
Responder Con Cita
  #2  
Antiguo 06-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
Claro que si podes hacerlo con copy. Para determinar dinámicamente la longitud a copiar, valete de la función pos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 06-04-2005
android_beat android_beat is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: morelia michoacan mexico
Posts: 40
Poder: 0
android_beat Va por buen camino
Unhappy ejemplo

Ups creo que no entender no tendras un ejemplo siple para aplicarlo?
creo que me seria de mucha ayuda
__________________
La programación llena mi vida como lo hace la música electrónica
Responder Con Cita
  #4  
Antiguo 06-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
Regularmente es tan fácil como ir a la ayuda de delphi. Este ejemplo está alli mismo:

Cita:
Empezado por Delphi Help
Código Delphi [-]
var S: string;

begin
  S := '   123.5';
  { Convert spaces to zeros }
  while Pos(' ', S) > 0 do
    S[Pos(' ', S)] := '0';
end;
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 06-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.219
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
En algunos casos* puede usarse un TStringList:


Código Delphi [-]
var
  Campos: TStringList;

begin
  Campos := TStringList.Create;

  try
    Campos.CommaText := 'rafael,23,1982';

    {
       Ahora campos lista loe términos individuales:
         Campos[0] = 'rafael';
         Campos[1] = '23';
         Campos[2] = '1982';
    }
  finally
    Campos.Free;
  end;
end;

* Esto funciona bien si los términos entre las comas son palabras únicas, es decir sin espacios. Si hay espacios sería necesario que los términos estuvieran encerrados entre comillas dobles.

// Saludos
Responder Con Cita
  #6  
Antiguo 06-04-2005
android_beat android_beat is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: morelia michoacan mexico
Posts: 40
Poder: 0
android_beat Va por buen camino
Wink

Juan Antonio Castillo Hernández grax me ayudo a solucionar un problemilla que tenia en otro caso


y Roman fue muy bueno eso ya que el string lo traia de una dll y solo puedo mandar ya sea un string o un integer desde la funcion


solo que no se por que en ocasiones la dll me marca este error EinvalidPointer
__________________
La programación llena mi vida como lo hace la música electrónica
Responder Con Cita
  #7  
Antiguo 06-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.219
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Cita:
Empezado por android_beat
solo que no se por que en ocasiones la dll me marca este error EinvalidPointer
No sé si sea el caso pero Delphi no maneja bien el paso de parámetros String en funciones de una DLL a no ser que se incluya la unidad ShareMem en la dll y en la aplicación. En su lugar puedes usar ShortString (máximo 255 caracteres).

// Saludos
Responder Con Cita
  #8  
Antiguo 06-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
NULL
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
Para completar lo dicho por román, y si la dll es tuya, podes evitar todo este rollo también pasando cadenas de caracteres terminadas en nulo al estilo de c (PChar).

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:10:37.


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