Einzelnen Beitrag anzeigen

Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#26

Re: vorhandenen Index ermitteln

  Alt 24. Nov 2007, 11:48
@ raiguen,
danke für Deine Antwort und die Bemühungen.
Werde mir Deine Vorschläge heute ansehen, war aber auch schon selbst tätig.
Bin ja nur hobbymäßig mit Delphi beschäftigt und kann so nur folgendes vermuten:

Delphi-Quellcode:
Table.IndexDefs.Items[I].Name = sName then

Table.IndexDefs.Items[I].Fields = sName then
.Name verweist auf den Namen der Indexdatei .Fields verweist auf die indizierten Felder

1) .Fields, ist das angeclickte Feld bereits indiziert wird wohl nach dem Namen gesucht (sName), es erscheint dann, weil nicht vorhanden, die Fehlermeldung: kann Index nicht finden.

2) .Name , ist wohl der Name der IndexDatei. Üblicher Weise wird der Name mit dem Zusatz IDX o.ä. gewählt.
Die Var "sName" ist ja nur der Feldname ohne IDX, Feldname = Index Name ist demnach als IndexName nicht vorhanden.
Die IndexDatei wird also neu erstellt.

Delphi-Quellcode:
// vorhandenen Index suchen
  Table.IndexDefs.Update;
  for I := 0 to Table.IndexDefs.Count -1 do // vorhandenen Index suchen

   if Table.IndexDefs.Items[I].Name = sName then // .Name war vorher .Fields
   begin
     bVorhanden := True;
     break; //-- durchaus erlaubt, weil Forstezung der Suche ja nicht mehr sinnvoll
   end;
Habe nun entsprechend geändert, und soweit ich das bisher getestet habe ist es OK.
Das dazu.
StringList statt ListBox wurde ja auch genannt. Habe etwas in der DH gelesen und es ist bereits in meiner Anwendung integriert.
Der Artikel war scheinbar interessant, er wurde ja sehr oft angeclickt, und ich habe viel dazu gelernt. Dank nochmal an die vielen Helfer und Euch allen ein schönes Wochenende
Fritz
Fritz
  Mit Zitat antworten Zitat