DBF-UDF - dBase-Datenbank lesen und schreiben über DLL

  • Hallo,
    ich habe eine DLL aus der ShapeLib Library gebastelt (http://shapelib.maptools.org/). Damit kann man dBase Datenbanken erstellen und bearbeiten. Ist zwar nicht so komfortabel wie die COM-Alternativen, aber man kann sich ja nützliche Wrapper-Funktionen basteln.

    Ich hoffe es kann jemand brauchen.

    Gruß
    funkey


    Edit: UDF erweitert und weitere Beispiele angehängt

  • Freut mich wenn du es brauchen kannst. Darf ich fragen wofür? Ich werde es wahrscheinlich zum Loggen von Daten verwenden und um Symboliken aus Simatic-Projekten auszulesen.

    Hier ein weiteres Beispiel

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <Date.au3>
    #include "DBF.au3"

    [/autoit] [autoit][/autoit] [autoit]

    Global $hDBF = _DBF_Create("Test.dbf")
    If $hDBF = 0 Then
    ConsoleWrite("Error creating dbf file ..." & @CRLF)
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    _DBF_AddField($hDBF, "ID", $DBF_FTInteger, 10, 0)
    _DBF_AddField($hDBF, "Time", $DBF_FTString, 24, 0)
    _DBF_AddField($hDBF, "Value1", $DBF_FTDouble, 10, 3)
    _DBF_AddField($hDBF, "Value2", $DBF_FTDouble, 10, 3)
    _DBF_AddField($hDBF, "Value3", $DBF_FTDouble, 10, 3)
    _DBF_AddField($hDBF, "Value4", $DBF_FTDouble, 10, 3)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To 100
    _WriteValues($hDBF)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Global $aDBF = _DBF_DBFToArray($hDBF)
    _DBF_Close($hDBF)

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay($aDBF)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _WriteValues($hDBF)
    $iRecords = _DBF_GetRecordCount($hDBF)
    _DBF_WriteIntegerAttribute($hDBF, $iRecords, 0, $iRecords + 1)

    [/autoit] [autoit][/autoit] [autoit]

    _DBF_WriteStringAttribute($hDBF, $iRecords, 1, _Now() & "." & @MSEC)

    [/autoit] [autoit][/autoit] [autoit]

    _DBF_WriteDoubleAttribute($hDBF, $iRecords, 2, Random(1, 100))
    _DBF_WriteDoubleAttribute($hDBF, $iRecords, 3, Random(1, 100))
    _DBF_WriteDoubleAttribute($hDBF, $iRecords, 4, Random(1, 100))
    _DBF_WriteDoubleAttribute($hDBF, $iRecords, 5, Random(1, 100))
    EndFunc

    [/autoit]
  • Hallo zusammen,

    ich glaube sowas benötige ich...

    Kann ich hiermit auch nach Daten (z.B. einer Kundennummer) in DBF's suchen um mir dann gewisse Daten (z.B. Telefonummer) ausgeben zu lassen?

    Sorry vielleicht eine blöde Frage, nur kenn ich mich noch nicht so gut aus.

    Vielen Dank schonmal.