Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola wolfran_hack.

Como te dije no uso Excel, pero supongo que debe ser similar a Calc de LibreOffice, así que proba si de este modo te funciona:
Código Delphi [-]
procedure LoadFromCSV(LV: TListView; const aFileName: string);
var
  LI : TListItem;
  TS1, TS2: TStrings;
  i, j: Integer;
begin
  TS1 := TStringList.Create;
  TS2 := TStringList.Create;
  try
    TS1.LoadFromFile(aFileName);
    // Columnas
    TS2.CommaText := TS1[0];
    for i := 0 to TS2.Count-1 do
    begin
      LV.Columns.Add;
      LV.Columns.Items[i].Caption := TS2[i];
      LV.Columns[i].Width:= 100; // esta línea es opcional
    end;
    // Items, Subitems
    for i := 1 to TS1.Count-1 do
    begin
      TS2.Clear;
      TS2.CommaText := TS1[i];
      LI := LV.Items.Add;
      LI.Caption := TS2[0];
      for j:= 1 to TS2.Count - 1 do
        LI.SubItems.Add(TS2[j]);
    end;
  finally
    TS1.Free;
    TS2.Free;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
  LoadFromCSV(ListView1, ExtractFilePath(Application.ExeName)+'Archivo.csv');
El procedimiento carga un archivo .csv a un TListView en blanco.

Por si pudiera serte de ayuda, te adjunto la prueba con el archivito .csv que generé desde el Calc.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip LoadFromCSV.zip (3,9 KB, 11 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 23-06-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 14
wolfran_hack Va por buen camino
Gracias ecfisa, probé con tu condigo y si lo guarda, por ende algo en las 2000 lineas de mi programa esta impidiendo que se guarde el archivo, correctamente, revisare todo y comento.
Responder Con Cita
  #3  
Antiguo 23-06-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 14
wolfran_hack Va por buen camino
Encontré el error, pero no lo solucione todavía, el problema esta en el OpenDialog, como no funcionaba con el CSV busque para hacerlo con un archivo XML, funciona perfecto lo carga, todo ahora, no se guardaba, y de la nada encuentro un archivo "NombredelArchivo.XXX" que yo queria crear para usarlo de archivo temporal, se creo en el mismo directorio que donde tenia el XML, se esta quedando el directorio del Opendialog con información, que por este motivo cuando hago algún cambio si se guarda si no utilizo un OpenDialog.
Archivos Adjuntos
Tipo de Archivo: rar ImportXML.rar (249,1 KB, 0 visitas)
Responder Con Cita
  #4  
Antiguo 23-06-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 14
wolfran_hack Va por buen camino
Ahora digo, creo un botón al cual le pongo:

Código Delphi [-]
  SaveListViewToFile(ListView1, ExtractFilePath( Application.ExeName ) + 'NombredelArchivo.XXX');
  MessageDlg(ExtractFilePath( Application.ExeName ),mtInformation,[mbOK], 0);

entonces, cargo el archivo XML, todo perfecto, entonces digo ya cargue el XML y ahora si apretó el botón, tendría que escribir o reemplazar o crear el archivo NombredelArchivo.XXX en el directorio del EXE, pero no lo hace, por mas que le indico que tiene que utilizar el ExtractFilePath( Application.ExeName ), el archivo se crear en el directorio donde esta el XML.
Responder Con Cita
  #5  
Antiguo 23-06-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 14
wolfran_hack Va por buen camino
Solucionado:

Código Delphi [-]
procedure SaveListViewToFile(AListView: TListView; sFileName: string);
var
  idxItem, idxSub, IdxImage: Integer;
  F: TFileStream;
  pText: PChar;
  sText: string;
  W, ItemCount, SubCount: Word;
  MySignature: array [0..2] of Char;
begin
  // Inicio
  with AListView do
  begin
    ItemCount := 0;
    SubCount  := 0;
    //****
    MySignature := 'LVF';
    //  ListViewFile
    F := TFileStream.Create( ExtractFilePath( Application.ExeName ) + 'NombredelArchivo.XXX', fmCreate or fmOpenWrite);
    F.Write(MySignature, SizeOf(MySignature));

    if Items.Count = 0 then
      // List is empty
      ItemCount := 0
    else
      ItemCount := Items.Count;
    F.Write(ItemCount, SizeOf(ItemCount));

    if Items.Count > 0 then
    begin
      for idxItem := 1 to ItemCount do
      begin
        with Items[idxItem - 1] do
        begin
          // Guardamos los SubItems
          if SubItems.Count = 0 then
            SubCount := 0
          else
            SubCount := Subitems.Count;
          F.Write(SubCount, SizeOf(SubCount));
          // Guardamos el Index
          IdxImage := ImageIndex;
          F.Write(IdxImage, SizeOf(IdxImage));
          // Guardamos la Caption
          sText := Caption;
          w     := Length(sText);
          pText := StrAlloc(Length(sText) + 1);
          StrPLCopy(pText, sText, Length(sText));
          F.Write(w, SizeOf(w));
          F.Write(pText^, w);
          StrDispose(pText);
          if SubCount > 0 then
          begin
            for idxSub := 0 to SubItems.Count - 1 do
            begin
              // Guardamos los Items y SubItems
              sText := SubItems[idxSub];
              w     := Length(sText);
              pText := StrAlloc(Length(sText) + 1);
              StrPLCopy(pText, sText, Length(sText));
              F.Write(w, SizeOf(w));
              F.Write(pText^, w);
              StrDispose(pText);
            end;
          end;
        end;
      end;
    end;
    F.Free;
  end;
end;
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas al guardar listview demonio6 Varios 16 11-11-2012 06:35:52
Guardar archivo en delphi Maria85 Internet 1 04-02-2009 14:12:40
Guardar archivo excel desde delphi rruffino Servers 7 01-02-2008 19:20:32
Subir y guardar archivo PDF con Delphi fausto Internet 1 28-06-2006 11:20:54
Problema al guardar archivo adjunto IceJamp Internet 3 04-04-2006 20:21:45


La franja horaria es GMT +2. Ahora son las 07:15:38.


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