AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Pfad in Datenklasse hinterlegen oder bei Gebrauch außerhalb erzeugen?

Pfad in Datenklasse hinterlegen oder bei Gebrauch außerhalb erzeugen?

Ein Thema von Bünni · begonnen am 19. Apr 2019 · letzter Beitrag vom 19. Apr 2019
Antwort Antwort
Bünni

Registriert seit: 4. Mär 2019
67 Beiträge
 
#1

Pfad in Datenklasse hinterlegen oder bei Gebrauch außerhalb erzeugen?

  Alt 19. Apr 2019, 12:21
Bei einem anderen Problem konnte mir schon geholfen werden. Dabei ging es um das erzeugen einer ID aus einem String heraus.
Jetzt frage ich mich aber, wo ich die Pfade mit dieser ID speichern soll.

Es gibt zwei Möglichkeiten. Den kompletten schon zusammengebauten Pfad direkt in der Klasseninstanzen in einem schon existierenden Setter oder ich erstelle eine eigene Funktion dafür, die den Pfad nur erzeugt wenn er benötigt wird. Was ist hier zu bevorzugen? Ich habe den Eindruck, dass die zweite Variante mehr Anpassungsarbeit erfordert, wenn sich etwas ändern sollte.
Zwischen 0 und 5 Pfaden müssten erzeugt werden. Stellt das ein Problem da, die dauerhaft im Speicher mitzutragen bei einer Anzahl von 0 bis 250 Klasseninstanzen?

Der Pfad ist an den Wert eines schon existierendes Properties gebunden. Ändert sich das Property, ändert sich auch der Pfad.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Pfad in Datenklasse hinterlegen oder bei Gebrauch außerhalb erzeugen?

  Alt 19. Apr 2019, 12:54
Hi Bünni

Ein Pfad ist nichts anderes als ein String. Das Neu erzeugen würde ich sein lassen - du müsstest für jede Klasseninstanz den Zielort und allfällige übergeordnete Ordner speichern - da kannst du auch gleich ein Feld für den kompletten Pfad anlegen.
Besser wäre wohl eine Ini-Datei,die eine Namen-Wert-Liste mit den benötigten Pfaden enthält (1=C:\xxx). Diese Items knnst du bei Bedarf ändern. Zur Sicherheit könntest du noch ein Item 'Pass := (Passwort)' einfügen und das auslesen nur erlauben, wennneer user dass richtige Passwort eingibt. Ansonsten bleibt die Datei gesperrt.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.462 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Pfad in Datenklasse hinterlegen oder bei Gebrauch außerhalb erzeugen?

  Alt 19. Apr 2019, 14:14
Zwischen 0 und 5 Pfaden müssten erzeugt werden. Stellt das ein Problem da, die dauerhaft im Speicher mitzutragen bei einer Anzahl von 0 bis 250 Klasseninstanzen?
Rechnen wir mal:

Bei normalen Pfadlängen (MAX_PATH = 260):

250 Instanzen * 5 Pfade * 260 Zeichen * 2 bytes = 650000 Bytes = ca. 640 KBytes (*1)

Bei erweiterten Pfadlängen mit spezieller Syntax:

250 Instanzen * 5 Pfade * 32767 Zeichen * 2 bytes = ca. 78 Megabytes (*2)

Beides sollte bei heutigen Speichergrößen kein Problem darstellen, zumal es sich ja um das Maximum handelt.

(*1: Erinnert sich noch jemand daran, dass dies der max. verfügbare Speicher unter DOS war?)
(*2: Mein erstesr NT-Rechner hatte gerade mal 32 MBytes, mein letzter OS/2-Rechner hatte 16.)
Thomas Mueller
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:01 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