AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage bezüglich arrays

Ein Thema von iLLe · begonnen am 31. Jul 2003 · letzter Beitrag vom 1. Aug 2003
Antwort Antwort
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#1

Frage bezüglich arrays

  Alt 31. Jul 2003, 18:56
Ich hab ein Delphi buch und ich verstehe da was nicht vielleicht könnt ihr mir helfen:
Code:
type TPersDat = record
     name:string[20];
     geburt:TDateTime;
     student:boolean;
     tel:Longint
end;

var personen: array of TPersDat;
    pm,             // Anzahl Datensätze
    index:Word      // aktuelle Datensatznummer(1,2,3...pm)
Datensatz an aktueller Position(index) einfügen:
Code:
procedure TPerson.dsneu;
var i:Word;
begin
  Inc(pm);
  Setlength(personen,pm);
  for i:=pm downto index+2 do Personen[i-1]:=Personen[i-2];
  inc(index)
end;
Also Ich verstehe das irgendwie null die procedure Tperson.dsneu
woher weiss ich welcher wert pm hatt oder index ??? kann mir mal vielleicht jemand die procedure erklären das vorallem die for Anweisung
kommt mir chinesisch for

bzw da noch eine prozedur wo ich nicht verstehe ich kann mich das irgendwie nicht reindenken kann mir vielleicht jemand erklären wie man das sehen muss?
Code:
procedure Tperson.dsLoesch;
var i:word;
for i:=index to pm-1 do personen[i-1]:=personen[i];
dec(pm);
setlength(personen,pm)   //dimension verkürzen
end;
zur beschreibung steht "Datensatz an aktueller Position (index) löschen. Wäre dankbar für eure hilfe.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#2

hmm,

  Alt 31. Jul 2003, 19:19
das sieht mir schwer nach globalen Variablen aus.
  Mit Zitat antworten Zitat
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#3

Re: Frage bezüglich arrays

  Alt 31. Jul 2003, 19:34
naja das hilft mir nicht weiter
  Mit Zitat antworten Zitat
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#4

Re: Frage bezüglich arrays

  Alt 31. Jul 2003, 20:49
ok die procedure löschen hab ich gerade geschnallt glaub ich hatte vergessen das wenn man 0-1 macht man wieder beim höhchsten zeichen rauskommt.
Die prozedure tut immer den höhchsten wert in den index sozusagen null reinschreiben dann den datensatzt um eins verkürzen richtig? und das macht es bis nur noch ein datensatzt übrig ist.
  Mit Zitat antworten Zitat
MSCH

Registriert seit: 8. Mai 2003
Ort: Berlin
42 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Frage bezüglich arrays

  Alt 31. Jul 2003, 20:50
Lass es mich so erklären:
erstens ist das ein dynamisches Array welches nichts weiter ist, als eine Kette von zeigern; in deinem Falle auf Records des typs x.

Wer das Delphi Buch geschrieben hat, war blutiger Anfänger . Seit wann benutzt man globale Variablen für die Index und Größenermittlung von Arrays ? Dazu gibts die Funktion High(). Sei's drum.
Die Funktion DSNEU macht nichs weiter, als
Code:
  Inc(pm);
  Setlength(personen,pm);
erhöht die globale Variable pm um 1 und anschließend auch das Array.
geht einfacher mit:
Code:
SetLength(personen, high(personen)+1);
Code:
  for i:=pm downto index+2 do Personen[i-1]:=Personen[i-2];
hier verschiebt er das gesamte Array vom Ende zum Anfang
was die var index für einen einfluß hab mag ich nicht deuten, das Oracle ist im Urlaub .
Wenn index = 0 dann krachts zumindest, weil Index out of Range

Wenn ich mir die nächste Funktion anschaue, soll index wohl die aktuelle Position sein. grübel; dann ist der Sinn der Schleife darin,
**keine Ahnung***, weil weiterhin Grütze. Nehmen wir an Index ist 0 und die Arraygröße ist 1 , dann heist die Schleife:
for 0:=1 downto 2 , oje oje.

Code:
var i:word;
for i:=index to pm-1 do personen[i-1]:=personen[i];
dec(pm);
setlength(personen,pm)   //dimension verkürzen
end;
hier löscht er einen Eintrag indem er alles ab dem Eintrag um eins nach vorn schiebt und den Letzen löscht, sprich das Array wieder verkleinert.

grez
msch
  Mit Zitat antworten Zitat
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#6

Re: Frage bezüglich arrays

  Alt 31. Jul 2003, 21:23
kennst du vielleicht ein gutes buch mit vielen praktischen beispielen was nicht 1000 seiten lang ist? Ich bin kein vollanfänger aber auch nicht gerade "fortgeschritten" also etwas ahnung habe ich ich wollte son buch mal durcharbeiten damit ich etwas mehr übung kriege naja vielleicht kannst du mir ein sehr gutes empfehlen? Am besten wäre so 500 seiten rum

und was bedeutet index out of range ?

Ich bräuchte ein buch mit ganz vielen praktischen beispiel prorgammen wo man machen muss und testen weil wen man etwas macht lernt man am besten ich zumindestens aber ich hab mir einfach mal eins gekauft naja 1200 seiten bin rgad bei 108 und manchmal sind echt komische sachen drin
  Mit Zitat antworten Zitat
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#7

Re: Frage bezüglich arrays

  Alt 1. Aug 2003, 00:39
maybe kann ja wer hier ein buch empfehlen mit viel praxisanwendung
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 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