Autor Thema: C-API: Aktualisierungsintervall FT-Index abfragen/setzen  (Gelesen 4066 mal)

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Hallo Leute,

im LotusScript gibt es die Eigenschaft notesDatabase.FTIndexFrequency, um den Aktualisierungsintervall des FT-Indexes abzufragen bzw. zu setzen. Wie um alles in der Welt komme ich an diese Informationen mittels der C-API? In der Dokumentation (api85xref.nsf) kann ich hierzu leider nichts finden.

Viele Grüße

Offline mholup

  • Frischling
  • *
  • Beiträge: 17
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #1 am: 04.09.12 - 12:14:24 »
Hallo,

mit dem undokumentierten NSFDbGetExtendedInfo kann der FT-Index abgefragt und gesetzt mit NSFDbSetExtendedInfo werden.

Ich habe noch ein Beispiel im Netz gefunden zum setzen der ExtendedInfo, dies habe ich als Anhang angehängt.


STATUS LNPUBLIC NSFDbGetExtendedInfo(
   DBHandle  hDB
   DWORD far *retDbOptions)

STATUS LNPUBLIC NSFDbSetExtendedInfo(
HANDLE hDB,
HANDLE Info);

Info ist ein Handle für ein Memory Object für die extended Datenbankinfo.

Hier ein kleines Beispiel:

Option Declare

Const APIMODULE = "nnotes"
Type TimeDate
   Innards(1) As Long
End Type
Declare Private Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" _
(  Byval zP As Long, Byval S As String, Byval F As String, Byval N As String) As Integer

Declare Private Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" _
(  Byval P As String, hDB As Long) As Integer
Declare Private Function NSFDbClose Lib APIModule Alias "NSFDbClose" _
(  Byval hDB As Long) As Integer
Declare Function NSFDbGetExtendedInfo Lib APIModule Alias "NSFDbGetExtendedInfo" _
(  Byval hDB As Long, hM As Long) As Integer
Declare Private Function FTGetLastIndexTime Lib APIModule Alias "FTGetLastIndexTime" _
(  Byval hDB As Long, T As TimeDate) As Integer

Declare Private Function OSLockObject Lib APIModule Alias "OSLockObject" _
(  Byval hM As Long) As Long
Declare Private Sub OSUnlockObject Lib APIModule Alias "OSUnlockObject" _
(  Byval hM As Long)
Declare Private Function OSMemFree Lib APIModule Alias "OSMemFree" _
(  Byval hM As Long) As Integer

Declare Function ConvertTIMEDATEToText Lib APIModule Alias "ConvertTIMEDATEToText" _
(  Byval zI As Long, Byval zT As Long, T As TimeDate, Byval S As String, Byval nS As Integer, nT As Integer) As Integer

Declare Sub Peek Lib APIModule Alias "Cmovmem" _
(  Byval P As Long, N As Any, Byval B As Long)
Dim hDB As Long
Dim hM As Long
Dim T As TimeDate

