Avatar billede baileys Nybegynder
24. april 2003 - 21:44 Der er 4 kommentarer og
1 løsning

Liste med Records

Jeg har lavet nogle records, som jeg gerne ville have ind i en liste - ligesom f.eks. en stringliste eller objectlist..

Men kan det lade sig gøre?
Avatar billede zerohero Nybegynder
25. april 2003 - 00:53 #1
Jamen det kan da højst sandsynligt laves! Det ville selvfølig være en fordel at at vide din records struktur. Her er et eksempel, hvor det du behøver en TForm og en TListBox:

type
  TEksempel = record
    Tekst : string;
    Tal : Integer;
    KommaTal : Single;
  end;
procedure TForm1.DisplayRecordInListBox(ARecord : TEksempel);
begin
  ListBox1.Clear; //Sletter alt i din TListBox
  ListBox1.Items.Add(ARecord.Tekst); //Indsætter strengen fra din record
  ListBox1.Items.Add(IntToStr(ARecord.Tal)); //Indsætter et Integer (Tal) fra din record
  ListBox1.Items.Add(FloatToStr(ARecord.KommaTal)); //Indsætter et Single (KommaTal) fra din record
end;

Alt du skal gøre er at skrive "procedure DisplayRecordInListBox(ARecord : TEksempel);" øverst i din unit (før Implement) og indsætte koden ovenfor under Implement! Og du kan der ved vise en record af typen TEksempel ved at kalde "DisplayRecordInListBox();" et eller andet sted i dit kode eksempelvis i din FormCreate property! Husk at erklære et record og indsætte nogle værdier før du benytter dig af proceduren eks:

var
  MitEksempel : TEksempel;
procedure TForm1.FormCreate(Sender : TObject);
begin
  MitEksempel.Tekst := 'Hej';
  MitEksempel.Tal := 7;
  MitEksempel.KommaTal := 1.5;
 
  DisplayRecordInListBox(MitEksempel); //husk at typen TEksempel skal være erklæret før dette kald bliver skrevet i dit kode!
end;

Held Og Lykke
ZeroHero

God nat!
Avatar billede baileys Nybegynder
25. april 2003 - 13:14 #2
Jeg formulerede mig måske lidt uklart...
Det jeg ønsker, er en en måde hvorved jeg kan gemme en masse recods af en type... F.eks. hvis jeg har:

Type
  TMyRecord = record
    EtTal: Integer;
    EnStreng: String;
  End;

Og jeg f.eks. har en brugerliste, hvor hver bruger har et "record" indeholdende ID og Navn (EtTal og EnStreng) - og så har jeg en "container" med alle records'ne i, over alle brugerne, så hvis man f.eks. kigger på hvordan det virker for en ObjectList:

F.eks. med en form:

TForm(ObjectList.Items[SomeNumber]).Property

Findes der noget tilsvarende til records?
Avatar billede zerohero Nybegynder
25. april 2003 - 14:44 #3
Altså med andre ord det du vil er at gemme data fra en record i en fil på din harddisk for derefter at kunne hente dem igen og eventuelt vise dem i en TListBox! Eller hvad?
Avatar billede baileys Nybegynder
25. april 2003 - 16:42 #4
Nej - jeg ønsker at have en container, der kan indeholde en masse records, så jeg kan have en loiste fuld af records, som jeg kan hente frem - og det skal ikke være visuelt, som f.eks. med en listbox..
Avatar billede zerohero Nybegynder
25. april 2003 - 17:05 #5
Det du snakker om er altså en Array:

var
  MyRecord : array[0..9] of TMyRecord;
begin
  MyRecord[5].EtTal := 7;
  MyRecord[5].EnStreng := 'Hej';
end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester