AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Frage zur Geschwindigkeit von Prozeduren (TStringList)
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zur Geschwindigkeit von Prozeduren (TStringList)

Ein Thema von philver · begonnen am 12. Aug 2014 · letzter Beitrag vom 12. Aug 2014
Antwort Antwort
philver

Registriert seit: 12. Aug 2014
6 Beiträge
 
#1

Frage zur Geschwindigkeit von Prozeduren (TStringList)

  Alt 12. Aug 2014, 10:10
Hallo zusammen,

ich arbeite momentan an einer Delphi-Anwendung, die aufgrund von Einstellungen, die der Benutzer in der Applikation trifft, eine TXT-Datei ausgeben soll. Die Struktur dieser TXT-Dateien ist vergleichbar mit der von INI-Dateien unter Windows (Sektion,Schlüssel,Wert).

Nach ersten Überlegungen ergaben sich für mich 2 Varianten, wie ich das lösen könnte:
  1. Die Applikation erstellt die TXT-Datei jedes Mal aufs Neue (TStringList) und verändert die Einstellungen des Benutzers im Speicher
  2. Die Applikation lädt beim Start ein Template der TXT-Datei mit Platzhaltern in eine StringList und ersetzt die Platzhalter dann durch die Einstellungen der Benutzer

Nun stellt sich mir die Frage, welche von beiden Varianten die schnellere ist. Bei Variante 1 wird die Datei ja nur am Ende der Ausführung geschrieben. Bei Variante 2 wird erst das Template gelesen, abgeändert und dann geschrieben. Im Normalfall würde ich ja Variante 1 als schnellere vermuten, nur mag ich den Gedanken nicht, dass jede Zeile der TXT-Datei fest im Code verankert ist und bei Änderungen des Inhalts der TXT-Datei dann im Code geschraubt werden muss.

Ich hoffe ich konnte mich einigermaßen klar ausdrücken und ihr versteht meine Frage und könnt mir weiterhelfen
  Mit Zitat antworten Zitat
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Frage zur Geschwindigkeit von Prozeduren (TStringList)

  Alt 12. Aug 2014, 11:01
Hallo,
Die Struktur dieser TXT-Dateien ist vergleichbar mit der von INI-Dateien unter Windows (Sektion,Schlüssel,Wert).
Was unterschiedet diese TXT-Datei dann von einer ini-Datei? Oder ist der Aufbau identisch?

Für eine überschaubare Anzahl von Einstellungen bietet sich eine ini-Datei sehr gut an. Wieso willst du da entwas "eigenes" machen und mit Stringlisten arbeiten?

Die prinzipielle Vorgehensweise mit ini-Dateien ist wiefolgt:

Beim Start des Programms werden die Einstellungen aus der ini-Datei geladen und für den Benutzer sichtbar (Checkboxen werden gesetzt, bei Comboboxen wird das entsprechenende Element ausgewählt, usw.).
Nun kann der Benutzer im laufe des Betriebs diese Einstellungen ändern. Beim schließen des Programms werden nun alle Einstellungen wieder in die ini-Datei gespeichert und fertig.

Sollte eine einfache ini-Datei nicht das richtige für dein Problem sein, dann hab ich dich falsch verstanden. Aber so ist die Vorgehesenweise beim Speichern weniger Programmeinstellungen.

Soll das Programm z.B. zum Erstellen verschiedener Textdateien dienen, welche nur die Struktur eine ini-Datei haben, dann solltest du diese Struktur im Programmcode erzeugen und ganz am Ende in eine Textdatei speichern. Hier könnte man dann mit Stringlisten arbeiten. Es ergibt aber für mich keinen Sinn, diese Struktur schon in einer TXT-Datei zu haben und zu laden.

Grüße
Headbucket
  Mit Zitat antworten Zitat
philver

Registriert seit: 12. Aug 2014
6 Beiträge
 
#3

AW: Frage zur Geschwindigkeit von Prozeduren (TStringList)

  Alt 12. Aug 2014, 11:46
Vielen Dank für deine schnelle Antwort! Es ist eine INI-Datei die letzten Endes umbenannt (eigenes Dateiformat) und verschlüsselt wird. Diese fertige Datei wird dann von einer anderen Applikation beim Start gelesen und zur Steuerung der Funktionen benutzt. Vielleicht hätte ich nur ein wenig länger drüber nachdenken und selbst drauf kommen sollen Danke!

MOTD: Never type faster than you think.
  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:40 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