AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Probleme mit Sequentiellen Dateien und Records
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Sequentiellen Dateien und Records

Ein Thema von bg 11 · begonnen am 9. Jun 2006 · letzter Beitrag vom 12. Jun 2006
Antwort Antwort
bg 11

Registriert seit: 8. Sep 2004
22 Beiträge
 
#1

Probleme mit Sequentiellen Dateien und Records

  Alt 9. Jun 2006, 23:15
Bevor ich mein Problem schildere eine kleine Warnung:
Ich bin nur ein winziger Schüler, für die Schule und aus Spaß mit Delphi programmiert =>
leider kein Profi....

Ich versuche gerade für die Schule ein Listenprogramm zu erstellen und save- und open-Dialog zu verwenden um die Liste zu speichern.
Meine Speicher-Prozedur sieht wie folgt aus.

Delphi-Quellcode:
procedure Sortliste.speichern(dtname:string);
var daten:lsatz; mst:textfile; f:textfile; b:string; e:tstrings;
begin

   daten.lname:=(self.aktuelles as kontakt).Name;
   daten.lemail:=(self.aktuelles as kontakt).Email;
   b:= (self.aktuelles as kontakt).Name+ (self.aktuelles as kontakt).Email;
   AssignFile(F, dtname);
   rewrite(f);
   write(f,b);
   close(f);


end;
Ich würde nun gerne einfach statt die Daten in einen String laden zu müssen, wie es hier 'b' ist, einen langen Record (hier:daten) benutzen. Allerdings nimmt write anscheinend nur Strings an!
Daher eine wahrscheinlich dumme Frage:
Wie kann ich die Daten einer Liste, die den Namen der Person und der passenden Mail-Adresse nach dem Alphabet geordnet beinhaltet, in so in einen Record packen, dass write ihn annimmt und ich diesen problemlos wieder einlesen kann???

Ich würde mich über einige rasche Antworten freuen, da ich das Programm spätestens am Montag fertig bekommen muss. Vielen Dank im Vorraus!

mfg Bengo

PS: Ich bin zwar Schüler, dies ist aber eine freiwillige zusätzliche Leistung, die ich erbringe. Außerdem habe ich das gesamte Programm fertig und schlage mich nur noch mit diesem Problem rum => keiner kann mir vorwerfen, ich wollte, dass andere meine Hausaufgaben machen! (ich arbeite etwas vor, was wir noch nicht hatten!!)
BenGo
  Mit Zitat antworten Zitat
droppi
(Gast)

n/a Beiträge
 
#2

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 9. Jun 2006, 23:20
du benutzt anscheinend file of char oder sowas. versuch es mal mit file of deinrecordname. damit kannst du records in dateien speichern.
  Mit Zitat antworten Zitat
bg 11

Registriert seit: 8. Sep 2004
22 Beiträge
 
#3

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 9. Jun 2006, 23:26
Das ist es ja! Ich benutze noch kein File of... irgendetwas, weil ich gerade das noch nicht weiß, kenne, verstehe...
Kann mir das einer erklären???
Bidde!!!
BenGo
  Mit Zitat antworten Zitat
droppi
(Gast)

n/a Beiträge
 
#4

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 9. Jun 2006, 23:36
hier ist ein gutes tutorial zu typisierten dateien. hier

du könntest zum speichern aber auch ini dateien verwenden.
hier ein tutorial.
  Mit Zitat antworten Zitat
bg 11

Registriert seit: 8. Sep 2004
22 Beiträge
 
#5

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 9. Jun 2006, 23:42
ES HAT LANGE GEDAUERT...

Aber ich glaube nun zu wissen, was ich falsch gemacht hatte!!

Danke für deine Hilfe!!
BenGo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 10. Jun 2006, 01:22
Es wäre ja nicht schlecht, wenn du dein neues Wissen mit uns teilst ... vielleicht haben ja mal andere ein ähnliches Problem
$2B or not $2B
  Mit Zitat antworten Zitat
bg 11

Registriert seit: 8. Sep 2004
22 Beiträge
 
#7

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 10. Jun 2006, 12:36
Najut!!
Ich werde mein neues Wissen, das für die meisten Delphiprogrammierer zu den einfachen Grundlagen gehören wird, hier kundtun, wenn das Programm ganz fertig ist.
Das Speichern gelingt schon, nur beim Laden entsteht noch ein nerviger Fehler:


Delphi-Quellcode:
procedure Sortliste.laden(dtname:string);
var daten:lsatz; f:file of lsatz; lkontakt:kontakt;
begin

     assignFile(f,dtname);
     reset(f);
     while (not eof) do
     begin
     read(f,daten);
     lkontakt:=kontakt.init(daten.lname,daten.lemail);
     self.sortiertEinfuegen(lkontakt);
     
     end;
end;
Sobald ich das Laden ausführe und ich per Opendialog eine Datei ausgewählt habe und diese öffne, öffnet er diese Prozedur und zeigt mit dem grünen Pfeil auf die "while (not eof) do"-Zeile.
Wie man hier erkennt versuche ich den in die Datei geschriebenen Record wieder herauszulesen, in einen Kontakt zu schieben und dann wieder in meine Liste einzureihen.
Anschließend soll in der Textdatei zum nächsten Record gesprungen werden um den Vorgang solange zu wiederholen, bis ich am Ende der Datei angekommen bin (EndOfFile).
Die Fehlermeldung lautet:
Im Programm ... ist eine Exception der Klasse EInOutError aufgetreten. Meldung: 'E/A-Fehler 6'. Prozess wurde angehalten. ....

Auch hier wäre ich für Tipps dankbar.
Wenn ich die gesamten Record und Laden / Speichern - Fehler überbrückt habe, dann werde ich sowieso für die anderen Schüler eine Dokumentation vielleicht in Form einer pps anlegen.
Die kann ich dann ins Netz stellen.

mfg
BenGo
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 10. Jun 2006, 12:43
Hallo,

beim Aufruf der Funktion Eof hast du die Dateivariable vergessen:

while (not Eof(f)) do... Außerdem solltest du nicht vergessen, die Datei auch wieder zu schließen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
bg 11

Registriert seit: 8. Sep 2004
22 Beiträge
 
#9

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 10. Jun 2006, 12:45
super!! DANKE!!

Das wird es sein!
Ich arbeite weiter daran!
BenGo
  Mit Zitat antworten Zitat
bg 11

Registriert seit: 8. Sep 2004
22 Beiträge
 
#10

Re: Probleme mit Sequentiellen Dateien und Records

  Alt 12. Jun 2006, 11:33
soooo....
Das Programm an für sich, mit dem ich anfangs Probleme hatte, ist fertig!
Es befindet sich im Anhang.
Die Dokumentation folgt noch.
Angehängte Dateien
Dateityp: exe pemailkontakte_170.exe (391,5 KB, 7x aufgerufen)
Dateityp: zip speichern_und_laden_der_liste_600.zip (7,3 KB, 8x aufgerufen)
BenGo
  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 00:04 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