# [Frage] - Mit LibNoDave DB Größe ermitteln?



## marcengbarth (31 August 2007)

Hallo zusammen!

Wie der Titel schon sagt. Kann man mit LibNoDave die Größe eines DB's ermitteln?



Danke schon mal!

Gruß
  Marc


----------



## Zottel (31 August 2007)

Ja, aber es ist nicht sehr elegant: Ich weiß nur, daß die Länge im Zuge des Auslesens durch summieren der Längen der übertragenen Blöcke ermittelt wird. Es ist also nötig, den Baustein komplett zu lesen. Siehe Funktion doUpload(). Siehe Beispielcode in testISO_TCP.c in Funktion loadBlocksOfType().


----------



## afk (31 August 2007)

Zottel schrieb:


> Ja, aber es ist nicht sehr elegant ...


Hey Zottel, da hast Du in libnodave doch eine recht komfortable Funktion eingebaut, mit der das geht, und weißt es selbst nicht ?  

In meiner Delphi-Komponente habe ich das so umgesetzt:


```
function TNoDave.GetDBSize(DB: Integer): Integer;
var
  Info: daveBlockInfo;
begin
  try
    Result:=daveGetBlockInfo(DaveConn, @Info, daveBlockType_DB, DB);
    If Result = 0 then
    begin
      Result:=Info.length;
    end else Result:=0;
  except
  end;
end;
```


Gruß Axel


----------



## marcengbarth (31 August 2007)

Danke euch, muss ich gleich mal ausprobieren.


----------



## Zottel (31 August 2007)

afk schrieb:


> Hey Zottel, da hast Du in libnodave doch eine recht komfortable Funktion eingebaut, mit der das geht, und weißt es selbst nicht ?


Das ist natürlich schon ein bischen her und ich habe es mir lange nicht mehr angeschaut...


----------