Sub DisplayFTIndexInfo(vDb As String) '(db As NotesDatabase)
   Set db = New NotesDatabase("", "")
   fileName$ = vDb
   If Not db.Open("", fileName$) Then
      'Call db.Create("", fileName$, True)
   End If
   With db
      np$ = Space(1024)
      OSPathNetConstruct 0, .Server, .FilePath, np$
   End With
   
   NSFDbOpen np$, hDB
   If hDB = 0 Then Exit Sub
   
   NSFDbGetExtendedInfo hDB, hM
   If hM = 0 Then
      NSFDbClose hDB
      Exit Sub
   Else
      p& = OSLockObject(hM)
      Peek p& + 2, idx%, 2
      Peek p& + 6, opt%, 2
      Peek p& + 8, frq%, 2
      OSUnlockObject hM
      OSMemFree hM
   End If
   
   FTGetLastIndexTime hDB, T
   If Not T.Innards(0) = 0 Then
      last$ = Space(256)
      ConvertTIMEDATEToText 0, 0, T, last$, 256, l%
      last$ = Left$(last$, l%)
   End If
   
   NSFDbClose hDB
   
   lf$ = Chr$(10) & " " & Chr$(10)
   
   If idx% = 0 Then m$ = "No full-text index" Else m$ = "Last indexed: " & last$
   
   m$ = m$ & lf$ & "Index attached files: "
   If (opt% And &H20) Then m$ = m$ & "YES" Else m$ = m$ & "NO"
   
   m$ = m$ & Chr$(10) & "    Conversion filters: "
   If (opt% And &H80) Then m$ = m$ & "YES" Else m$ = m$ & "NO"
   
   m$ = m$ & lf$ & "Encrypted fields: "
   If (opt% And &H40) Then m$ = m$ & "YES" Else m$ = m$ & "NO"
   
   m$ = m$ & lf$ & "Sentence and paragraph: "
   If (opt% And &H10) Then m$ = m$ & "YES" Else m$ = m$ & "NO"
   
   m$ = m$ & lf$ & "Case-sensitive: "
   If (opt% And &H02) Then m$ = m$ & "YES" Else m$ = m$ & "NO"
   
   m$ = m$ & lf$ & "Update: "
   Select Case frq%
   Case 0 : m$ = m$ & "Daily"
   Case 1 : m$ = m$ & "Scheduled"
   Case 2 : m$ = m$ & "Hourly"
   Case 3 : m$ = m$ & "Immediate"
   Case Else : m$ = m$ & "?"
   End Select
   
   Messagebox m$, 64, "FT Iindex - " & db.Title
End Sub

Sub Click(Source As Button)
'   On Error Goto errorhandler
   Dim session As New NotesSession
   Dim dbdir As NotesDbDirectory
   'Dim db As New NotesDatabase( "", "" )
   'Dim stream As NotesStream
   'Dim importer As NotesDXLImporter
   Dim ws As New NotesUIWorkspace
   
   'Call session.Initialize
   
