Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi rekord: standard wert? (https://www.delphipraxis.net/26211-rekord-standard-wert.html)

Pseudemys Nelsoni 20. Jul 2004 12:10


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:
type blubb = record
  bla1: string;
  bla2: string;
  bla3: string;
end;
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?
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?

sakura 20. Jul 2004 12:11

Re: rekord: standard wert?
 
Du, da fehlen die DELPHI-Tags bei Dir ;)

...:cat:...

axelf98 20. Jul 2004 12:12

Re: rekord: standard wert?
 
Versuchs mit einem Array und nimm noch einen weiteren Eintrag in den Record als Namenspeicher!

Pseudemys Nelsoni 20. Jul 2004 12:25

Re: rekord: standard wert?
 
Zitat:

Du, da fehlen die DELPHI-Tags bei Dir

schon bemerkt :mrgreen:


@axel, heisst das also das ich die hauptvariable nicht direkt ansprechen kann?

axelf98 20. Jul 2004 13:21

Re: rekord: standard wert?
 
Ja. DU hast der ja schon einen Namen gegeben: user: TUser;
Der Datensatz heißt jetzt "User" und nicht anders...

dizzy 20. Jul 2004 13:27

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:
type
  TData = record
    alter: integer;
    wohnort: string;
  end;

  TUser = record
    name: String;
    Data: TData;
  end;
Zugriff:
var Instanz: TUser;
...
Instanz.name := irgendwas;
Instanz.Data.alter := irgendwas;


gruss,
dizzy

shmia 20. Jul 2004 13:34

Re: rekord: standard wert?
 
Delphi-Quellcode:
type TUser = record
  alter: integer;
  wohnort: string;
end;

const
   DefaultUser:TUser = (alter:18; wohnort:'Stadelheim');

var
  user: TUser;

  user := DefaultUser; <-----
Sobald du mit TUser aber irgendwelche Operationen durchführen möchtest, würde ich empfehlen den Record
in eine Klasse zu überführen.

Pseudemys Nelsoni 20. Jul 2004 13:37

Re: rekord: standard wert?
 
danke 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz