Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Mal wieder Datenbanken ;-( (https://www.delphipraxis.net/164500-mal-wieder-datenbanken-%3B.html)

p80286 16. Nov 2011 11:30

AW: Mal wieder Datenbanken ;-(
 
Zitat:

Zitat von himitsu (Beitrag 1136408)
Delphi-Quellcode:
array of char
?
Oder doch einfach den
Delphi-Quellcode:
ShortString
, da eh alles weniger als 256 Zeichen haben soll, bzw. einen ShortString mit Längenangabe (maximal), also
Delphi-Quellcode:
String[123]
.

Char wäre für eine Speicherung eh das Schlimmste, denn wenn man mal das Delphi erneuert, war's das erstmal.
> AnsiChar, WideChar oder eben den ShortString, welcher immer ANSI ist/bleibt.

Nun nimm den "Char" doch nicht so wörtlich! Ich wollte auf die alte Kompatibilität von "String" und "array of Char" hinaus. Wobei der Array eben eine feste Länge hat, während der String sich da variabler verhält. Was bei der DatenSpeicherung mit festen Satzlängen eher hinderlich ist.

Je nach gewünschter Datenspeicherung muß natürlich AnsiChar oder WideChar genutzt werden.

Gruß
K-H

Perlsau 17. Nov 2011 00:54

AW: Mal wieder Datenbanken ;-(
 
Also ich hatte vor ca 4 Jahren, als ich noch nicht über ein kommerzielles Delphi verfügte, für einen Künstler-Verein eine komplette Veranstaltungsverwaltung mit Delphi 7 Personal geschrieben, und zwar auf Basis folgender Records:

Delphi-Quellcode:
TYPE
    STR002   = STRING[  2];
    STR005   = STRING[  5];
    STR010   = STRING[ 10];
    STR012   = STRING[ 12];
    STR020   = STRING[ 20];
    STR030   = STRING[ 30];
    STR040   = STRING[ 40];
    STR050   = STRING[ 50];
    STR100   = STRING[100];
    STR150   = STRING[150];
    STR200   = STRING[200];
    STR255   = STRING[255];
    ZEICHEN = ARRAY[0..255] OF CHAR;

PERSON    = RECORD
                 Anrede  : INTEGER;
                 Name    : STR030;
                 Vorname : STR020;
                 GebDat  : TDate;
                 GebOrt  : STR050;
                 PLZ     : INTEGER;
                 Ort     : STR050;
                 Strasse : STR050;
                 Land    : INTEGER;
                 Vorwahl : LONGINT;
                 TelPriv : STR020;
                 TelAtel : STR020;
                 TelHand : STR030;
                 Fax     : STR020;
                 Email   : STR050;
                 Homepage : STR100;
                 Ak      : BOOLEAN;
                 Bk      : BOOLEAN;
                 Dk      : BOOLEAN;
                 Fv      : BOOLEAN;
                 Li      : BOOLEAN;
                 Mu      : BOOLEAN;
                 Kf      : BOOLEAN;
                 Eintritt : TDate;
                 Austritt : TDate;
                 Mark    : BOOLEAN;
                 Datei   : STR255;
                 END;

    VERANSTALT = RECORD
                 Titel : STR200;
                 Beginn : TDate;
                 Ende  : TDate;
                 Art   : WORD;
                 Ort   : WORD;
                 Verni : WORD;
                 Finni : WORD;
                 Mitt  : WORD;
                 Donn  : WORD;
                 Frei  : WORD;
                 Sams  : WORD;
                 Sonn  : WORD;
                 Mark  : BOOLEAN;
                 END;

    TextZeilen = ARRAY[1..20] OF STR200;

    MEDIUM    = RECORD
                 Name  : STR050;      {Dateiname}
                 Typ   : STR010;      {Dateityp}
                 Size  : Int64;       {Dateigröße}
                 Datum : TDate;       {Dateidatum}
                 Zeit  : TTime;       {Dateiuhrzeit}
                 Text  : TextZeilen;  {Beschreibung der Datei}
                 END;

    VERTRAG   = RECORD
                 Titel    : STR100;
                 Preis    : LONGINT;
                 Jahr     : WORD;
                 Datum    : TDate;
                 Breite   : INTEGER;
                 Hoehe    : INTEGER;
                 Kuenstler : STR050;
                 Kaufer   : STR050;
                 Adress   : STR100;
                 END;
Wichtig ist hier, in Records keine reinen Strings zu verwenden, sondern ausschließlich selbstdefinierte Shortstrings mit einer festen Größe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.
Seite 3 von 3     123   

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