AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Optimierung Code / Alternative zu Stringlist? (Delphi 5)
Thema durchsuchen
Ansicht
Themen-Optionen

Optimierung Code / Alternative zu Stringlist? (Delphi 5)

Ein Thema von frieder2008 · begonnen am 15. Mär 2011 · letzter Beitrag vom 17. Mär 2011
Antwort Antwort
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: Optimierung Code / Alternative zu Stringlist? (Delphi 5)

  Alt 16. Mär 2011, 06:43
Ich denke, das ist keine Frage, ob eine DB reicht. Sie kann potentiell das, was Du brauchst.
Du "kippst" alle Daten rein und kannst anschließend nach Lust und Laune sortieren, gruppieren, zählen.
Das kannst Du auch gleich mit dem Vorschlag von Bug kombinieren, die Wörter zu nummerieren.
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Optimierung Code / Alternative zu Stringlist? (Delphi 5)

  Alt 16. Mär 2011, 07:31
Je nach Verwendung brauchst Du ein oder 2 Tabellen (Mir ist nicht genau klar, was Du brauchst)
Denkbar wäre, auch noch die Textherkunft des Wortes zu verwalten.

Code:
create table NurDieWorte (
NDW_ID number(9) [AutoSequence],     -- Primärschlüssel
NDW_Wort varchar(50)                 -- unique constraint
)

create table WortVorkommen(
WVk_Id number(9) [AutoSequence],     -- Order of Appearance, falls nötig
NDW_ID number(9)                     -- Verweis auf Wort
)
-- oder statt der beiden Tabellen oben nur diese
create table WorteUndAnzahl (
NDW_ID number(9) [AutoSequence],     -- Primärschlüssel
NDW_Wort varchar(50),                -- unique
NDW_WortAnzahl number(9)             -- Direkte Häufigkeit, wenn Reihenfolge unwichtig
)
Die Tabellen kannst Du dann entsprechend auswerten.
Gruß, Jo
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#3

AW: Optimierung Code / Alternative zu Stringlist? (Delphi 5)

  Alt 16. Mär 2011, 07:47
Hm, ich habe eben folgendes gefunden:

http://www.delphipraxis.net/45571-hash-tabellen.html

Das wäre wohl genau das, was ihr mit Hashmaps meintet (nehme ich an). Jetzt habe ich nur noch Probleme mit der Anwendung von Pointern..

Delphi-Quellcode:
var
  x: TStringDictionary;
  meinpointer: ^Integer;
begin
  x:= TStringDictionary.create;
  new(meinpointer);
  meinpointer^:= 3;

  x.Add('Wort1', meinpointer);

  meinpointer^:= 5;

  x.Add('Wort2', meinpointer);

  x.Find ('Wort1', meinpointer); --- FEHLER!
  showmessage(meinpointer); --- potFEHLER

  x.Clear;
  x.Free;
  dispose(meinpointer);
end;
Bei FEHLER kommt die Meldung, dass die "Typen der tatsächlichen und formalen Var-Parameter" nicht übereinstimmten. Was mache ich falsch?

Und bei potFEHLER weiß ich, dass ich keinen pointer direkt als String ausgeben kann; reicht da ein inttostr(meinpointer) oder wie bekomme ich das zurück?

danke und gruß,
frieder

PS: Ist eine neue Frage, kann daher auch einen neuen Thread aufmachen.. - Danke jedenfalls schon mal für Eure Infos!!
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#4

AW: Optimierung Code / Alternative zu Stringlist? (Delphi 5)

  Alt 16. Mär 2011, 16:21
Liebe Leute,

ich habe es jetzt mit der TStringDictionary von alzaimar hinbekommen: der absolute Hammer, das Teil! Geht ab, wie die Kanone! Hat sich doch wieder gelohnt, sich mit neuem zu beschäftigen

Danke Euch allen und beste Grüße,
frieder
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Optimierung Code / Alternative zu Stringlist? (Delphi 5)

  Alt 17. Mär 2011, 09:55
Tja, leider zu spät - mein Vorschlag wäre gewesen, die TStringlist mit der richtigen Größe zu erstellen, damit das Anlegen neuer Einträge nicht zu viele Speicherallokationen benötigt - also mit Capacity := <gigantische Zahl>

http://docwiki.embarcadero.com/VCL/d...rings.Capacity

http://www.festra.com/wwwboard/messages/13039.html

Zitat:
the trick is in setting the stringlist capacity large enough, so that the program doesn't have to re-adjust the capacity many thousands of times when many items are added
Michael Justin
habarisoft.com
  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 13:58 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