Delphi-PRAXiS

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)

Feuerwehrmann90 4. Mär 2008 17:45


AssignFile wie geht das genau?
 
Liste der Anhänge anzeigen (Anzahl: 1)
HAllo zusammen,

wir sollen folgendes Programm machen siehe anhang

leider weiß ich nicht wie das genau laufen soll...
da dies eine Übung für unser Ka ist die wir morgen schreiben brauch ich mal bitte eure hilfe...

und an die leute die eh immer nur dumm kommentare reinschreiben lasst es einfach


danke im vorraus

DeddyH 4. Mär 2008 17:52

Re: AssignFile wie geht das genau?
 
Was ist denn Dein Problem bei der Aufgabe? Und bist Du sicher, dass es sich um .NET handelt?

Feuerwehrmann90 4. Mär 2008 17:54

Re: AssignFile wie geht das genau?
 
mein problem ist das delphi mir gar nicht liegt es handelt sich um delphi 6

ich weiß nciht wie ich das machen sollen zum beispiel das hier :

Das Tankbuch soll in einer typisierten Datei gespeichert werden. Der 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.

wie soll ich das hin bekomme?

:wiejetzt:

ich werd noch ganz :wall:

DeddyH 4. Mär 2008 18:04

Re: AssignFile wie geht das genau?
 
Du brauchst eine Methode, die Dir eine typisierte Datei einliest und in einem StringGrid darstellt. Das ist IMHO der 1. Schritt. Eine typsierte Datei deklarierst Du so:
Delphi-Quellcode:
type TEinRecord = record //Beispielrecord
  Stringwert: shortstring;
  Integerwert: integer;
end;

...

var F: file of TEinRecord; //Eine Datei mit Beispielrecords
Deine MEthode muss also zunächst das StringGrid "leeren", dann versuchen, die angegebene Datei zu laden und mit den ausgelesenen Werten das StringGrid neu zu befüllen.

Feuerwehrmann90 4. Mär 2008 18:06

Re: AssignFile wie geht das genau?
 
:wiejetzt:

du sorry aber ich versteh nur grad zugankunft un zugabfahrt

DeddyH 4. Mär 2008 18:06

Re: AssignFile wie geht das genau?
 
Drück Dich mal genauer aus: was verstehst Du nicht?

Feuerwehrmann90 4. Mär 2008 18:09

Re: AssignFile wie geht das genau?
 
Delphi-Quellcode:
type
   TTank= record
    km:real;
    euro:real;
    liter:real;
    datum:Tdatetime;
    end;
meinst du so?

DeddyH 4. Mär 2008 18:11

Re: AssignFile wie geht das genau?
 
Der Record an sich ist in der Aufgabe doch schon vorgegeben.

Feuerwehrmann90 4. Mär 2008 18:12

Re: AssignFile wie geht das genau?
 
ja aber wie soll das geh ist mein problem ich hab echt null plan

Feuerwehrmann90 4. Mär 2008 18:14

Re: AssignFile wie geht das genau?
 
mein problem ist typerierster datentyp?...

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:

bluesbear 6. Mär 2008 19:32

Re: AssignFile wie geht das genau?
 
Zitat:

Zitat von DeddyH
Mit etwas mehr Durchhaltevermögen Deinerseits hätten wir noch mehr rausgeholt :mrgreen:

Ich bewundere *Dein Durchhaltevermögen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.

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