REM Open file
   vDb = ws.OpenFileDialog(    True, "Select file to be read",, "d:\")
   'vDb = ws.Prompt (13, "Datenbankauswahl", "Bitte wählen Sie eine Datenbank: ")
   'temp = "d:\" & vDb(2) & ".dxl"
   't_db = Strrightback(vDb(0), "\")
   't_db = Strleft(t_db, ".") & "_t.ntf"
   'Set db1 = New NotesDatabase("", "")
   'fileName$ = vDb(0)
   'If Not db1.Open("", fileName$) Then
      'Call db.Create("", fileName$, True)
   'End If
   Call DisplayFTIndexInfo(vDb(0))
End Sub


Grüße Max
« Letzte Änderung: 04.09.12 - 13:48:58 von mholup »

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #2 am: 05.09.12 - 06:59:39 »
Vielen Dank. Mal schauen, wie ich das Teil auf C ummünze. Hast Du noch ein Beispiel für die Funktion "NSFDbSetExtendedInfo"?

Viele Grüße

Offline mholup

  • Frischling
  • *
  • Beiträge: 17
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #3 am: 05.09.12 - 07:43:24 »
Guten Morgen,
hast du den Anhang nicht gesehen da sind Beispiele für beide Funktionen vorhanden.
Nochmal als Code included.
Code
(Options)
Option Public
Option Declare

(Declarations)
Type BLOCKID
      hPool As Long
      Block As Integer
End Type

Type TIMEDATE
      Innards(1) As Long
End Type

Type FTINDEX 'Type used to pass the options to set in the index
      Indexed As Integer 'Create index true / false
      IndexAttachments As Integer 'Index attachments true / false
      IndexAttachmentsFormat As Integer 'Index format true = raw text only, false = binary
      EncryptedFields As Integer 'index encrypted fields true / false
      IndexBreaks As Integer 'index sentence and paragraph breaks true /false
      CaseSensitive As Integer 'case sensitive index true / false
      UpdateFrequency As Integer 'update frequency : 0 = Daily | 1 = Scheduled | 2 = Hourly | 3 = Immediate
      LastIndexedOn As String 'last index date/time
End Type

Const ERR_MASK = &H3FFF

Declare Private Function OSPathNetConstruct Lib "nnotes.dll" Alias "OSPathNetConstruct" (Byval zP As Long, Byval Server As String, Byval FilePath As String, Byval N As String) As Integer
Declare Private Function NSFDbOpen Lib "nnotes.dll" Alias "NSFDbOpen" (Byval P As String, hDB As Long) As Integer
Declare Private Function NSFDbClose Lib "nnotes.dll" Alias "NSFDbClose" (Byval hDB As Long) As Integer
Declare Function NSFDbGetExtendedInfo Lib "nnotes.dll" Alias "NSFDbGetExtendedInfo" (Byval hDB As Long, hB As BLOCKID) As Integer
Declare Function NSFDbSetExtendedInfo Lib "nnotes.dll" Alias "NSFDbSetExtendedInfo" (Byval hDB As Long, Byval hB As Long) As Integer
Declare Private Function FTGetLastIndexTime Lib "nnotes.dll" Alias "FTGetLastIndexTime" (Byval hDB As Long, T As TIMEDATE) As Integer
Declare Private Function OSLockObject Lib "nnotes.dll" Alias "OSLockObject" (Byval hM As Long) As Long
Declare Private Sub OSUnlockObject Lib "nnotes.dll" Alias "OSUnlockObject" (Byval hM As Long)
Declare Private Function OSMemFree Lib "nnotes.dll" Alias "OSMemFree" (Byval hM As Long) As Integer
Declare Function ConvertTIMEDATEToText Lib "nnotes.dll" Alias "ConvertTIMEDATEToText" (Byval zI As Long, Byval zT As Long, T As TIMEDATE, Byval S As String, Byval nS As Integer, nT As Integer) As Integer
Declare Private Sub Peek Lib "MSVCRT" Alias "memcpy" (D As Any, Byval P As Long, Byval N As Long)
Declare Private Sub Poke Lib "MSVCRT" Alias "memcpy" (Byval D As Long, D As Any, Byval N As Long)

Declare Function NSFDbSetOptions Lib "nnotes.dll" Alias "NSFDbSetOptions" _
(Byval hDB As Long, Byval dboptions As Long, Byval optionmask As Long ) As Integer

Declare Function OSLoadString Lib "nnotes.dll" Alias "OSLoadString" (_
Byval hModule As Long, _
Byval Status As Integer, _
Byval retBuffer As String, _
BufferLength As Integer) As Integer

Const DBOPTION_FT_INDEX = &H00000001 'Enable full text indexing

Function SetFTIndexInfo(Server As String, FilePath As String, Index As FTINDEX) As Integer
      REM ==============================================================================
      REM This function will set the extended info of a database to create an index
      REM Parameters:
      REM            Server                                    : name of the server where the database is located
      REM            FilePath                                    : file path where the database is located (directory and filename)
      REM            FTINDEX                              : structure with detailed information of the index to be created
      REM                  .IndexAttachments                  : true = yes, false = no
      REM                  .IndexAttachmentsFormat      : true = binary, false = normal
      REM                  .EncryptedFields                        : true = index encrypted fields, false = don't index encrypted fields
      REM                  .IndexBreaks                              : true = index sentence and paragraph breaks, false = index words only
      REM                  .CaseSensitive                              : true = case sensitive index on, false = case sensitive index off
      REM                  .UpdateFrequency                  : 0 = Daily | 1 = Scheduled | 2 = Hourly | 3 = Immediate
      REM ==============================================================================
      Const DLGTITLE = "SetFTIndexInfo"
      On Error Goto ErrorHandler
      
      REM ***** Define local variables *****
      Dim FullPath As String
      Dim hDB As Long
      Dim idx As Integer
      Dim opt As Integer
      Dim frq As Integer
      Dim p As Long
      Dim hB As BlockID
      Dim rc As Integer
      Dim strError As String
      
      REM ***** If all went well, return true *****
      SetFTIndexInfo = True
      
      REM ***** Construct Full Path to the database *****
      FullPath = Space(1024)
      rc = OSPathNetConstruct (0, Server, FilePath, FullPath)
      If rc And ERR_MASK = 0 Then
            strError = String(255, " ")
            Call OSLoadString(0, rc, strError, 255)
            Messagebox "Kan path naar database niet creëren." & Chr(10) & "Reden: " & strError, 0, DLGTITLE
            SetFTIndexInfo = False
            Exit Function
      End If
      
      REM ***** Open Database through C API *****
      rc = NSFDbOpen (FullPath, hDB)
      If rc And ERR_MASK = 0 Then
            strError = String(255, " ")
            Call OSLoadString(0, rc, strError, 255)
            Messagebox "Kan database niet openen." & Chr(10) & "Reden: " & strError, 0, DLGTITLE
            SetFTIndexInfo = False
            Exit Function
      End If
      
      'If we can't open the database exit
      If hDB = 0 Then 
            SetFTIndexInfo = False
            Exit Function
      End If
      
      REM ***** Compute values to set *****
      'Check if database needs to be indexed
      If Index.Indexed Then
            idx = 1
            'set database options so the index will be created
            rc = NSFDbSetOptions(hDB, DBOPTION_FT_INDEX, DBOPTION_FT_INDEX)
            If rc And ERR_MASK <> 0 Then
                  strError = String(255, " ")
                  Call OSLoadString(0, rc, strError, 255)
                  Messagebox "Kan index niet creëren." & Chr(10) & "Reden: " & strError, 0, DLGTITLE
                  SetFTIndexInfo = False
                  Exit Function
            End If
      Else
            idx = 0
      End If
      'Index attachments
      If Index.IndexAttachments Then
            opt = opt Or &H20
      Else
            opt = opt And &HDF
      End If
      'Index binary attachments
      If Index.IndexAttachmentsFormat Then
            opt  = opt  Or &H80
      Else
            opt  = opt  And &H7F
      End If
      'Index encrypted fields
      If Index.EncryptedFields Then
            opt  = opt  Or &H40
      Else
            opt  = opt  And &HBF
      End If
      'Index sentence and paragraph breaks
      If Index.IndexBreaks Then
            opt  = opt  Or &H10
      Else
            opt  = opt  And &HEF
      End If
      'Index case-sensitive
      If Index.CaseSensitive Then
            opt  = opt  Or &H02
      Else
            opt  = opt  And &HFD
      End If
      'set update frequency
      frq = Index.UpdateFrequency
      
      REM ***** Set new attributes *****
      rc = NSFDbGetExtendedInfo (hDB, hB)
      If rc And ERR_MASK = 0 Then
            strError = String(255, " ")
            Call OSLoadString(0, rc, strError, 255)
            Messagebox "Kan extended info van database niet lezen." & Chr(10) & "Reden: " & strError, 0, DLGTITLE
            SetFTIndexInfo = False
            Exit Function
      End If
      If Not hB.hPool = 0 Then
            p  = OSLockObject(hB.hPool) + hB.Block
            Poke p  + 2, idx , 2
            Poke p  + 6, opt , 2
            Poke p  + 8, frq , 2
      Else
            Call NSFDbClose (hDB)
            Exit Function
      End If
      Call OSUnlockObject (hB.hPool)
      rc = NSFDbSetExtendedInfo (hDB, hB.hPool)
      If rc And ERR_MASK = 0 Then
            strError = String(255, " ")
            Call OSLoadString(0, rc, strError, 255)
            Messagebox "Kan extended info database niet wijzigen." & Chr(10) & "Reden: " & strError, 0, DLGTITLE
            SetFTIndexInfo = False
            Exit Function
      End If
      
      REM ***** Free memory and close database *****
      NSFDbClose hDB
      
      Exit Function
ErrorHandler:
      Messagebox "SetFTIndexInfo: " & Err & " - " & Error$ & " in line " & Erl
      SetFTIndexInfo = False
      Resume Next
End Function

Function GetFTIndexInfo(Server As String, FilePath As String, Index As FTINDEX) As Integer
      Const DLGTITLE = "GetFTIndexInfo"
      
      Dim FullPath As String
      Dim rc As Integer
      Dim strError As String
      Dim hDB As Long
      Dim hB As BLOCKID
      Dim p As Long
      Dim idx As Integer
      Dim opt As Integer
      Dim frq As Integer
      Dim l As Integer
      Dim LastIndexedOn As String
      
      FullPath = Space(1024)
      rc = OSPathNetConstruct (0, Server, FilePath, FullPath)
      
      
      NSFDbOpen FullPath, hDB
      If hDB = 0 Then Exit Function
      
      rc = NSFDbGetExtendedInfo (hDB, hB)
      If rc And ERR_MASK = 0 Then
            strError = String(255, " ")
            Call OSLoadString(0, rc, strError, 255)
            Messagebox "Kan extended info van database niet lezen." & Chr(10) & "Reden: " & strError, 0, DLGTITLE
            GetFTIndexInfo = False
            Exit Function
      End If
      
      If hB.hPool = 0 Then
            NSFDbClose hDB
            Exit Function
      Else
            p& = OSLockObject(hB.hPool) + hB.Block
            Peek idx, p& + 2, 2
            Peek opt, p& + 6, 2
            Peek frq, p& + 8, 2
            OSUnlockObject hB.hPool
      End If
      
      Dim T As TimeDate
      FTGetLastIndexTime hDB, T
      If Not T.Innards(0) = 0 Then
            LastIndexedOn = Space(256)
            ConvertTIMEDATEToText 0, 0, T, LastIndexedOn, 256, L
            LastIndexedOn = Left$(LastIndexedOn, L)
      End If
      
      NSFDbClose hDB
      
      'Check if database is indexed
      If idx% = 0 Then 
            Index.Indexed="0"
      Else 
            Index.Indexed="1"
            Index.LastIndexedOn = LastIndexedOn
      End If
      
      If (opt% And &H20) Then 
            Index.IndexAttachments="1"
      Else 
            Index.IndexAttachments="0"
      End If
      
      If (opt% And &H80) Then 
            Index.IndexAttachmentsFormat="1"
      Else 
            Index.IndexAttachmentsFormat="0"
      End If
      
      If (opt% And &H40) Then
            Index.EncryptedFields="1"
      Else 
            Index.EncryptedFields="0"
      End If
      
      If (opt% And &H10) Then 
            Index.IndexBreaks="1"
      Else 
            Index.IndexBreaks="0"
      End If
      
      If (opt% And &H02) Then
            Index.CaseSensitive="1"
      Else 
            Index.CaseSensitive="0"
      End If
      
      'Get update frequency
      Index.UpdateFrequency=Cstr(frq%)
End Function

'The SetFTIndex function will set the properties of the index in the database. The indexer task on the server will then create the index later.

'The GetFTIndex function will return a structure (as defined in the type FTINDEX) containing all details of the index of the passed database.




Gruß Max
« Letzte Änderung: 05.09.12 - 08:16:33 von mholup »

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #4 am: 05.09.12 - 10:52:53 »
Okay, danke.

Nun habe ich aber ein anderes Problem. Ich finde diese Funktion in keiner der mitgelieferten API-Bibliotheken (*.h). Somit kann ich diese Funktion scheinbar nicht benutzen.

Offline mholup

  • Frischling
  • *
  • Beiträge: 17
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #5 am: 05.09.12 - 16:01:14 »
Doch man kann die Funktion benutzen du must sie nur extra laden

So hier ist der Link aus Api Beschreibung:

http://www-12.lotus.com/ldd/doc/tools/c/6.5/api65ug.nsf/85255d56004d2bfd85255b1800631684/80194706d58ab82e85255f58005cae65?OpenDocument

/* Load the DLL */
hNotesDLL = OSLoadLibrary("nnotes.dll", (DWORD)0, &hmod, &ProcAddress);

Ein kleines Beispiel(Extract) um die Funktion zu laden bei Problemen und Fragen dazu melde dich einfach.

//Beginn
typedef STATUS (_stdcall *NSFDbGetExtendedInfoType)(DHANDLE,long*); Wichtig

int main(int argc, char *argv[])
{
//TEST
      int rc;
      char FullPath[1024] = "";
      char Server[255] = "";
      char FilePath[1024] = "";
      char szErrorString[255] = " ";
      WHANDLE hmod;
      DHANDLE hDB;
      long hB1=0;
      DWORD hB;
      blockid p1;
      DWORD ProcAddress;
      char *p,*pValue;
      BOOL freeResult, runTimeLinkSuccess = FALSE;
      HINSTANCE dllHandle = NULL;             
      NSFDbGetExtendedInfoType NSFDbGetExtendedInfoPtr = NULL;
      //local
      strcpy(FilePath,"Check.nsf");
      if (strlen(Server))
      {
         rc = OSPathNetConstruct (NULL, Server, FilePath, FullPath);
      }
      else strcpy(FullPath,FilePath);

      NSFDbOpen (FullPath, &hDB);
      if (hDB == 0) return(0);
       //Load the dll and keep the handle to it
      //dllHandle = OSLoadLibrary("nnotes.dll",(DWORD)0, &hmod, &ProcAddress);
      dllHandle = LoadLibrary(L"nnotes.dll");
      if (NULL != dllHandle)
      {
         NSFDbGetExtendedInfoPtr = (NSFDbGetExtendedInfoType)GetProcAddress(dllHandle,"NSFDbGetExtendedInfo");
         // If the function address is valid, call the function.
           if (runTimeLinkSuccess = (NULL != NSFDbGetExtendedInfoPtr))
           {
            //hB = &p1;
            rc = NSFDbGetExtendedInfoPtr(hDB, &hB1);
            if (rc != NOERROR)
            {
               OSLoadString(0,ERR(rc),szErrorString,LINEOTEXT-1);
                MessageBox (GetFocus(), LPCTSTR(szErrorString),L"Notes Error", MB_OK);
            }
            p = (char far *)OSLockObject((DHANDLE)hB1);
            int i = 1;
            while (!p==NULL)
            {
               pValue = p;
               p++;
               pValue++;
               i++;
            }
            OSUnlockObject((DHANDLE)hB1);
            OSMemFree((DHANDLE)hB1);
           }

           //Free the library:
           freeResult = FreeLibrary(dllHandle); 
           return 0;
      }
      else return 0;
      //Server = Lokal

Gruß Max
« Letzte Änderung: 06.09.12 - 11:18:34 von mholup »

Offline mholup

  • Frischling
  • *
  • Beiträge: 17
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #6 am: 06.09.12 - 15:17:53 »
Hallo,

so hatte mal ein paar Minuten Zeit und habe ein kleines Progrämmchen als Beispiel für NSFDbGetExtendedInfo geschrieben.

Source hängt mit an.

Grüsse Max

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #7 am: 07.09.12 - 07:54:00 »
Fantastisch! Jetztt noch auf das 9. Byte zugreifen und schon habe ich den Wer, den ich brauche. Das ganze konnte ich lediglich im Debugmodus nachstellen, da sich die innere WHILE-Schleife tot läuft. Irgendwie wird kein Ende erreicht / erkannt. Hast Du ne Idee zur Behebung?

Hast Du den ne Vorstellung, welche Ergebnisse die Funktion NSFDbGetExtendedInfo so alles zurück liefert und an welcher Stelle die sich befinden?

Viele Grüße

Offline mholup

  • Frischling
  • *
  • Beiträge: 17
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #8 am: 07.09.12 - 08:47:24 »
Hallo,

ich nehme an du sprichst von dieser While-Schleife.
Die Variable "i" sollte eigentlich für den Abruch sorgen und zwar beim 9ten Byte.
Der zurück gegebene Bereich ist bei mir sehr groß über pagegrenze hinaus und "i" ist als integer zu klein und muss long sein.

Also was zurückgegeben wird dürfte das sein was du mit rechter Maus ICON Application/Properties auswählst, sowie Access Control List usw.

Um rauszubekommen wo welcher Wert steht dürfte sehr mühselig sein aber nicht unmöglich.


p = (char far *)OSLockObject((DHANDLE)hB1);
            int i = 1;
            while (!p==NULL)
            {
               //pValue = p;
               if (i==3) p1.index = p;
               if (i==7) p1.option = p;
               if (i==9) p1.frequence = p;
               if (i>9) break;
               p++;
               //pValue++;
               i++;
            }

Nachtrag:
den Bereich den man zurück bekommt scheint die gesamte Datebank zu sein Daten und Struktur.

Gruß Max
« Letzte Änderung: 07.09.12 - 09:50:58 von mholup »

Offline inu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 594
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: C-API: Aktualisierungsintervall FT-Index abfragen/setzen
« Antwort #9 am: 07.09.12 - 09:59:25 »
Vielen Dank Max, Du hast mir sehr geholfen. Es funktioniert alles wunderbar.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz