AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ein item einer verketteten liste hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

ein item einer verketteten liste hinzufügen

Ein Thema von Pseudemys Nelsoni · begonnen am 19. Dez 2004 · letzter Beitrag vom 19. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 14:53
hoi,

ich versuche mit folgendem ein item in meine verkettete liste hinzuzufügen:

Delphi-Quellcode:
procedure TServer.ClientConnect(Sender: TObject; ASocket: TCustomWinSocket);
var
  Temp: PUserItem;
  User: PUserItem;
begin
  New(User);
  User^.Socket := ASocket;
  if FUserNode = nil then
    FUserNode := User
  else
  begin
    Temp := FUserNode;
    while (Temp^.next <> nil) do
      Temp := Temp^.next;
    Temp^.next := User;
  end;
end;

FUserNode ist der anker der liste. "User" das neue item.

nun (ich weiss nicht ob das so ist wenn bereits ein item in der liste ist oder wenn es das erste ist) bekomme ich bei meiner while schleife eine access violation...

ist an ihr irgendwas falsch? ich gehe doch nur durch bis zum letzten item und füge das neue an... bzw versuch ich das
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:02
Ist es beabsichtigt das du mit der Variablen "Temp" im Speicher von FUserNode rumänderst? Und warum nimmst du nicht einfach TList oder leitest davon ab, dann musst du das mit dem "Next" etc. nicht mehr machen, man muss das rad ja nicht jedes mal neu erfinden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:04
Zitat von SirThornberry:
Und warum nimmst du nicht einfach TList oder leitest davon ab, dann musst du das mit dem "Next" etc. nicht mehr machen, man muss das rad ja nicht jedes mal neu erfinden.
Zum was-weiß-ich-wievielten Mal: TList ist keine verkettete Liste!
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:05
Zitat:
Ist es beabsichtigt das du mit der Variablen "Temp" im Speicher von FUserNode rumänderst?
jo, das ist die variable mit der ich mich von item zu item hangel
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:29
Wie ist denn PUserItem deklariert ? Was ist FuserNode ? Und die Glaskugel sagt mir gerade, daß mit dem Temp und User irgendwas nicht stimmt, sie könne ohne Deklaration aber auch nichts damit anfangen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:35
wenn man weiss was verkettete listen sind, dann weiss man auch wie der typ PUserItem aussehen könnte

Delphi-Quellcode:
PUserItem = ^TUserItem;

TUserItem = record
  Socket: TCustomWinSocket;
  Next: PUserItem;
end;
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:46
Zitat von Pseudemys Nelsoni:
könnte
Ja, das ist schon ein Unterschied zu "kann" und "weiß es". Und wenn du dich schickst, dann kriegst du ein Beispiel einer einfach verketteten Liste.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:47



habs aber nun raus, ich musste beim erzeugen eines neues items den next zeiger auf NIL setzen, sollte das standardmässig nicht schon so sein?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 15:56
Zitat von Pseudemys Nelsoni:
...sollte das standardmässig nicht schon so sein?
Nein. Trotzdem gut, Arbeit gespart, obwohl das Ding dann immer noch seltsam aussieht..
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#10

Re: ein item einer verketteten liste hinzufügen

  Alt 19. Dez 2004, 16:04
heisst das das wenn ich einen record habe der 50 membervariablen hat ich die ALLE initialisieren muss? oder reicht ein FillChar() ?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:32 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