Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Inhalt einer .str Datei in Delphi anzeigen (https://www.delphipraxis.net/75201-inhalt-einer-str-datei-delphi-anzeigen.html)

bs80 15. Aug 2006 20:36


Inhalt einer .str Datei in Delphi anzeigen
 
hallo @ all,

gehöre zu den anfängern und habe folgendes problem:

seit stunden versuche ich, eine existierende .str datei mit inhalt irgendwie in delphi darzustellen. inhalt ist wie folgt:

42.90 110.50 -217.66 190.58 0.98 83.40
35.75 102.80 -241.46 212.15 1.17 70.37
28.60 95.10 -265.26 233.72 1.39 48.76
21.45 62.69 -194.81 195.68 1.55 44.33
14.30 30.27 -124.35 157.63 2.05 29.92

als anleitung habe ich das hier gefunden, komme damit aber nicht klar

http://delphi-kurs.de/tutorials/streams/?page=2

bitte um eure hilfe, wie solch ein code auszusehen hat.

mfg
björn

Cyberbob 15. Aug 2006 21:41

Re: Inhalt einer .str Datei in Delphi anzeigen
 
Willst du den Inhalt nur haben oder auch in einem Record verarbeiten?

Um Dateien zu öffnen kannst du AssignFile, Reset, Read und Closefile verwenden und den Inhalt in ein Memo schreiben.
Schau dir Dazeu mal die Dateiverarbeitung an.

marabu 15. Aug 2006 21:46

Re: Inhalt einer .str Datei in Delphi anzeigen
 
Hallo Björn,

herzlich willkommen in der Delphi-PRAXiS.

In deinem Fall bringt vielleicht der Rückgriff auf die guten alten Textdateien den schnellen Erfolg. Mein Beispiel liest maximal 6 Zahlen pro Zeile ein und gibt sie zeilenweise wieder aus, wobei die interne Repräsentation (Punkt als Dezimaltrennzeichen) beibehalten wird. Die wenigen Zeilen solltest du vielleicht anhand der Online Hilfe von Delphi analysieren:

Delphi-Quellcode:
program bs80;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  MAXNUM_PER_ROW = 6;

var
  da: array of Double;
  i: Integer;
  s: String;

begin
  AssignFile(input, ParamStr(1));
  Reset(input);
  AssignFile(output, ParamStr(2));
  Rewrite(output);

  SetLength(da, MAXNUM_PER_ROW);
  while not Eof do
  begin
    i := Low(da);
    // spaltenweise einlesen
    while not Eoln and (i < Length(da)) do
    begin
      Read(da[i]);
      Inc(i);
    end;
    ReadLn;
    // zeilenweise ausgeben
    while i > Low(da) do
    begin
      Dec(i);
      Str(da[i]:0:2, s);
      WriteLn(s);
    end;
  end;

  CloseFile(output);
  CloseFile(input);
end.
Der Aufruf erfolgt so:

Code:
bs80 eingabedateiname ausgabedateiname
Lässt du einen oder beide Dateinamen weg, dann kannst du statt dessen die Eingabe-Ausgabe-Umleitung verwenden.

Freundliche Grüße vom marabu

bs80 15. Aug 2006 22:15

Re: Inhalt einer .str Datei in Delphi anzeigen
 
hallo cyberbob und marabu,

vielen dank für eure schnelle hilfe. mag jetzt zwar blöd klingen, aber das beispiel mit der textdatei habe ich schon mal hinbekommen. wir müssen eine semesteraufgabe programmieren und der prof. will unbedingt, das wir einzugebene daten in einer stream datei speichern sowie auch wieder auslesen können. zum besseren verständnis poste ich hier mal die sem-aufg.:

Programm " Polsterdimensionierung "

Bei der Polsterdimensionierung mit einem gewählten Polsterstoff sind Polsterkurven durch den Hersteller des Stoffes gegeben. Wir gehen davon aus, dass der Verlauf von k (k<=10) Kurven mit unterschiedlichen Werten des Verhältnisses (h/d) in einer Textdatei („Polsterkurven.txt“), typisierten Datei („Polsterkurven.typ“) bzw. Streamdatei („Polsterkurven.str“) gespeichert wurden (Einzelheiten über die Formate sehe Programm „Polsterkurve“, Punkt 4b.). Außerdem sind bekannt:
• Masse m [kg] der zu polsternden Ware
• Abmessungen LxB [mxm] der zu polsternden Ware
• Maximale Stoßbeschleunigung G-Wert [Faktor von g]
• Fallhöhe h [m]

Schritte der Dimensionierung:
1. Es wird die Polsterkurve gesucht, deren Minimum dem vorgegebenen G-Wert entspricht (zur Vereinfachung – für den Vergleich wird 5% Toleranz angenommen). Es wird die statische Flächenlast σstat ermittelt (s. Folie 6 – Datei „Polstermittel.ppt“). Weiter mit Schritt 3.
2. Falls im Schritt 1 die Kurve nicht gefunden wurde, wird die nächste, darunterliegende genommen (s. Folie 7, rote Kurve). Als Arbeitspunkt wird der Punkt 3 betrachtet und die statische Flächenlast σstat ermittelt.
3. Weil die gewählte Kurve einem bestimmten Verhältnis (h/d) entspricht, kann die Polsterdicke und Polsterfläche berechnet werden (s. Folie 6).
4. Nun ist zu prüfen, ob die Polsterfläche kleiner als die Fläche der Ware ist. Falls JA dann Schritt 5, sonst Schritt 6
5. Es werden vier Eckenpolster berechnet (s. Folie 9 ). STOP.
6. Der Arbeitspunkt wird dadurch geändert, dass der Schritt 2 mit der nächsten, tiefer liegenden Kurve wiederholt wird. Den Ablauf sehen Sie auf der Folie 10.

Das Programm soll ermöglichen:

1. Manuelle Eingabe (Beispieldaten in Textdatei „Polsterkurven.txt“) aller notwendigen Werte, d.h. alle Parameter der k Kurven und der Masse m, Abmessungen LxB, G-Wert, Fallhöhe h der Ware.
2. Polsterdimensionierung anhand der Schritte 1-5 (s.o.)
3. Speicherung / Laden von allen Polsterkurven-Eingabewerten im gewählten Format (Format für Speicherung – freie Wahl, aber unterschiedlich bewertet) in / von einer Datei und Ergebnisse der Polsterdimensionierung in einer weiteren Textdatei.
4. Grafische Darstellung der Polsterung (s. Folie 9).
5. Vervollständigung der Polsterdimensionierung um den Schritt 6 (s.o.).

Punkt 5 ist fakultativ.

Programmumgebung:

• Die Programme sollen mittels Menü und Schaltflächen gesteuert werden. Die Steuerung über die Werkzeugleiste, Hints und Meldungen in der Statuszeile, das programmeigene Symbol u.ä. werden zusätzlich bewertet.
• Es soll dafür gesorgt werden, dass nur solche Operationen (z.B. Optionen des Menüs) angewählt werden dürfen, deren Ausführung unter Umständen möglich ist.
• Die Benutzereingaben sollen auf Plausibilität geprüft werden.

B. Aufgabenstellung

1. Entwickeln Sie ein geeignetes Konzept zur Lösung der o.g. Problemstellung (Datenstruktur, Algorithmen).
2. Realisieren Sie Ihr Konzept durch ein Delphi-Programm.
3. Dokumentieren Sie Ihr Konzept (Datenstrukturbeschreibung und besondere Algorithmen – zusätzlich zum Quelltext, Kommentare im Quelltext)
4. Testen Sie Ihr Programm.

C. Richtlinien

1. Die Aufgabe darf höchstens zu dritt bearbeitet werden.
2. Das Programm muss in den Räumen der HSB, Haus Z, vorgeführt werden. Ist das Programm nicht auf den hier verfügbaren PCs ablauffähig, so kann ein geeigneter PC mitgebracht werden. Dies ist durch einen Kommentar in der Dokumentation zu vermerken.
3. Der Programmtext soll soweit wie möglich vernünftig und selbsterklärend sein (Anwendung von bedeutungsvollen Bezeichnern und Kommentaren).
4. Die Problemstellung sollte im Normalfall unverändert bearbeitet werden. Eine Abweichung ist in der Dokumentation zu begründen.
5. Alle Bearbeiter sind für die Aufteilung und das Zusammenspielen der Komponenten verantwortlich. Die ganze Arbeit wird gemeinsam bewertet.
6. Das Programm soll bei IO-Fehlern nicht abstürzen.
7. Es dürfen fremde Units oder Programmabschnitte (z.B. Komponenten, Prozeduren, usw.) verwendet werden. In dem Falle soll das vermerkt und die Quelle angegeben werden.
8. Im Allgemeinen: alles was hier nicht bestimmt worden ist, können die Bearbeiter selbst so festlegen, dass das Programm interessant ist und einen guten Eindruck hinterlässt.

Luckie 15. Aug 2006 22:44

Re: Inhalt einer .str Datei in Delphi anzeigen
 
Zitat:

Zitat von bs80
zum besseren verständnis poste ich hier mal die sem-aufg.

Und jetzt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.

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