Hey Leute,
ich arbeite grad im Rahmen einer Hausaufgabe an einem Delphi-projekt mir record und array. Ich weiß hier darf man keine HA reinstellen aber ich hab das Programm schon fertig nur zeigt es mir immer wenn ich grad eine csv -Datei öffnen möchte und sie in eine Tabelle reinladen möchte : ‚‘ ist kein gültiger Gleitkommawert !" ??? Ich hab echt keine Ahnung wie ich das Problem beheben soll. Könnt Ihr mir vllt. helfen ?
MEIN QUELLTEXT:
unit UnitMain;
// Felix Schmidt, GYB12
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Grids;
type TBundesland = record // record für Bundesländer
BLID :string[2]; // Bundesländer - ID (max 2 Zeichen)
BLName :string[40]; // Bundesländername (max. 30 Zeichen)
BLHauptstadt :string[30]; // Bundesländerhauptstadt (max. 10 Zeichen)
BLEinwohner :real; // Bundesländereinwohner
BLFlaeche :real; // Bundesfläche
end;
type
TFormMain = class(TForm)
MainMenu1: TMainMenu;
OpenDialog: TOpenDialog;
Menu1: TMenuItem;
N1: TMenuItem;
ffnen1: TMenuItem;
StringGrid: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure ffnen1Click(Sender: TObject);
private
{ Private-Deklarationen }
datei :textfile; // Dateivariable (textfile)
Blaender :array[1…15] of TBundesland; // array für 16 Bundesländer
procedure BLaender_laden; // Procedure für das Laden der Bundesländer
procedure BLaender_ausgabe; // Procedure für das Ausgeben der Bundesländer
public
{ Public-Deklarationen }
end;
var
FormMain: TFormMain;
implementation
{$R *.DFM}
{ TFormMain }
procedure TFormMain.BLaender_ausgabe;
var i :integer;
begin
For i:=1 To 15 DO
Begin
StringGrid.Cells[1,i]:=Blaender[i].BLID;
StringGrid.Cells[2,i]:=Blaender[i].BLName;
StringGrid.Cells[3,i]:=Blaender[i].BLHauptstadt;
StringGrid.Cells[4,i]:=floattostr(Blaender[i].BLEinwohner);
StringGrid.Cells[5,i]:=floatotstr(Blaender[i].BLFlaeche);
end;
end;
procedure TFormMain.BLaender_laden;
var datenzeile :string; zeile :integer;
begin
assignfile(datei,opendialog.filename);
reset(datei);
readln(datei);
For zeile:= 1 TO 15 Do
Begin
readln(datei,datenzeile);
Blaender[zeile].BLID:=copy(datenzeile,1,pos(’;’,datenzeile)-1);
delete(datenzeile,1,pos(’;’,datenzeile));
Blaender[zeile].BLName:=copy(datenzeile,1,pos(’;’,datenzeile)-1);
delete(datenzeile,1,pos(’;’,datenzeile));
Blaender[zeile].BLHauptstadt:=copy(datenzeile,1,pos(’;’,datenzeile)-1);
delete(datenzeile,1,pos(’;’,datenzeile));
Blaender[zeile].BLID:=copy(datenzeile,1,pos(’;’,datenzeile)-1);
delete(datenzeile,1,pos(’;’,datenzeile));
Blaender[zeile].BLID:=copy(datenzeile,1,pos(’;’,datenzeile)-1);
delete(datenzeile,1,pos(’;’,datenzeile));
Blaender[zeile].BLEinwohner:=strftoloat(copy(datenzeile,1,pos(’;’,datenzeile)-1));
delete(datenzeile,1,pos(’;’,datenzeile));
Blaender[zeile].BLFlaeche:=strtofloat(copy(datenzeile,1,pos(’;’,datenzeile)-1));
delete(datenzeile,1,pos(’;’,datenzeile));
end;
closefile(datei);
end;
procedure TFormMain.FormCreate(Sender: TObject); // Tabellenbeschriftung
begin
StringGrid.Cells[0,0]:=‚Bundesland-ID‘;
StringGrid.Cells[1,0]:=‚Bundeslandname‘;
StringGrid.Cells[2,0]:=‚Bundeslandhauptstadt‘;
StringGrid.Cells[3,0]:=‚Bundeslandeinwohner‘;
StringGrid.Cells[4,0]:=‚Bundeslandfläche‘;
end;
procedure TFormMain.ffnen1Click(Sender: TObject);
begin
IF opendialog.Execute Then
Begin
BLaender_laden;
BLaender_ausgabe;
end;
end;
end.