Avatar billede farnsworth Praktikant
06. marts 2002 - 17:26 Der er 3 kommentarer og
1 løsning

Hjælp til acces af array!

Jeg er igang med at lave en opgave på min skole og SKAL lave et lille bank system. men jeg har et problem med at hente dataen ud af det array som jeg lægger dem i.
her noget af min kode jeg får en acces violation error på den linie med '*' ud for.
  private
    { Private declarations }
    Konti : array of TKonto;
    AntalKonti : Integer;
    AktuelKonto : Integer;
.
.
var
  kontonummer : String;
begin
  inc(AntalKonti);
  SetLength(konti,Antalkonti+1);
  kontonummer:=inttostr(2600+10*antalkonti+random(10));
  Konti[AntalKonti] := TKonto.create(edtNavn.text, kontonummer,
      cbKontoType.text, edtKredit.text, '0');
  edtNavn.SetFocus;
  edtKontonrAdmin.text:=konti[AntalKonti].Kontonr;
end;

procedure TForm1.btnFindAdminClick(Sender: TObject);
var
  i :Integer;
  ok : boolean;
begin
  ok:=false;
  for i:= 0 to AntalKonti do;
  begin
*  if konti[i].KontoNr=edtKontoNrAdmin.text then
    begin
      aktuelkonto:=i;
      ok:= true;
    end;
  end;
  if ok then
  begin
    edtnavn.text:=konti[aktuelkonto].navn;
    edtKredit.text:=konti[aktuelkonto].KreditMaximum;
    cbkontotype.text:=konti[aktuelkonto].KontoType;
  end
  else
    showmessage('Konto findes ikke!');
end;

Farnsworth
Avatar billede morten_s Nybegynder
06. marts 2002 - 17:30 #1
Hvordan ser din array ud, eksistere element nr 0 ?

du acceser givetvis et element i arrayen som ikke eksistere

prøv med

for i:= 0 to AntalKonti-1 do

eller

for i:= 1 to AntalKonti do;
Avatar billede cms Nybegynder
06. marts 2002 - 17:31 #2
idet du skriver semikolon efter do initialiseres variablen i ikke. Fjern semikolonet og gør som morten_s
Avatar billede farnsworth Praktikant
06. marts 2002 - 17:34 #3
her har du min Class som bruges i array'et

Type
  TKonto = Class
    Navn, Kontonr, KontoType, KreditMaximum, Saldo :String;
    Constructor create(NyNavn, NyKontonr, NyKontoType, NyKreditMaximum, NySaldo :String);
  end;
implementation

  Constructor TKonto.create (NyNavn, NyKontonr, NyKontoType, NyKreditMaximum, NySaldo :String);
    begin
      Navn:=NyNavn;
      Kontonr:=NyKontonr;
      KontoType:=NyKontoType;
      KreditMaximum:=NyKreditMaximum;
      Saldo:=NySaldo;
    end;
end.

Farnsworth
Avatar billede farnsworth Praktikant
06. marts 2002 - 17:37 #4
Jeg fik prøved det og jeg har åben bart både være blind og dum tak skal du ha'

Farnsworth
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