Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Listbox y archivos de datos .dat (https://www.clubdelphi.com/foros/showthread.php?t=96734)

compuin 07-06-2024 18:19:34

Listbox y archivos de datos .dat
 
Buenos dias,

Alguien tendra un ejemplo para el manejo de datos personales (Incluir, Editar y Borrar) almacenados en un archivo .dat y poder mostrarlos en forma de lista en un Listbox?

Gracias de antemano

Casimiro Noteví 07-06-2024 19:31:21

Mira los enlaces relacionados de final de página, abajo del todo, te pueden servir.

compuin 07-06-2024 20:35:28

Cita:

Empezado por Casimiro Notevi (Mensaje 556010)
Mira los enlaces relacionados de final de página, abajo del todo, te pueden servir.

Gracias, pero lo que busco es manejar archivos de texto o binarios. No es para hacer tablas SQL

Casimiro Noteví 08-06-2024 12:24:53

Viene a ser lo mismo, pasar datos a un listbox, aquí tienes un ejemplo.


Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    ButtonLoad: TButton;
    ButtonSave: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure ButtonLoadClick(Sender: TObject);
    procedure ButtonSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ButtonLoadClick(Sender: TObject);
var
  StringList: TStringList;
begin
  if OpenDialog1.Execute then
  begin
    StringList := TStringList.Create;
    try
      StringList.LoadFromFile(OpenDialog1.FileName);
      ListBox1.Items.Assign(StringList);
    finally
      StringList.Free;
    end;
  end;
end;

procedure TForm1.ButtonSaveClick(Sender: TObject);
var
  StringList: TStringList;
begin
  if SaveDialog1.Execute then
  begin
    StringList := TStringList.Create;
    try
      StringList.Assign(ListBox1.Items);
      StringList.SaveToFile(SaveDialog1.FileName);
    finally
      StringList.Free;
    end;
  end;
end;

end.

compuin 08-06-2024 19:22:34

Cita:

Empezado por Casimiro Notevi (Mensaje 556015)
Viene a ser lo mismo, pasar datos a un listbox, aquí tienes un ejemplo.


Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    ButtonLoad: TButton;
    ButtonSave: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure ButtonLoadClick(Sender: TObject);
    procedure ButtonSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ButtonLoadClick(Sender: TObject);
var
  StringList: TStringList;
begin
  if OpenDialog1.Execute then
  begin
    StringList := TStringList.Create;
    try
      StringList.LoadFromFile(OpenDialog1.FileName);
      ListBox1.Items.Assign(StringList);
    finally
      StringList.Free;
    end;
  end;
end;

procedure TForm1.ButtonSaveClick(Sender: TObject);
var
  StringList: TStringList;
begin
  if SaveDialog1.Execute then
  begin
    StringList := TStringList.Create;
    try
      StringList.Assign(ListBox1.Items);
      StringList.SaveToFile(SaveDialog1.FileName);
    finally
      StringList.Free;
    end;
  end;
end;

end.

Gracias ya tengo mi codigo para manipular los registros en el Listbox pero necesito guardarlos y editarlos en un archivo .dat. Al parecer ni OpenDialog ni SaveDialog permiten hacer eso, es decir, necesito cambiar o agregar nuevos registros en el .dat sin reescribir el archivo en totalidad

Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.Add(edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
listbox1.DeleteSelected;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
listbox1.Items.Clear;
end;

end.


Casimiro Noteví 08-06-2024 19:27:15

Eso no puedes hacerlo con un listbox, sino con una base de datos.

compuin 10-06-2024 01:35:26

Cita:

Empezado por Casimiro Notevi (Mensaje 556020)
Eso no puedes hacerlo con un listbox, sino con una base de datos.

Entiendo,

Y es posible hacerlo con un CheckListBox ?

Neftali [Germán.Estévez] 10-06-2024 09:08:23

Cita:

Empezado por compuin (Mensaje 556006)

Alguien tendra un ejemplo para el manejo de datos personales (Incluir, Editar y Borrar) almacenados en un archivo .dat y poder mostrarlos en forma de lista en un Listbox?


No se a qué te refieres con archivos .DAT
¿Son archivos con un formato específico? ¿Qué formato?

Revisa los métodos Open, Close, Reset, Append, AssignFile,...
https://docwiki.embarcadero.com/Code...ckRead_(Delphi)


La franja horaria es GMT +2. Ahora son las 15:57:23.

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