AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Werte an Array übergeben?

Ein Thema von Pseudemys Nelsoni · begonnen am 19. Dez 2004 · letzter Beitrag vom 31. Okt 2005
 
Benutzerbild von Net7
Net7

Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
 
Delphi 7 Professional
 
#10

Re: Werte an Array übergeben?

  Alt 31. Okt 2005, 09:39
Hmm wenn man von vorne her ungefär weiß wie groß, der größte Typ sein wird den man ins array legen will mach ich mir das nicht groß umstandlich.

Nehmen wir mal an dein größter Typ ist 30 kb groß.Ich weiß es ist nicht elegant aber zur übung
reichts.
Übergabe Erfolgt Typenlos, also egal was für Typen du hast.

Wichtig bei Strings diese immer mit blabla:String[größe] begrenzen sonst gibs Datensalat.

ungetestet

Delphi-Quellcode:

const Maxsize = 30720;

type
TADummy= array[0..Maxsize] of Byte;

type TDaten = record
     Size: Longword;
     Daten: TADummy;
     end;

var

Dynarray: array of TDaten;

AnzDatensatz: integer;


// Wenn es einen neuen Pointerinhalt zu verschieben gibt dann diese Proc aufrufen
//
// Beispiel Addpointer(meinpointer^,sizeof(Deintyp);


Procedure AddPointer(var:Pointerinhalt,DatenSize:Longword);
begin

AnzDatensatz := High(Dynarray) + 1; //Wieviele Datensätze sind vorhanden

SetLength(Dynarray,AnzDatensatz + 1); //Erhöhe die Anzahl der Datensetze um eins

AnzDatensatz := High(Dynarray) + 1; //Aktuelle Anzahl der Datensätze


        with Dynarray[AnzDatensatz - 1] do //
    begin
         Size := DatenSize;
         Daten := Pointerinhalt
    end;

end;


//.... der rest bleibt dir überlassen ;)
So kann man elegant seine Dynamischen Array anlegen ohne Schleifen.

Index freigeben nicht vergessen wenn man wieder seine Daten aus Dynarray ließt.

Hoffe konnte bisschen helfen.
Marko
So`ne Atombombe kann einem den ganzen Tag verderben!
Eine eigene DLL in C++ geschrieben wird meist ein Sklave für mein Delphi/Pascal.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz