AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ein Array Speichern

Ein Thema von Gast · begonnen am 2. Mär 2003 · letzter Beitrag vom 2. Mär 2003
Antwort Antwort
Gast
(Gast)

n/a Beiträge
 
#1

Ein Array Speichern

  Alt 2. Mär 2003, 17:25
Hey!
Ich habe ein riesen Problem! Ich habe ein Array[1..500] und dieses möchte ich jetzt gerne in eine .dat speichern und danach wieder öffnen können! Ein Array besteht aus selbst definierten Typen!

Aus:
Titel(String),
Nummer(Integer),
...

Helft mir bitte!

Bye!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.264 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 2. Mär 2003, 17:30
Such mal hier oder auch mit Google nach typisierten Dateien.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#3
  Alt 2. Mär 2003, 17:36
Habe ich gemacht, doch ich finde dort nicht das, was ich will!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.264 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 2. Mär 2003, 17:46
http://www.google.de/search?q=delphi...-8&hl=de&meta=
Ergebnis mit den Suchbegriffen: delphi, typisierte Dateien. Wenn es das nicht ist, was du suchst, dann mußt du etwas deutlicher werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
arnoldo

Registriert seit: 8. Dez 2002
Ort: Berlin
131 Beiträge
 
Delphi 7 Personal
 
#5
  Alt 2. Mär 2003, 17:52
Hallo hds_chris,

also ich würde das ganze folgendermaßen angehen:

1. den datentyp per record definieren

Delphi-Quellcode:
type daten=record
      titel:string[20];
      nummer:integer;
     end;
     feld=array[1..500] of daten;

var
  Form1: TForm1;
  datei:file of feld;
  liste:feld;
2. Prozeduren schreiben

Delphi-Quellcode:
procedure laden;
begin
 assignfile(datei,'daten.dat');
 reset(datei);
 read(datei,liste);
 closefile(datei);
end;

procedure speichern;
begin
 assignfile(datei,'daten.dat');
 rewrite(datei);
 write(datei,liste);
 closefile(datei);
end;
So, ich hoffe ich konnte Dir helfen...
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#6
  Alt 2. Mär 2003, 19:06
Moin hsd_Chris !

Wenn ich dich richtig versanden habe sollte folgendes helfen :

Delphi-Quellcode:
Type Tzeug = record
Titel : String[30] //der String muss begrenzt sein , sonst funzt's nich
Nummer : Integer;
end;

var zeug : array[1..500 ] of Tzeug;



procedure schreiben(pfad : string );
var schreibstream : Tfilestream ;
var i : integer ;
begin
 try
  schreibstream := Filestream.Create(pfad,fmopenwrite or fmcreate);
   // öffnet oder macht eine neue datei mit namen pfad zum schreiben
  for i := 1 to 500 do
    begin
      schreibstream.writebuffer(zeug[i],sizeof(zeug[i]));
      //schreibt zeug in die Datei
    end;
 except showMessage('Hat nich geklappt');

schreibstream.free ; //schließt die datei
end;

procedure lesen(pfad : string);
var lesestream : Tfilestream ;
var i : integer ;
begin
 try
  lesestream := Filestream.Create(pfad,fmopenread);
   // öffnet oder macht eine neue datei mit namen pfad
  lesestream.position := 0; //soll von anfang an lesen
 for i := 1 to 500 do
    begin
      lesestream.readbuffer(zeug[i],sizeof(zeug[i]));
      //lies zeug aus die Datei
    end;
 except showMessage('Hat nich geklappt');

lesestream.free ; //schließt die datei
end;
Hoffe das das auch funktioniert!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.262 Beiträge
 
Delphi 2006 Professional
 
#7
  Alt 2. Mär 2003, 19:13
Moin Zusammen,

sollte auch so gehen:

Delphi-Quellcode:
type daten=record
      titel:string[20];
      nummer:integer;
     end;
     feld=array[1..500] of daten;

var
  f : feld;

// Schreiben, lesen analog
var
  fs : TFileStream;

begin
  fs := TFileStream.Create(ExtractFilePath(paramstr(0))+'Datei.dat', fmCreate or fmOpenReadWrite);
  try
    fs.Write(f,SizeOf(f));
  finally
    FreeAndNil(fs);
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf