![]() |
allg. Fragen zu Records
Hi!
Ich habe angefangen, mich mit DLLs und Records zu befassen. Jetzt habe ich einige Fragen zu den Records. zum beispiel: (Wie) kann ich einzelne Records direkt ansprechen? Sind Records alphabetisch geordert? Wenn nein, geht das? oder Wie kann ich mir ein Record bildlich vorstellen? zum Beispiel wie eine ini-Datei?
Delphi-Quellcode:
[Record1]
Name=xxx Adresse=xxx Wäre euch für die Beantwortung dieser Fragen dankbar. Habe sie extra in einen Thread geschrieben, da es sich um allg. Fragen, so eine art FAQ handelt. evtl könnt ihr ja auch noch ein paar nachfragen ergänzen. danke im Vorraus |
Re: allg. Fragen zu Records
Nein, die sind nicht automatisch sortiert.
Die Reinfolge ist die, die auch bei der Recorddefinition verwendet wird. Der Daten, die im Record gespeichert erden, stehen einfach in einer Reihe im Speicher. Die Namen von Variable werden ja in Delphi nicht gespeichert.
Code:
Vom String (AnsiString) steht nur der Zeiger auf den String im Record.
Test: packed Record Test: Record
C: Byte; C: Byte; B: Word; B: Word; A: String; A: String; D: Byte; D: Byte; End; End; Byte's Was Byte's Was 1. C 1. C 2.-3. B 2.-3. frei 4.-7. A 4.-5. B 8. D 6.-7. frei 8.-11. A 12. D 13.-16. frei Der String selber steht dann an der im Zeiger angegebenen Position. (4 Byte Referenzzähler + 4 Byte Stringlänge + x Byte Stringdaten) |
Re: allg. Fragen zu Records
Hallo DJ-SPM,
der Datentyp Record stellt eine Möglichkeit dar, um eine logische Gruppe von unterschiedlichen Typen unter dem selben Namen zu sammeln. Dabei sieht die allgemeine Syntax so aus:
Delphi-Quellcode:
Man kann dabei soviele Felder verwenden, wie man möchte.
<record name> = Record
<Name{Feldname}> : <VariablenTyp>; {zum Beispiel Integer, String, etc.} <Name{Feldname}> : <VariablenTyp>; end; Nun mal ein Beispiel:
Delphi-Quellcode:
Folgenderweise kann man auf die Felder des record zugreifen.
type
TMeinRecord = Record Nummer: Word; Name, Vorname, Adresse:String; end; var Daten:TMeinRecord;
Delphi-Quellcode:
oder so
begin
Daten.Nummer:=...; Daten.Name:=...; ... end;
Delphi-Quellcode:
Hoffe das ich dir ein wenig helfen konnte.
begin
with daten do begin Nummer:=...; Name:=...; ... end; Tschüß Markus |
Re: allg. Fragen zu Records
Joa, danke, damit konntet ihr mir schon ein bissl helfen.
Nur mal ein wenig expliziter, wenn ich mehrere Records habe, zum Beispiel [Film1] ... [Film2] ... [Film3] ... Wie kann ich die Filme einzeln ansprechen. Und woher weiß ich, was in den []-Klammern steht? Also, "Film" ist jetzt nur so gewählt, da ich ein Beispiel einbringen wollte. Wie kann ich z.B Film3 anzeigen, ohne, dass ich, wie in den meinsten Delphi-Büchern beschrieben, vor und zurück buttons einsetze? Danke für eure bisherigen und evtl. noch folgenden Antworten |
Re: allg. Fragen zu Records
Guck mal nach Verketteten listen...
achja und wenn du eine extravariable innerhalb des records für den filmname machst kannst du sie ja einfach abfragen um welchen film es sich handelt. |
Re: allg. Fragen zu Records
Hm danke,
kannst du mir das bitte mal an einem Beispeil erläutern? Raff das irgendwie net. Wäre cool THX |
Re: allg. Fragen zu Records
mach ich gleich, ich geh nur kurz für 40min weg, bis gleich
|
Re: allg. Fragen zu Records
ok, danke!
|
Re: allg. Fragen zu Records
![]() Hier gibt es eine Unit TTypedFiles die das alles in einer Klasse kapselt. Kannst dir ja mal den Source ankucken. Ach so die Daten findest du wieder, da alle Rocords gleich groß sind, man muss also nur Zählen. ;) |
Re: allg. Fragen zu Records
Wenn du 3 records hast also
Code:
Dann machste zum Beispiel on Button click das:
Type Film1 = record
irgendwas:string; irgendwas2:integer; irgendwas3:Boolean; end; Type Film2 = record irgendwas4:string; irgendwas5:integer; irgendwas6:Boolean; end; Type Film3 = record irgendwas7:string; irgendwas8:integer; irgendwas9:Boolean; end;
Code:
Und so weiter. Meinste das?
procedure TForm1.Button1Click(Sender: TObject);
var Test:Film1 Test2:Film2; Test3:Film3; begin with Test do begin irgendwas:=''; irgendwas2:=4; irgendwas3:=True; end; with Test2 do begin . . . end; |
Re: allg. Fragen zu Records
Hi,
ja danke an euch alle! Genau sowas meinte ich. Finde ich prima, wie die DP funzt. Ich werde mich gleich mal ransetzen! Bye DJ-SPM |
Re: allg. Fragen zu Records
ah dann brauch ichs ja nichtmehr machen, kann auch seinn das ich was verwexelt hab, sorry hab noch Bad Boys 2 geguckt :mrgreen:
|
Re: allg. Fragen zu Records
eieiei,
der läuft aber nicht mehr im Kino ;-) :zwinker: |
Re: allg. Fragen zu Records
DVD :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 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