AGB  ·  Datenschutz  ·  Impressum  







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

Textfiles Verständnisfrage & Frage

Ein Thema von Grayknife · begonnen am 28. Feb 2015 · letzter Beitrag vom 2. Mär 2015
Antwort Antwort
Grayknife

Registriert seit: 13. Feb 2015
Ort: Hessen
26 Beiträge
 
#1

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 17:59
@Perlsau, ja Grundlagenwissen ist immer guuuut (y)

@SMO, erstmal vielen Dank, für die ausführliche Erklärung! Tjaa, warum sich plagen.. -.-'' Da wir nichts anderes gelernt haben in der Schule Und wenn ich etwas nicht verstehe, nehme ich das, was ich verstehe siehe z.b.: http://forum.giga.de/web-entwicklung...speichern.html Und was du jetzt vorschlägst, schaut so ähnlich aus wie die letzte Möglichkeit aus dem Link. Dann schaue ich mir jetzt deinen Vorschlag genauer an unter dem Schlagwort TStringstream, ok? Und .ini-Dateien sind das nicht verschlüsselte Dateien oder sowas? . In der Schule haben wir gelernt, "Wenn du ein Programm schreiben möchtest, öffne zuerst Delphi und klicke dann auf Datei->Neu->VCL Formularanwendung". Aber wie ich jetzt rauslese, gibt es vieeel mehr Möglichkeiten mit Delphi?!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 18:17
Aber wie ich jetzt rauslese, gibt es vieeel mehr Möglichkeiten mit Delphi?!
In der Tat

Am besten du machst es mit einer Stringliste, wobei du DateiName (String) selber festlegen mußt:
Delphi-Quellcode:
Procedure TForm1.Speichern;
Var
  Liste : TStringList;
begin
  Liste := TStringList.Create;
  Try
    Liste.Append(Edit1.Text);
    Liste.SaveToFile(DateiName);
  Finally
    Liste.Free;
  End;
end;

Geändert von Perlsau ( 1. Mär 2015 um 18:21 Uhr)
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#3

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 18:28
INI-Dateien sind reine Textdateien. Ursprünglich haben Windows-Programme sie benutzt, um INItialisierungswerte und Einstellungen zu speichern. Dann hat aber Microsoft die Entwickler dazu aufgefordert, solche Einstellungen stattdessen in der Registry zu speichern. Aber auch heute gibt es noch gute Gründe, INI-Dateien zu benutzen. Sie sind einfach editierbar und portabel (d.h. sie können zusammen mit dem Programm auf andere Rechner kopiert werden und die Einstellungen sind dort also auch sofort verfügbar).

Probier den Code doch einfach mal aus. Die erstellte Datei sollte damit so aussehen:
Code:
[Variablen]
GesH=123
"Variablen" ist der Name des Abschnitts. Es kann mehrere Abschnitte in einer Datei geben, sie brauchen eindeutige Namen. "GesH" ist der Name des Schlüssels und "123" sein Wert.

Viele Wege führen nach Rom. Aber nicht alle sind gleich gut bei einer gegebenen Problemstellung.
Du solltest dir TStream und seine Nachfahren (TFileStream, TMemoryStream, TStringStream) wirklich anschauen, aber für deine Zwecke hier (eine Zahl in eine Datei speichern und wieder auslesen) könnte TIniFile (oder TMemIniFile) die komfortabelste Lösung sein. Denn damit wird das Konvertieren deines Integers in einen String und zurück automatisch übernommen. Und wenn die Datei nicht existiert oder der Wert kein Integer ist, dann wird keine Exception ausgelöst, sondern einfach der Standardwert benutzt (der letzte Parameter von TIniFile.ReadInteger).
Mit einem Stream musst du dich selbst um solche Dinge kümmern. Du könntest natürlich auch den Binärwert des Integers in eine Datei schreiben (TFileStream.WriteBuffer), aber das wäre dann keine Textdatei mehr.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 18:44
Sorry, SMO, aber wir haben's hier mit einem Schüler zu tun, der kaum das notwendigen Grundlagenwissen mitbringt, um deinen Ausführungen folgen zu können.
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#5

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 19:02
Sorry, SMO, aber wir haben's hier mit einem Schüler zu tun, der kaum das notwendigen Grundlagenwissen mitbringt, um deinen Ausführungen folgen zu können.
Man muss die Leute nicht gleich für dumm halten. Wenn Grayknife etwas nicht versteht, das ich geschrieben habe, kann er/sie einfach nochmal nachfragen.
In der Zwischenzeit darfst du erklären, wie Grayknife die GesH oder GesZ Integer aus dem ursprünglichen Programmschnipsel mit deinem Edit1.Text kombinieren kann. Aber bitte nicht überfordern!
  Mit Zitat antworten Zitat
