AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Indirekt: Strings vergleichen (inside more)
Thema durchsuchen
Ansicht
Themen-Optionen

Indirekt: Strings vergleichen (inside more)

Ein Thema von fkerber · begonnen am 28. Aug 2003 · letzter Beitrag vom 31. Aug 2003
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Indirekt: Strings vergleichen (inside more)

  Alt 28. Aug 2003, 20:19
Hi!
Ich habe folgendes Problem:

Ich habe eine Datei mir 80.296 Zeilen In jeder Zeile steht ein Wort.
Diese Datei soll jetzt sozusagen als Wörterbuch dienen. Wenn man also die Rechtschreibprüfung anschmeißt soll jedes Wort mit dem Wörterbuch verglichen werden. Dabei hab ich 2 Probleme:

a) Bei manchen Wörter (nicht bei allen) siehts so aus
Wort\Steuerzeichen z.b.
Test\Q3454

b) ich kann wohl schlecht wort für Wort die Datei durchsuchen, das dauert ja Jahre

Wer hat Lösungsvorschläge

Danke schonmal!

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#2

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 18:46
1. Die Wörter in eine Datenbank umschreiben.

oder

2. Die Datei in viele aufteilen, so dass in jeder Datei der erste oder die beiden ersten Buchstaben verschieden sind.

Ich würde aber 1. vorziehen

An der Datei hätte ich übrigens interesse
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:08
Hi!
Die Datei ist das Wörterbuch Deutsch von OpenOffice.

Man kann auf openoffice.org das pack runterladen, indem ein Haufen Sprachen enthalten sind!


Aber wie soll ich das in ne Datenbank bekommen?
Abtippen geht ja wohl nicht

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:16
80.000 Zeilen, was ist das denn ? Nichts Ist das ganze überschaubar, dann packe es einfach in ein array. Eine verkettete Liste wäre aber schon besser.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:29
Zitat von Hansa:
80.000 Zeilen, was ist das denn ? Nichts
Das ist ja jetzt nicht grad aufbauend, danke!

Es ist eine Datei und in jeder Zeile steht ein Wort, das iss alles und das in ein array kann nich ganz hinhauen oder?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#6

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:29
Stimmt eigentlich! Das wäre dann die 3. und womöglich schnellste Lösung, wenn du das Array und drumherum gut organisierst. Wenn du natürlich nur einseitige Texte prüfen lassen willst, brauchst du dir darum wahrscheinlich keine Sorgen zu machen

Was du auf jedenfall machen solltest, die Wörter von ihren anhängseln trennen.

1. Dateihandling: Delphi-Online-Hilfe: Stichwort: Assignfile, ReadLn

2. Stringverarbeitung ein Problem?

3. Dynamischer Array oder Datenbank ein problem?

Gruß Minz
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:40
Zitat von fkerber:
Das ist ja jetzt nicht grad aufbauend, danke!
Willst Du nur dumm fragen und eine fertige Lösung haben, oder ein Problem lösen ? Falls letzteres zutrifft, darfst Du auch ruhig "dumm" fragen. Warum probierst Du nicht einfach die Vorschläge aus und fragst notfalls nochmal nach ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#8

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:45
Hehe ruhig Blut hier liegt glaub ich ein Missverständnis vor !

Hansa wollte blos sagen, dass 80.000 Zeilen für ein Array nicht zuviel sind.

Wenn das durchschnittliche Wort, sagen wir mal 10 Zeichen hat, und jedes Zeichen 1 Byte verbraucht, dann sind das grade mal 800.000 Byte, also noch nicht mal ein MB. Vom Tempo her sollte es auch reichen. Ansonsten hätte ich da noch eine Idee, um das ganze zu beschleunigen.

Allerdings könnte es sein, das der Ladevorgang in das Array etwas dauern könnte. Das wäre glaub ich der einzige Vorteil an der Datenbank.
  Mit Zitat antworten Zitat
MSCH

Registriert seit: 8. Mai 2003
Ort: Berlin
42 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:50
unabhägig davon, daseine DB wesentlich schneller ist, sofern man indizes hinzunimmt. Und das ganze in eine DB zu hauen, isst wirklich nun kein akt. IMHO kann jede DB sowas in eine Tabelle importieren. Habs grad mit MSSQL durch, dauert ca. 2 minuten und es waren mehr als 15.000 Wörter.
grez
msch
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Indirekt: Strings vergleichen (inside more)

  Alt 30. Aug 2003, 20:52
Delphi-Quellcode:
var i : integer;
    st : string;
    datei : text;
    ArrayVar : Array [1..100000] of char [20];
begin
  AssignFile (datei 'Text.TXT');
  reset (datei)
  i := 0;
  while not EOF (datei) do begin
    i := i + 1;
    readln (datei,st);
    ArrayVar [i] := st;
  end;
end.
Das ist alles.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 17:20 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