Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cargar de un fichero en disco a unos campos edit/richedit (https://www.clubdelphi.com/foros/showthread.php?t=28645)

pepecharlie67 27-12-2005 14:07:15

Cargar de un fichero en disco a unos campos edit/richedit
 
Hola,tengo unos ficheros guardados con extension .txt. Bien, mi ficheros tienen guardado una configuracion(en cada linea del fichero tengo un campo diferente,es decir,un ejemplo es:

Jose
20
El chico es mayor

Pues bien ahora quiero cargar los diferentes campos en un edit/richedit diferente. Es decir,

Edit1.text:='Jose'
Edit2.text:='20'
RichEdit.text:='El chico es mayor'.

He utilizado un TStrings,y lo de loadfromfile ya lo tengo puesto,solo me queda esto.Creo que me explicado bien¿Como lo puedo hacer?Gracias

Neftali [Germán.Estévez] 27-12-2005 15:33:19

Cita:

Empezado por pepecharlie67
...He utilizado un TStrings,y lo de loadfromfile ya lo tengo puesto,solo me queda esto.Creo que me explicado bien¿Como lo puedo hacer?

Si ya lo tienes cargado en el TStrings (utilizando LoadFromFile) como has dicho sólo te queda pasarlo a los campos.

Código Delphi [-]
// suponiendo que TS sea tu TStrings...
Edit1.text:=TS.Strings[0];
    Edit2.text:=TS.Strings[1];
    RichEdit.text:=TS.Strings[2];

jachguate 27-12-2005 15:34:55

Podes acceder a los diferentes elementos del StringList utilizando un indice entero. Si has levantado el fichero en una variable llamada Lineas (por decir algo), Lineas[0] tendrá 'Jose', Lineas[1] tendrá '20' y Lineas[2] tendrá 'El chico es mayor'.

La cantidad de líneas del fichero la tenes en la propiedad Count.

Hasta luego.

;)

pepecharlie67 27-12-2005 15:52:27

Gracias,esto funciona perfecto.Muchas gracias.Un saludo

[Gunman] 28-12-2005 12:46:26

Yo te aconsejo que uses archivos .ini (puedes combinalos con archivos .txt) si hay más de una persona. Un ejemplo tipo agenda:
Archivo lista.ini:
=============
[Pepe]
Apellido='Botella'
Edad=69
Notas='./pepe_botella.txt'
[Jose]
Apellido='Ansar'
Edad=96
Notas='./jose_ansar.txt'
=============

Archivo pepe_botella.txt:
=================================
No hem volem cap, que no estigas borratxo!
=================================

Archivo jose_ansar.txt:
=================================
España va bien!
=================================

Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  Lista: TIniFile;
begin
  Lista := TIniFile.Create('.\lista.ini');
  try
    Lista.ReadSections(ListBox1.Items);
  finally
    Lista.Free;
  end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
  Lista: TIniFile;
begin
  if ListBox1.ItemIndex >= 0 then
  Lista := TIniFile.Create('.\lista.ini');
  try
    Edit1.Text := ListBox1.Items.Strings[ListBox1.ItemIndex];
    Edit2.Text := Lista.ReadString(ListBox1.Items.Strings[ListBox1.ItemIndex],'Apellido', '');
    Edit3.Text := IntToStr(Lista.ReadInteger(ListBox1.Items.Strings[ListBox1.ItemIndex],'Edad', 0));
    Memo1.Lines.LoadFromFile(Lista.ReadString(ListBox1.Items.Strings[ListBox1.ItemIndex], 'Notas', './'+Edit1.Text+'_'+Edit2.Text+'.txt'));
  finally
    Lista.Free;
  end;
end;

end.

Tu ya te lo adaptas a tu gusto...

pepecharlie67 28-12-2005 13:53:24

Gracias.Si al final lo hice con TiniFile.Porque el problema surgia a cargar un richedit,que claro al tener varias lineas,se pueden guardar 1,2,3 o mas,y claro no sabia las lineas que me introducia el usuario. Por lo que al final opte por TIniFile, para poder poner etiquetas, y guardarlos como un string.


La franja horaria es GMT +2. Ahora son las 09:36:27.

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