AGB  ·  Datenschutz  ·  Impressum  







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

Sehr dynamische Speicherverwaltung

Ein Thema von TRBB · begonnen am 30. Apr 2009 · letzter Beitrag vom 7. Mai 2009
 
TRBB

Registriert seit: 31. Okt 2007
18 Beiträge
 
Delphi 7 Professional
 
#1

Sehr dynamische Speicherverwaltung

  Alt 30. Apr 2009, 11:06
Guten Tag,
ich möchte einen sehr effizienten Vokabelübersetzer programmieren und muss dazu eine SEHR große Textdatei (mit den Vokabeln einlesen).


Dies geschieht zurzeit mit einem FileStream
Delphi-Quellcode:
setLength(fBuffer^, fLen); // fBuffer ist ein zeiger auf einen ^AnsiString
fStream.ReadBuffer(PChar(fBuffer^)^, fLen);
Nun werden die Vokabeln herausgelesen (diese sind durch ' :: ' getrennt).
Ich lese nun die einzelnen zeichen aus um die Trennfelder zu bekommen und zwar über fBuffer^[i].

Habe ich eine Vokabel gefunden (ich speichere sie im Beispiel mal als einzelne Chars) muss ich sie aus dem String fBuffer herauskopieren und in einer neuen Stelle im Speicher ablegen.


--Nun die Frage--
Gibt es eine Möglichkeit, dass ich direkt den von fBuffer belegten Speicher weiterverwende und nur manche Stellen wieder frei geben?
zum Beispiel folgendermaßen:
Delphi-Quellcode:
fChar := @fBuffer^[1];
fVokabChar := @fBuffer^[2];
fVokabChar2 := @fBuffer^[3];
// jetzt alles andere (hier nur char 1) löschen und nur fVokabchar behalten:
dispose(fChar);
//und dann den nächsten buffer holen (und wieder selbiges vorgehen)
new(fBuffer);
// fVokabChar und fVokabChar2 sollen weiter verwendbar sein
showMessage(fVokabChar^);

Ich hoffe es ist einigermaßen klar geworden was ich vor habe.

Mfg
TRBB
  Mit Zitat antworten Zitat
 


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:44 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