Entwickler-Ecke

Dateizugriff - typisierte Datei erst in StringGrid und dann drucken.


sunday_2 - Mo 25.11.02 17:44
Titel: typisierte Datei erst in StringGrid und dann drucken.
Hi,

habe folgendes Problem. Ich möchte Daten aus einer typisierten Datei in einem StrinGrid anzeigen lassen und dann ausdrucken. Hat irgendjemand Tips/Tutorals?


Tino - Mo 25.11.02 18:03
Titel: Re: typisierte Datei erst in StringGrid und dann drucken.
sunday_2 hat folgendes geschrieben:
Hat irgendjemand Tips?

Ja! Fang am besten einfach mal an und stelle dann gezielt Fragen :-)

Gruß
TINO


sunday_2 - Di 26.11.02 10:12

Also ich habe eine typisierte Datei Namens 'Spielerdaten.kpt' in einem Formular gebe ich in dieser Datei Neue Spieler ein oder lösche welche.
Wenn ich den Button 'Alle Spieler' drücke, möchte ich in einer neuen Group-Box alle eingegebenen Spieler in einem StringGrid auflisten. Habe aber keine Ahnung wie.


Tino - Di 26.11.02 10:23

Weißt du jetzt nicht wie Du die Daten wieder aus der Datei bekommst oder wie Du die gelesenen Daten in dem StringGrid darstellst?

Gruß
TINO


sunday_2 - Di 26.11.02 10:57

Mein Versuch die Daten in das StringGrid zu bekommen sieht so aus:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
procedure TSpieldefinition.b_spielerdaten_alle_SpielerClick(
  Sender: TObject);
var i,j,p: integer;
    Buffer: array[0..BufferSize -1] of TSpielerdaten;
begin
        gb_spielerdaten2.Visible:= true;
        gb_spielerdaten.Visible:= false;
        Seek(FSpDaten,0);
        p:=0;
        while not eof(FSpDaten) do
        begin
           Read(FSpDaten,Buffer[p]);
           for i:=0 to 8 do
           for j:=1 to p+1 do
           begin
           sg_spielerdaten.Cells[i,j]:= Buffer[p].Name;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].Vorname;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].Mannschaft;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].Strasse;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].plz;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].ort;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].land;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].telefon;
           sg_spielerdaten.Cells[i,j]:= Buffer[p].alter;
           end;
           inc(p);
        end;
end;

Funktioniert nur nicht.
Was mach ich falsch?


Keldorn - Di 26.11.02 11:18

Hallo


Quelltext
1:
2:
3:
           for i:=0 to 8 do 
           for j:=1 to p+1 do 
           begin

for j:=1 to p+1 brauchst du nicht, was soll dort passieren? Du füllst die Felder ja mehrfach

du möchtest ja
sg_spielerdaten.Cells[i,DatensatzNR]...:=Buffer[Datensatznr]...

probiers mal so:

Quelltext
1:
sg_spielerdaten.Cells[i,p+1]:=Buffer[p]                    


Mfg Frank