AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Datensatz Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatz Komponente

Ein Thema von Snoop007 · begonnen am 13. Feb 2003 · letzter Beitrag vom 9. Jul 2009
Antwort Antwort
Seite 2 von 2     12   
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1
  Alt 13. Feb 2003, 17:23
irgenwo habe ich mal gelesen das die Datei dann kleiner wird
aber ich weiß nicht mehr wodurch.....
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 13. Feb 2003, 17:29
Im Computer ist alles binär. Es ist nur eine Frage der Interpretation der Daten.
Es heißt ja nicht umsonst:
Zitat:
Was man mit 0 und 1 so alles machen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 13. Feb 2003, 19:56
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
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 18. Feb 2003, 12:42
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 !
Angehängte Dateien
Dateityp: zip unitstruckdaten2.zip (16,5 KB, 31x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#5
  Alt 18. Feb 2003, 12:58
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:
type
  TDoubleStringArray = array of array of string;
// und
  TStringArray = array of string;
Dadurch wird die Parameterübergabe u.U. einfachen

Ausserdem würde ich einen Record zu definieren. Aus
Delphi-Quellcode:
type
  TDatenNeu = class
  private
  public
    FDaten : array of array of string;
end;
würde dann
Delphi-Quellcode:
type
  TDatenNeu = record
    Daten : TDoubleStringArray;
  end;
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
Delphi-Quellcode:
  public
    FSeparator : char;
    FNullByte : char;
    FFileName : string;
wird
Delphi-Quellcode:
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;
Dadurch kannst Du die Änderungen in diesen Variablen auf Wunsch auch abfangen, wenn Du Prozeduren an dieser Stelle nutzt (nicht gezeigt).
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

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#6

Re: Datensatz Komponente

  Alt 9. Jul 2009, 14:32
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
Angehängte Dateien
Dateityp: zip batch_selector_113.zip (253,0 KB, 15x aufgerufen)
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:46 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