![]() |
irgenwo habe ich mal gelesen das die Datei dann kleiner wird ;)
aber ich weiß nicht mehr wodurch..... |
Im Computer ist alles binär. Es ist nur eine Frage der Interpretation der Daten.
Es heißt ja nicht umsonst: Zitat:
|
und noch ein paar funktionen mehr ... :)
max speicherangabe von position x ( zeile )aus der datei an lesen sortierung ( bubble sort ) auf und abwärtz der einzelnen kategorien informationen wieviel speicher gerade verbraucht wird was mir eben beim schreiben aufgefallen ist, sollte die datei nicht komplett in den speicher geschrieben worden sein, und eine neue instanz wird angelegt, werden die nicht eingelesenen datensätze gelöscht ! ich habe ein paar bugs gefunden, solange diese nicht ausgebügelt sind, lasse ich die unit offline |
Liste der Anhänge anzeigen (Anzahl: 1)
UPDATE !!!
ich habe die ganze unit neugeschrieben. jetzt ist es möglich grosse dateien im speicher recht klein zu halte [grösse im speicher = (grösse der datei * 2) + 1 mb] ein bsp. liegt im programm mitbei. WIRD DIE 8 MB GROSSE DATEI ERZEUGT, DAUERT DIES JA NACH PROZESSOR UNTERSCHIEDLICH LANGE, EINFACH WARTEN BIS DIE DATEI ERSTELLT WURDE die unit bietet die möglichkeit, struckturierte daten einzulesen anzuzeigen zu löschen zugriff der kategorien über den namen oder index, anzeige der gelesenen datensätze und kategorien über antworten würde ich mich sehr freuen ! :) |
Erst einmal: schön, dass Du jetzt class nutzt :)
Ein paar Tipps, ich habe jetzt nicht den kompletten Source studiert ;) Definieren einen Datentyp für array of array of string;
Delphi-Quellcode:
Dadurch wird die Parameterübergabe u.U. einfachen
type
TDoubleStringArray = array of array of string; // und TStringArray = array of string; Ausserdem würde ich einen Record zu definieren. Aus
Delphi-Quellcode:
würde dann
type
TDatenNeu = class private public FDaten : array of array of string; end;
Delphi-Quellcode:
Wandle die PUBLIC Daten in Properties um, das gibt Dir mehr Kontrolle. Ausserdem ist es unüblich direkten Zugriff auf Variablen einer Klasse zu geben - zumal diese dann mit F beginnen. Aus
type
TDatenNeu = record Daten : TDoubleStringArray; end;
Delphi-Quellcode:
wird
public
FSeparator : char; FNullByte : char; FFileName : string;
Delphi-Quellcode:
Dadurch kannst Du die Änderungen in diesen Variablen auf Wunsch auch abfangen, wenn Du Prozeduren an dieser Stelle nutzt (nicht gezeigt).
private
FSeparator : char; FNullByte : char; FFileName : string; public property Separator: char read FSeparator write FSeparator; property NullByte: char read FNullByte write FNullByte; property FileName: string read FFileName write FFileName; Nutze einen destructor Destory; override;, um deine dynamischen Arrays ggf. wieder vollständig zu leeren. Dynamische Arrays mit Strings können Probleme bereiten. Nutzte try...finally...end Statements, um Dateihandles und Objekte garantiert freizugeben. Abschließend: Die Unit ist schon um weites besser als das Original. Weiter so :) ...:cat:... |
Re: Datensatz Komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, moin,
hatte vor einiger Zeit ein Menue für Dos-Batch´s zu organisieren. Da kam mir die Unit unter den Compiler und ich habe daraus ein Miniprojekt gemacht. Das findet sich nun im Anhang. Grüße // Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 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