Grayknife

Registriert seit: 13. Feb 2015
Ort: Hessen
26 Beiträge
 
#6

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 19:46
@SMO achso, es sind trotzdem Dateien die mit .txt enden, aber "anders" gelesen werden da sie über andere Funktionen aufgerufen werden, hier mit ini&so. So wie es sich anhört sollte ich TiniFile ausprobieren, das hat dann nichts mehr mit ..Stream.. zu tun?

@Perlsau, Ja vielleicht verstehe ich nicht auf Anhieb alles, aber ich versuche es zu verstehen und umzusetzen. Und wenn ich nachfrage, ist das nicht der Faulheit halber, sondern eine Verständnisfrage! Denn meißtens ist es auf den Seiten so umständlich erklärt, dass man nicht EINE Sache versteht, obwohl man sich bemüht es zu verstehen. Und wenn man anfängt zu hinterfragen, warum ich genauer nachfrage und nicht selber google, dann würde all das hier sinnlos sein, alles was uns umgibt (denke ich mir jedenfalls)
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#7

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 20:19
Richtig, TIniFile hat nichts mit TStream zu tun. Deine ursprüngliche Herangehensweise mit AssignFile, Reset, Rewrite, Readln und Writeln funktioniert so schon seit über 30 Jahren, seit dem ursprünglichen Turbo Pascal, das Delphis Vorfahre war. Die hier vorgeschlagenen Lösungen mit TIniFile, TStream und auch TStringList sind alle "moderner" und basieren auf sogenannten Klassen/Objekten. Aber hier jetzt die Details objektorientierter Programmierung zu erörtern ginge in der Tat zu weit. Wenn du die alte Herangehensweise nicht benutzen musst, dann können Klassen bequemer sein.

Ini-Dateien haben gewöhnlich die Dateiendung .ini, also z.B. "Speicher.ini", aber es sind immer Textdateien, also ist es kein Problem auch .txt zu benutzen.

Wie von mir angedeutet ist der Code von Perlsau unvollständig, würde aber prinzipiell auch funktionieren. Bei ihm fehlt das Lesen aus der Datei sowie die Typumwandlung von string nach Integer und umgekehrt.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Textfiles Verständnisfrage & Frage

  Alt 1. Mär 2015, 20:17
Man muss die Leute nicht gleich für dumm halten.
Sorry, aber ich habe niemanden für dumm gehalten. Du darfst deinen Unterstellungsversuch daher gerne wieder einstecken.

Wenn Grayknife etwas nicht versteht, das ich geschrieben habe, kann er/sie einfach nochmal nachfragen. In der Zwischenzeit darfst du erklären, wie Grayknife die GesH oder GesZ Integer aus dem ursprünglichen Programmschnipsel mit deinem Edit1.Text kombinieren kann. Aber bitte nicht überfordern!
Das war ein Beispiel. Beispiele sind keine fix&fertigen Quelltexte.

@Perlsau, Ja vielleicht verstehe ich nicht auf Anhieb alles, aber ich versuche es zu verstehen und umzusetzen. Und wenn ich nachfrage, ist das nicht der Faulheit halber, sondern eine Verständnisfrage! Denn meißtens ist es auf den Seiten so umständlich erklärt, dass man nicht EINE Sache versteht, obwohl man sich bemüht es zu verstehen. Und wenn man anfängt zu hinterfragen, warum ich genauer nachfrage und nicht selber google, dann würde all das hier sinnlos sein, alles was uns umgibt (denke ich mir jedenfalls)
Es hat doch keiner gefragt, warum du genauer nachfragst, und es hat dich auch keiner aufgefordert, selber zu googlen. Den zweiten Halbsatz mit dem "sinnlos" hab ich leider nicht einordnen können.

Okay, nicht meine Ebene, ich blende mich hier aus.
  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 10: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