AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Record-Datei anlegen

Ein Thema von hannah · begonnen am 22. Jun 2006 · letzter Beitrag vom 28. Jun 2006
Antwort Antwort
hannah

Registriert seit: 19. Mai 2006
1 Beiträge
 
#1

Record-Datei anlegen

  Alt 22. Jun 2006, 17:58
Hallo!

Ich muss für die Uni ein Programm schreiben, dass nach der Eingabe von Abwurfhöhe und -geschwindigkeit die Wurfweite von einem horizontalen Wurf als Zahl und und auch grafisch ausgibt. Das hab ich auch alles so weit hinbekommen, obwohl ich von sowas eigentlich null Ahnung hab. Jetzt muss ich aber noch eine Record-Datei anlegen, die die eingegebenen Werte und die Ausgabe, also sowohl die Zahl als auch die gezeichnete Funktion, speichert. Leider komm ich damit absolut nicht klar, vor allem hab ich keine Ahnung, wie ich die Funktion speichern soll. Kann mir da wer helfen?

Danke,
gruß, Hannah
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Record-Datei anlegen

  Alt 28. Jun 2006, 00:11
Hallo, um eine Record-Struktur in eine Datei zu speichern,

1. Record definieren:

Delphi-Quellcode:
type
  TKoordRec = record
    x,
    y: Double;
  end;
2. dann die Variablen deklarieren (global oder in Procedure):

Delphi-Quellcode:
var
  Koordinate: TKoordRec; // für die Zwischenspeierung der Werte
  KoordinatenDatei: File of TKoordRec; // typisierte Datei, hier werden die Werte mit Hilfe der Records gespeichert
3. Werte in Datei schreiben:

Delphi-Quellcode:
procedure MachnuwasmitdenKoordinaten;
begin
  AssignFile(KoordinatenDatei, Dateiname); // Datei zuweisen
  Reset(KoordinatenDatei); // Datei öffnen
  Seek(KoordinatenDatei, FileSize(KoordinatenDatei)); // Datensatzzeiger an das Ende der Datei bewegen
  Koordinate.x := 1;
  Koordinate.y := 2.34567;
  Write(KoordinatenDatei, Koordinate); // die aktuellen Werte speichern
  CloseFile(KoordinatenDatei); // Datei schließen
end;
4. zum Lesen aus der Datei:

Delphi-Quellcode:
procedure NuliesdieKoordinaten(welchenDatensatz: Integer);
begin
  AssignFile(KoordinatenDatei, Dateiname); // Datei zuweisen
  Reset(KoordinatenDatei); // Datei öffnen
  Seek(KoordinatenDatei, welchenDatensatz-1);// Datensatzzeiger an gewünschte Position bewegen
  Read(KoordinatenDatei, Koordinate); // die aktuellen Werte lesen
  CloseFile(KoordinatenDatei); // Datei schließen
end;
Mit Schaltflächen (<< und >>) zum "Browsen" in der Datei kann man eine simple Datenbank erstellen, die jeweils nach ButtonClick den nächsten bzw. vorherigen Datensatz aus der Datei liest und darstellt.

Als Anhang habe ich das Beispiel bereitgestellt, wie ich es in der Vorlesung gebracht habe.


Gruß
Michael
Angehängte Dateien
Dateityp: zip file_of_record_226.zip (2,9 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Record-Datei anlegen

  Alt 28. Jun 2006, 00:38
Hi!

Zwei Tipps noch zu dem bereits sehr ausführlichen Post meines Vorschreibers

Damit Delphi weiß, wo ein Datensatz in der typisierten Datei aufhört, müssen alle Elemente des Records bekannte Längen haben. Bei
Strings an sich ist dies aber nicht gegeben. Deshalb müssen Strings eine Längenangabe "mit sich tragen":

Delphi-Quellcode:
type
  TKoordRec = record
    x,
    y: Double;
    info: string[20];
  end;
Was das Öffnen zum Schreiben angeht, empfiehlt sich ein Blick unter Delphi-Referenz durchsuchenappend


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Record-Datei anlegen

  Alt 28. Jun 2006, 01:29
Zitat von fkerber:
Was das Öffnen zum Schreiben angeht, empfiehlt sich ein Blick unter Delphi-Referenz durchsuchenappend
Aber bitte nur bei Dateien vom Typ "Textfile", bei dem oben verwendeten Typ funktioniert nur "Reset" zum Schreiben in die Datei.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Record-Datei anlegen

  Alt 28. Jun 2006, 08:03
um auch noch meinen Senf dazu abzugeben,

wenn die Datei noch nicht existitert, muß sie meines Wissens mit
rewrite(datei) erstellt werden, nur ein reset zum Erstellen wird
wohl eine Fehlermeldung bringen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:18 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