Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm ähnlich Duden (https://www.delphipraxis.net/66020-programm-aehnlich-duden.html)

kabuco 23. Mär 2006 15:36


Programm ähnlich Duden
 
Hallo,

hatte vor ein paar Monaten mal ein Programm geschriebn, das eine Datenbank voller Deutscher Wörter hatte, die auch eine Übersetzung in englische hatten. Das Problem war allerdings, das ich die Wörter in einzelnen Dateien gespeichert hatte, und das wurden viele. Jetzt bin ich ein bisschen weiter in DELPHI und habe jetzt eine Frage. Ich wollte die Wörter und deren Übersetzung in eine einzelne TXT dateischreiben und dann auslesen. Nun meine Frage:

Ist diese Lösung performance mäßig geschikt oder gibt es Bessere Lösungen?

Mit XML habe ich mich schon abgefunden, weil das einfach zu große Dateien Gibt. Die kleinste Variante war bisher die Mit der TXT Datei!

Gruß

kabuco

mkinzler 23. Mär 2006 15:58

Re: Programm ähnlich Duden
 
Du könntest auch eine Datenbank verwenden.

kabuco 23. Mär 2006 16:05

Re: Programm ähnlich Duden
 
Sind datenbanken nicht zu Groß? Ich möchte die Dateigröße so klein wie möglich halten!

Gruß

kabuco

Tubos 23. Mär 2006 16:06

Re: Programm ähnlich Duden
 
Speichere die Daten weiterhin in eine Textdatei.
Das Einlesen allerdings machst du einmal beim Programmstart. Dabei liest du die Wörter in einen binären Baum ein.
Dann kannst du extrem schnell darin suchen. Durch einen performanten Wörter-Vergleichs-Algorithmus wird es noch schneller.

konda 23. Mär 2006 16:07

Re: Programm ähnlich Duden
 
Wahrscheinlich ist eine Textdatei die kleinste Lösung. Es wäre natürlich noch eine Möglichkeit, dass du die Textdatei in einen ZIP-Ordner packst. So bekommst du sie noch kleiner. :zwinker:

Moony 23. Mär 2006 16:28

Re: Programm ähnlich Duden
 
Eine Txt-Datei ist schon ganz gut. Du kannst mit den Übersetzungen so umgehen wie mit einer Ini-Datei, indem du die Ini folgendermaßen aufbaust:

[Chapter]
DeutschesWort=EnglischesWort
...

So kannst du ruhig alles in einer Datei lassen und hast eine gute Strukturierung.

Gruß, Moony

pacman1986 23. Mär 2006 16:31

Re: Programm ähnlich Duden
 
Zitat:

Zitat von mkinzler
Du könntest auch eine Datenbank verwenden.

dies ist die schnellste möglichkeit
sobald deine liste an wörter groß wird gibt es mit einer txt probleme hingegen eine datenbank ist sau schnell

Tubos 23. Mär 2006 16:34

Re: Programm ähnlich Duden
 
Meine Lösung, die mit dem Baum, wäre noch schneller.
Denn Datenbanken machen intern nichts anderes, wenn du jedoch eine solche Speicherstruktur selber programmierst, fällt der Overhead der Kommunikation mit der Datenbank weg.

kabuco 23. Mär 2006 16:38

Re: Programm ähnlich Duden
 
Hallo,

ich bin zwar schon relativ gut in DELPHI aber manches versteh ich dann doch nicht.

Zitat:

Zitat von Tubos
Dabei liest du die Wörter in einen binären Baum ein.
Dann kannst du extrem schnell darin suchen. Durch einen performanten Wörter-Vergleichs-Algorithmus wird es noch schneller.

Was meinst du mit einem Binärem Baum? Viellerich die VirtalTreeView oder so?
2. Wie sollter der Wörtervergleichs-algo aussehen?

Sry für die dummen fragen, aber ich stehen gerade auf dem schlauch! :duck:

Gruß

kabuco

Tubos 24. Mär 2006 15:04

Re: Programm ähnlich Duden
 
Zitat:

Was meinst du mit einem Binärem Baum?
Eine Speicherstruktur, die wie ein verkehrter Baum aufgebaut ist. Es gibt ein Element an der Spitze, jedes Element hat zwei Unterelemente. In jedem Element ist ein Wort gespeichert.
Die Struktur ist geordnet.
Wenn du bei Google oder in der DP nach [google]Binäre Bäume Delphi[/google] suchst, findest du vielleicht fertige Beispiele.

Zitat:

Viellerich die VirtalTreeView oder so?
Ja, das kann sein. Ich weiß leider nicht, was das ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 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