Tjena! Jag har läst en bok där det fanns flera exempel på det: "Hardcore Visual Basic" (eller nåt sånt). För oss VB experter som inte har en susning om C++. Vad vill du åstakomma med din länkade lista? Varför skulle det inte vara effektivt?!? Andreas: Typ en collection borde duga:Länkade listor...
Undrar om det är nån som vet hur man skapar och använder länkade listor i VB, ungefär som dom används i C++.
I C++ skapar man en länkad lista genom att t.ex. göra en struct och där en av medlemmarna i structen är en pekare till structen. Krångligt? JA! Men mycket användbart eftersom man enkelt skapar nya dynamiska object av structen som kan innehålla mycket data.
I C++ ser det ut något sånt här:
<code>
struct Node
{
int value;
Node *Next;
};
</code>
Någon som har nån aning om hur man ska gå till väga för att få ett liknande resultat i VisualBasic, eller om det finns något annat 'smart' sätt att lösa det på.
Tack på förhand!
//JonasSv: Länkade listor...
Själva principen är att alla objekt i VB automatiskt är referenser (dvs maskerade pekare). Det man gör är alltså att man i ett klassobjekt har en medlem som är en instans av samma objekttyp.
Det som i sista länken i C brukar motsvaras av 0 är i VB helt enkelt Nothing.
Liten varning dock. Det är INTE effektivt...
/Niklas JanssonSv: Länkade listor...
Sv: Länkade listor...
Har du något tips isåfall på vad som skulle vara effektivare?!Sv: Länkade listor...
Säjj till exempel att du programmerar ett spel. Du har en rymd-skepp klass som behandlar all data om dina rymdskepp (ja det flyger flera stycken på skärmen) om du då skapar en länkad lista av rymdskepp object så kan du enkelt skicka hela listan till en funktion som t.ex. ritar ut alla skeppen.
Och eftersom du skapar listan dynamiskt så har du ingen begränsning som du får om du använder en array eller t.ex. 5 object med olika namn.
Hoppas du förstår poängen.
//JonasSv: Länkade listor...
<code>
Dim Ships as Collection
Set Ships = New Collection
Ships.Add New clsShip, "ShipA"
Shipsl.Add New clsShip, "ShipB"
Shipsl.Add New clsShip, "ShipC"
Private sub RenderShips(Ships as Collection)
Dim Ship as clsShip
For each Ship In Ships
Painrpicture Ship.Picture, x, y
Next
End Sub
</code>