AGB  ·  Datenschutz  ·  Impressum  







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

Volltextsuche

Ein Thema von jandelph · begonnen am 3. Okt 2011 · letzter Beitrag vom 3. Okt 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#1

AW: Volltextsuche

  Alt 3. Okt 2011, 18:50
Delphi-Quellcode:
uses DB, DBClient, MidasLib; // unit MidasLib, damit man diese blöde Midas.dll nicht mitgeben muß

type
  TWoerterbuch = class(TClientDataSet)
    constructor Create;
    procedure Add(const Word: string);
    function Filter(const SearchWord: string): Boolean;
    procedure Delete(const Word: string);
    procedure Clear;
    procedure GetList(Result: TStrings);

    //property FileName: string; // ist alles in TClientDataSet deklariert
    //procedure LoadFromFile(const FileName: string = '');
    //procedure SaveToFile(const FileName: string = ''; Format: TDataPacketFormat = dfBinary);
    //procedure LoadFromStream(Stream: TStream);
    //procedure SaveToStream(Stream: TStream; Format: TDataPacketFormat = dfBinary);
  end;

procedure TWoerterbuch.Add(const Word: string);
begin
  Insert;
  try
    Self['Word'] := Word;
    Post;
  except
    Cancel;
    raise;
  end;
end;

procedure TWoerterbuch.Clear;
begin
  EmptyDataSet;
end;

constructor TWoerterbuch.Create;
begin
  CreateDataSet;
  FieldDefs.Add('Word', {$IF SizeOf(Char) = 2}ftWideString{$ELSE}ftString{$IFEND}, 30);
  AddIndex('WordIdx', 'Word', [ixUnique, ixCaseInsensitive]);
  IndexName := 'WordIdx';
end;

procedure TWoerterbuch.Delete(const Word: string);
begin
  if Locate('Word', Word, [loCaseInsensitive]) then
    inherited Delete;
end;

function TWoerterbuch.Filter(const SearchWord: string): Boolean;
begin
  if SearchWord <> 'then begin
    Filtered := False;
    FilterOptions := [foCaseInsensitive, foNoPartialCompare];
    Filter := '[Word] LIKE ''' + SearchWord + '%''';
    Filtered := True;
  end else
    Filtered := False;
  Result := RecordCount > 0;
end;

procedure TWoerterbuch.GetList(Result: TStrings);
begin
  Result.BeginUpdate;
  try
    First;
    while not Eof do begin
      Result.Add(Self['Word']);
      Next;
    end;
  finally
    Result.EndUpdate;
  end;
end;
(hoffentlich hab ich das jetzt richtig zusammenbekommen)

Oder direkt an eine datenbank ran, aber dann ohne CreateDataSet (im Constructor) und ohne SaveToFile und LoadFromFile.

Statt GetList kann man es auch direkt, über eine TDataSource, an einen DBGrid hängen.
Oder man nimmt die TDataSource als Vorfahre und das TClientDataSet in die Klasse rein.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Okt 2011 um 18:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#2

AW: Volltextsuche

  Alt 3. Okt 2011, 18:54
Zu #27: Jetzt noch eine Client-/Server-Datenbank mit MySQL auf einem Webserver mit Abfragen über HTTPS, und wir haben auch den letzten Anfänger vergrault. Geht es hier eigentlich um Hilfe oder darum, wie man sich selbst am Besten darstellt? *Koppschüttel*
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Volltextsuche

  Alt 3. Okt 2011, 19:00
Ehrlich gesagt finde ich den "Informationsaustausch" voll in Ordnung. Es geht darum, mögliche Lösungswege aufzuzeigen - darum geht es ja schließlich in einem Forum. Der TE hat ziemlich schnell eine funktionierende und relativ leicht verständliche Lösung bekommen, also kann der schonmal glücklich sein. Der Rest braucht ihn ja nicht zu interessieren, aber für andere User ist das hier evtl. durchaus interessant.
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#4

AW: Volltextsuche

  Alt 3. Okt 2011, 19:03
