Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism AssignFile wie geht das genau? (https://www.delphipraxis.net/109623-assignfile-wie-geht-das-genau.html)

DeddyH 4. Mär 2008 18:16

Re: AssignFile wie geht das genau?
 
Du meinst eine Struktur (in Delphi Record)? Das ist quasi ein Verbund unterschiedlicher Daten, die zusammengehören (z.B. Name, Vorname, Geburtsdatum als Verbund "Person").

Feuerwehrmann90 4. Mär 2008 18:19

Re: AssignFile wie geht das genau?
 
also habe ich jetzt den den typeristen daten typ gemacht?

war jo gar net so schwer^^

wie kann ich das jetzt machen?

er Name der Datei soll sich aus dem Monats- und dem Jahresnamen zusammensetzen. In unserem Beispiel würde also die Datei C:\TEMP\FEBRUAR2002.DAT die Daten des Februars 2002 enthalten. Ändert der Benutzer die Datumsangabe, soll ihm augenblicklich das Tankbuch für den ausgewählten Monat in dem StringGrid angezeigt werden (Hinweis: OnChange-Ereignis für die beiden ComboBoxen nutzen). Fall die Datei nicht existiert, ist dem Benutzer ein leeres StringGrid anzuzeigen.

DeddyH 4. Mär 2008 18:22

Re: AssignFile wie geht das genau?
 
Das hab ich doch schon in #4 geschrieben. Schreib Dir mal eine Methode, die eine typisierte Datei einliest und im StringGrid darstellt.

Feuerwehrmann90 4. Mär 2008 18:35

Re: AssignFile wie geht das genau?
 
ei das kann ich doch net =(

bitte kein fachbegriffe wie methode was is das in delphi?
:?:

DeddyH 4. Mär 2008 18:35

Re: AssignFile wie geht das genau?
 
Schreib einfach eine Prozedur ;)

Feuerwehrmann90 4. Mär 2008 18:37

Re: AssignFile wie geht das genau?
 
also ich hab jetzt speicher gemacht sie code

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zeile,zeile1,zeile2,zeile3,zeile4:string;
datei:textfile;
i:integer;
begin
try

AssignFile(datei,'D:\monat.txt');
 Rewrite(datei);

        for i:=1 to 51 do
                begin
                zeile:=SG1.Cells[0,i];
                Zeile1:=SG1.Cells[1,i];
                Zeile2:=SG1.Cells[2,i];
                Zeile3:=SG1.Cells[3,i];
                Zeile4:=SG1.Cells[4,i];
                WriteLN(datei,zeile1,zeile2,zeile3,zeile4);
                end;
        closeFile(datei);
except;
  ShowMessage('FEhler beim speichern');
end;
end;

DeddyH 4. Mär 2008 18:44

Re: AssignFile wie geht das genau?
 
Schon ganz gut, aber Du hast den Record vergessen.
Delphi-Quellcode:
type TTankDS = record //Das ist die Datenstruktur
  datum: TDateTime;
  km: integer;
  liter: real;
  preis: real;
end;

...

procedure TForm1.Button1Click(Sender: TObject);
var Tank: TTankDS;
    datei: file of TTankDS; //das ist die typisierte Datei
    i:integer;
begin
  AssignFile(datei,'D:\monat.txt');

  try

    Rewrite(datei);

        for i:=1 to (StringGrid.RowCount - StringGrid.FixedRows) do
              begin
                //die Struktur mit den Daten aus dem StringGrid füllen (vorher ggf. konvertieren)
                Tank.Datum:=StrToDateTime(SG1.Cells[0,i]);
                Tank.km:=StrToInt(SG1.Cells[1,i]);
                Tank.liter:=StrToFloat(SG1.Cells[2,i]);
                Tank.preis:=StrToFloat(SG1.Cells[3,i]);
                Write(datei,Tank); //Struktur in Datei schreiben
              end;
        closeFile(datei);
  except;
    ShowMessage('FEhler beim speichern');
  end;
end;

DeddyH 4. Mär 2008 19:07

Re: AssignFile wie geht das genau?
 
So, ich hab' s dann mal kommentiert :mrgreen:

Feuerwehrmann90 6. Mär 2008 17:47

Re: AssignFile wie geht das genau?
 
oky danke aber habs ion da arbeit hab hinbekomme ein 6 is es net =)

DeddyH 6. Mär 2008 18:00

Re: AssignFile wie geht das genau?
 
Mit etwas mehr Durchhaltevermögen Deinerseits hätten wir noch mehr rausgeholt :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz