![]() |
Beratung und Hilfe Array Speichern
Hallo,
ich benötige einmal mehr eure Beratung und Hilfe. Ich habe einige Daten und möchte ie gerne speichern. Soweit so gut. Es handelt sich ausschließlich um Zahlenwerte (int und double). Es ist aber ein Mischmasch aus einzelnen Variablen und eindmensionalen Arrays. Diese wüde ich nun gerne speichern. Mein Anspruch ist aber, dass ich die Daten in einem externen Programm auch bearbeiten kann. Hier im Forum wird dafür eine csv vorgeschlagen. Nicht so wichtig ist mir die Darstellungsform. Soll heißen, dass es nicht sofort ersichtlich sein muss, welche Zahl für was steht. Könnt ihr mir Tipps geben, wo ich etwas darüber lesen kann? Oder mir vielleicht auch Codebrocken zur Verfügung stellen? Vielen Dank |
AW: Beratung und Hilfe Array Speichern
Zum externen Bearbeiten wirst Du um eine Speicherung in Textform wohl nicht herumkommen. Geeignete Formate könnten z.B. XML, JSON oder ggf. sogar IniFiles sein. Da es sich nach meiner Lesart anscheinend um irgendwie verschachtelte Daten handeln könnte, halte ich CSV hier für nicht so optimal, aber da kann ich auch irren.
|
AW: Beratung und Hilfe Array Speichern
Wie wäre es damit die Daten einfach in eine Datei auf die Platte zu schreiben?
Mavarik |
AW: Beratung und Hilfe Array Speichern
Zitat:
Zitat:
|
AW: Beratung und Hilfe Array Speichern
Guten Morgen,
du solltestt schon wissen, welche Programme die Datei lesen können sollen. Das grenzt das Abspeicherformat in der Regel stark ein. Grüße Klaus |
AW: Beratung und Hilfe Array Speichern
Wenn Du es nicht aufwändig machen magst, nimm eine TStringList, schreibe die Werte mit Add(Zahl) und die Arrays mit Add(Zahl, Zahl, Zahl) dann SaveToFile und du hast schnell eine einfache Textdatei zum bearbeiten.
|
AW: Beratung und Hilfe Array Speichern
Zitat:
Zitat:
|
AW: Beratung und Hilfe Array Speichern
so in der Art meinte ich:
Delphi-Quellcode:
s := '';
for i := 0 to x do begin if i > 0 then s := s + ','; s := s + IntToStr(Array[i]); end; aStringList.Add(s); |
AW: Beratung und Hilfe Array Speichern
Wow. Vielen Dank. Das sieht vielversprechend aus. Werde es gleich mal probieren.
|
AW: Beratung und Hilfe Array Speichern
Es kommt immer auf die Interpretation der Daten an.
Beispiel: Ein Texteditor zeigt für eine Datei folgendes an
Code:
Preisfrage: Welche Zahl ist dort in der Datei gespeichert?
42
Antwort: 3276852 (Integer) Warum nicht 42? Die Datei beinhaltet folgende Bytes
Code:
Mit einem Texteditor werden diese Bytes interpretiert als Text (UTF-8 ohne BOM) und dadurch als 42 angezeigt.
00 34 00 32
Mein Programm hat aber den Integer-Wert 3276852 dort gespeichert.
Delphi-Quellcode:
Entweder die Struktur der Datei ist dem Programm komplett bekannt, oder es müssen halt Strukturinformationen mit in die Datei (so wie bei XML, JSON, etc.). Dann muss das Programm nur noch wissen, um welches Format es sich handelt und kann die restlichen Strukturinformationen dort herauslesen.
program WriteData;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Classes; var Stream : TStream; Data : Integer; begin try Data := 3276852; Stream := TFileStream.Create( 'test.dat', fmCreate ); try Stream.WriteData( Data ); finally Stream.Free; end; except on E : Exception do Writeln( E.ClassName, ': ', E.Message ); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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 by Thomas Breitkreuz