Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#21

Re: Textdatei in StringGrid anzeigen?

  Alt 15. Nov 2007, 13:52
Tja, und wo ist die Prozedur Explode geblieben?
Delphi-Quellcode:
unit UnStringGrid;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, StrUtils, Printers, ClipBrd, Grids;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    OpenDialog1: TOpenDialog;
    PrinterSetupDialog1: TPrinterSetupDialog;
    MainMenu1: TMainMenu;
    datei: TMenuItem;
    drucken: TMenuItem;
    ffnen1: TMenuItem;
    Druckereinstellungen1: TMenuItem;
    Drucken1: TMenuItem;
    PrintDialog1: TPrintDialog;
    AlleFelderlschen1: TMenuItem;
    StringGrid1: TStringGrid;
    Beenden1: TMenuItem;
    procedure ffnen1Click(Sender: TObject);
    procedure Druckereinstellungen1Click(Sender: TObject);
    procedure Drucken1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Beenden1Click(Sender: TObject);
    //Hier
  private
    { Private-Deklarationen }

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

procedure Explode(const s, delimiter: String; items: TStrings);

implementation


{$R *.dfm}

procedure Explode(const s, delimiter: String; items: TStrings);
begin
  items.CommaText := StringReplace(AnsiQuotedStr(s, '"'), delimiter, '","', [rfReplaceAll]);
end;

procedure FillGrid(sg: TStringGrid; lines: TStrings; delim: Char);
var
  i: Integer;
begin
  for i := 0 to Pred(lines.Count) do
    Explode(lines[i], delim, sg.Rows[sg.FixedRows + i]);
end;


procedure TForm1.ffnen1Click(Sender: TObject);
var
  sl: TStringList;
begin
  if OpenDialog1.Execute then
  begin
    sl := TStringList.Create;
    try
      sl.LoadFromFile(OpenDialog1.FileName);
      FillGrid(StringGrid1, sl, ';');
    finally
      sl.Free;
    end;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat