-
ejbenjaro
-
-
Haladó forumozó
-
-
Hozzászólások: 66
-
Köszönetek: 4
-
-
-
-
|
Nos nem muszáj XML fájllal dolgoznod. Ha van egy szövegfájlod, amiben a korábban jelzett számok vannak vesszővel elválasztva soronként, akkor például csinálhatod azt, hogy ezt a szövegfájlt beolvasod egy StringListbe. Majd egy ciklussal végigmégy ezen a StrigListen és a sorait szépen egyessével hozzáadod a StringGrid-ed-hez az alábbi módon:
StringGrid1.Rows .CommaText:=StringList;
Így szépen belepakolja az adott sort a StringListből a StringGrid sorába. Arra figyelj, hogy ha kevesebb oszlop vagy sor van a StringGridben, mint amit a StringListből nyert adatok kívánnának, akkor gondjaid lesznek, a programod elszáll valami OutOfRange hibával.
Bár csak rávezetést kértél, azért én idemásolnák egy példát neked, ahol egy 6 oszlopos (ez volt az alapértelmezett) stringgrid van a formon és a méretét dinamikusan növeli a beleírt adatnak megfelelően.
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
fTxtFile : TStringList;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
fTxtFile:=TstringList.Create;
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
fTxtFile.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
if OpenDialog1.Execute then
begin
fTxtFile.LoadFromFile(OpenDialog1.Filename);
end;
for i:=0 to fTxtFile.Count-1 do
begin
if StringGrid1.RowCount <= i then StringGrid1.InsertColRow(False,i);
StringGrid1.Rows[i].CommaText:=fTxtFile[i];
end;
end;
end.
Ezzel a kóddal pl az alábbi szövegfájlt lehet beolvastatni aminek a neve legyen mondjuk a.txt, a tartalma meg a következő
1,2,5,7,78,45
5,89,65,34,25,77
15,2,66,55,44,33
1,2,5,7,78,45
5,89,65,34,25,77
15,2,66,55,44,33
1,2,5,7,78,45
5,89,65,34,25,77
15,2,66,55,44,33
1,2,5,7,78,45
Mottó:
"Az ember sokszor más mint aminek látszik. De ritkán jobb..."
--
Gép : Asus P5G41T-M LX, Intel Celeron DC E3400, 4GB DDR3, 320GB SATA2, minden más integrált.
OS : Ubuntu 14.04
--
web:
lassuviz.blogspot.hu/
|