In dem Fall fände ich persönlich aber angebrachter, dafür einen neuen Thread zu eröffnen. Wenn ich eine Frage habe, dann lese ich mir auch den kompletten Thread durch, und wenn dann da Antworten kommen, die ich beim besten Willen nicht mehr nachvollziehen kann, erhöht das meinen Frustfaktor enorm. Aber es kann natürlich auch sein, dass es nur mir so geht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#5

AW: Volltextsuche

  Alt 3. Okt 2011, 19:06
PS:
Zitat:
Brauch ich dafür eine datenbank?
Die Daternbankseite wurde hier vollkommen vernachlässig.

Der Code selber ist doch noch recht übersichtlich?
Und die zwei/drei heiklen Stellen erklärt die OH auch recht gut. (falls man den Code ganz verstehen will)

Für die große Datenbankgeschichte gibt es dann noch die passendenden Tutorials.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Okt 2011 um 19:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#6

AW: Volltextsuche

  Alt 3. Okt 2011, 19:08
Braucht er eine? Nein, wie von uns allen bewiesen. Also, was willst Du da vernachlässigen? Ich werde mal darum bitten, den Thread an geeigneter Stelle abzuspalten, da kann es dann weitergehen. Einverstanden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#7

AW: Volltextsuche

  Alt 3. Okt 2011, 19:15
Er hat danach gefagt?
Und es hat keiner gesagt, daß er diese nicht doch gebrauchen könnte (vorallem Er nicht),
nur daß es anders eventuell auch möglich wäre.
Zitat:
bei überschaubarer Datenmenge ist die allerdings nicht nötig
Wir kennen ja sein Wörterbuch nicht.


Sonst beschweren sich doch auch alle, wenn jemand mal nach etwas "geziehlt" fragt
und dann alle nur über die Alternativen reden, aber die ursprüngliche Frage nicht beantworten.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Okt 2011 um 19:18 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Volltextsuche

  Alt 3. Okt 2011, 19:16
Braucht er eine? Nein, wie von uns allen bewiesen. Also, was willst Du da vernachlässigen? Ich werde mal darum bitten, den Thread an geeigneter Stelle abzuspalten, da kann es dann weitergehen. Einverstanden?
Gant wichtig fände ich eine obfuskierte Brainfuck Variante
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: Volltextsuche

  Alt 3. Okt 2011, 21:05
PS:
Zitat:
Brauch ich dafür eine datenbank?
Die Daternbankseite wurde hier vollkommen vernachlässig.
Ich glaube die Datenbank kommt bei Anfängern oft ins Spiel, weil manche Informatiklehrer alles, angefangen bei einer zeilenweisen Speichung in einer Textdatei, als Datenbank bezeichnen.

Wen man hier tatsächlich mit einer (SQL-)Datenbank arbeiten möchte, könnte LIKE eventuell ein guter Ansatzpunkt sein.

Die Datenbanken-Entwickler kochen auch nur mit Wasser, so dass man am Ende mit einer clever konstruierten Datenstruktur für solche spezielle Probleme vielleicht sogar schneller ist.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#10

AW: Volltextsuche

  Alt 3. Okt 2011, 19:01
Geht es hier eigentlich um Hilfe oder darum, wie man sich selbst am Besten darstellt? *Koppschüttel*
Zitat:
Brauch ich dafür eine datenbank?
Er wollte ja wissen wie man es machen kann. (uns fehlt das Negieren )
- ja, es geht über eine Datenbank
- nein, es geht auch ohne (siehe die letzen Posts, welche eine ganz ganz kleine Auswahl aller Möglichkeiten darstellen)
- und für den Anfang wäre auch eine einfache TStringList ausreichend (die muß man nichtmal irgendwo wegkapseln)

Zitat:
Der Rest braucht ihn ja nicht zu interessieren
Kann er sich ja interessehalber dennoch ansehn.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Okt 2011 um 19:05 Uhr)
  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 07:03 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