Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Acerca de CommaText

Hola, tengo una pequeña duda con la propiedad Commatext de los Stringlist... espero q me puedan ayudar. Estoy haciendo un procedimiento que toma los datos de una libreta de direcciones del Outlook (exportada a CSV). Primero cargo el archivo en un stringlist; y luego en otro separo por campos, con commatext. El problema que tengo es que los nombres que tienen un espacio en el medio, son separados por commatext igual q si hubiera una coma. Por ej, si yo tengo estas líneas:

Juan,juanbecette81@yahoo.com.ar
Juan José Becette,juanbecette81@yahoo.com.ar


En el primer caso, campos[0] contendría "Juan", y campos[1] contendría "juanbecette81@yahoo.com.ar"; q es precisamente lo que quiero. Pero en el segundo caso, me lo pasaría de la siguiente manera: campos[0]="Juan" y campos[1]="José". ¿Hay algo que esté haciendo mal? En algún mensaje del foro leí que los stringlist tienen una propiedad llamada Delimiter, donde uno especifica el caractér delimitador, pero no lo puedo encontrar (aunque en teoría Commatext separa donde encuentra una coma, no?). Quizás esa propiedad no la encuentre porque uso Delphi 3...

Bueno, voy a estar muy agradecido si alguien me puede ayudar. Les adjunto el código del procedimiento que hice, por si acaso:

Código Delphi [-]
procedure TImport_form.FlatSpeedButton1Click(Sender: TObject);
var
Archivocsv, Campos: Tstringlist;
I: Integer;
begin

//Creo las dos StringList: una contiene el archivo entero, otra los campos...
Archivocsv:=Tstringlist.create;
Campos:=Tstringlist.create;
  try
  //Cargo el archivo a la stringlist Archivocsv...
  Archivocsv.LoadFromFile(Filelistbox1.FileName);
  //Separo cada línea en campos con COMMATEXT y paso c/u al arreglo Campos
  for I:=0 to Archivocsv.Count -1 do
    begin
    Campos.clear;
    Campos.CommaText:=ArchivoCsv[i];

   //Paso c/campo a la tabla
   //Pone nro de cliente automáticamente...
   if Datamodule1.Client.RecordCount=0 then ncli:=0
      else ncli:=Datamodule1.Client['CLI_NUM'];
   Datamodule1.Client.Last;
   Datamodule1.Client.Insert;
   Datamodule1.Client['CLI_NUM']:=ncli + 1;
   //==============================================
    Datamodule1.Client['CLI_NOM']:=Campos[0];
    Datamodule1.Client['CLI_MAIL']:=Campos[1];
    Datamodule1.Client.Post;
    end;
    finally
    Archivocsv.Free;
    Campos.Free;
  end;
end;

Gracias, y saludos!

Última edición por JuanBCT fecha: 19-01-2005 a las 16:05:28.
Responder Con Cita
 



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 11:51: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
Copyright 1996-2007 Club Delphi