unit Datei;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
Buttons, Grids, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
schliess_knopf: TButton;
einlesen_knopf: TButton;
s_standortname: TComboBox;
Label1: TLabel;
oeffnen_knopf: TButton;
ende_knopf: TBitBtn;
fuss: TStatusBar;
OpenDialog: TOpenDialog;
etabelle: TStringGrid;
procedure beenden(Sender: TObject);
procedure einlesen(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure schliessen(Sender: TObject);
end;
var Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
var anzahl: integer;
datei_name: string;
datei: textfile;
procedure TForm1.FormShow(Sender: TObject);
begin
datei_name:='d:\temp\windenergie01.csv';
with etabelle do
begin
Cells[1,0]:='Standort';
Cells[2,0]:='Windrad';
Cells[3,0]:='Nennleistung';
Cells[4,0]:='Datum';
Cells[5,0]:='Energiemenge';
end;
//
end;
procedure TForm1.schliessen(Sender: TObject);
begin
//
end;
procedure TForm1.beenden(Sender: TObject);
begin
close;
end;
procedure TForm1.einlesen(Sender: TObject);
var i,posi: integer;
maxi,wert: double;
buffer,eintrag,s1,s2,s3,s4,s5: string;
ok: boolean;
begin
with opendialog do
begin
title:='Windenergie einlesen';
filename:=datei_name;
initialdir:=extractfilepath(datei_name);
filter:='Windenergieergebnisse (*.csv)|*.csv|alle Dateien (*.*)|*.*';
end;
if opendialog.execute then
begin
datei_name:=opendialog.filename;
assignfile(datei,datei_name);
{$I-}
reset(datei);
readln(datei);
i:=0;
while not(eof(datei)) do
begin
inc(i);
readln(datei,eintrag);
//Suedkueste,ElCedro2,3.4MW,01.02.2017,4092kWh
posi:=pos(',',eintrag);
s1:=copy(eintrag,1,posi-1);
delete(eintrag,1,posi);
//ElCedro2,3.4MW,01.02.2017,4092kWh
posi:=pos(',',eintrag);
s2:=copy(eintrag,1,posi-1);
delete(eintrag,1,posi);
//3.4MW,01.02.2017,4092kWh
posi:=pos(',',eintrag);
s3:=copy(eintrag,1,posi-1);
delete(eintrag,1,posi);
//01.02.2017,4092kWh
posi:=pos(',',eintrag);
s4:=copy(eintrag,1,posi-1);
delete(eintrag,1,posi);
//4092kWh
s5:=eintrag;
//
with etabelle do
begin
if i>=rowcount then rowcount:=rowcount+1;
cells[1,i]:=s1;
cells[2,i]:=s2;
cells[3,i]:=s3;
cells[4,i]:=s4;
cells[5,i]:=s5;
end;
//standortname in combobox schreiben
d1:=s1;
s_standortname.Items.Add(etabelle.Cells[1,i]);
//--
//
end;
closefile(datei);
{$I+}
ok:=(ioresult=0);
//--
//--
end;
end; //einlesen
end.