![]() |
rekord: standard wert?
hoi,
kann sein das ich gerade n blackout habe <g> aber mal eine frage... wenn ich einen rekord wie diesen habe:
Delphi-Quellcode:
so, wenn ich jetzt eine variable diesen rekords erstelle, ist es dann möglich dieser variable einen wert zuzuweisen? ich meine nicht den untergeordneten variablen sondern der hauptvariable?
type blubb = record
bla1: string; bla2: string; bla3: string; end; ich nenn ma ein beispiel wofür ich das brauche:
Delphi-Quellcode:
type TUser = record
alter: integer; wohnort: string; end; var user: TUser; ... user := <hier einen wert für den NAMEN, also string> user.alter := 18; user.wohnort := 'hamburg'; geht das? |
Re: rekord: standard wert?
Du, da fehlen die DELPHI-Tags bei Dir ;)
...:cat:... |
Re: rekord: standard wert?
Versuchs mit einem Array und nimm noch einen weiteren Eintrag in den Record als Namenspeicher!
|
Re: rekord: standard wert?
Zitat:
schon bemerkt :mrgreen: @axel, heisst das also das ich die hauptvariable nicht direkt ansprechen kann? |
Re: rekord: standard wert?
Ja. DU hast der ja schon einen Namen gegeben: user: TUser;
Der Datensatz heißt jetzt "User" und nicht anders... |
Re: rekord: standard wert?
Deine "Hauptvariable" ist doch bloß ein Zeiger auf das erste Element deines records. Du kannst ihm lediglich einen anderen record zuweisen, aber nichts anderes.
Du musst zwangsläufig ein weiteres Element für den Namen aufnehmen. Oder mache es mit einem verschachtelten record:
Delphi-Quellcode:
Zugriff:
type
TData = record alter: integer; wohnort: string; end; TUser = record name: String; Data: TData; end; var Instanz: TUser; ... Instanz.name := irgendwas; Instanz.Data.alter := irgendwas; gruss, dizzy |
Re: rekord: standard wert?
Delphi-Quellcode:
Sobald du mit TUser aber irgendwelche Operationen durchführen möchtest, würde ich empfehlen den Record
type TUser = record
alter: integer; wohnort: string; end; const DefaultUser:TUser = (alter:18; wohnort:'Stadelheim'); var user: TUser; user := DefaultUser; <----- in eine Klasse zu überführen. |
Re: rekord: standard wert?
danke 8)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 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