finde keine passende ueberschrift

  • Hallo,

    ich versuche hier einmal mein Problem genauer zu beschreiben.
    Ich lese aus einer InI Datei verschiedene Daten aus, die anschliessend in ein Array gelegt werden.
    Im späteren Verlauf des Scripts wird eine MSSql Verbindung aufgebaut, die eine Datenbankabfrage ausführt, in der wieder ähnliche Daten ausgegeben werden, welche auch schon vorher von der Ini Datei übergeben wurden.

    Mein Problem ist jetzt:

    InI Datei:
    [Section1]
    Num: 08512.xyz

    [Section2]
    Num: 18513.xyz

    Die Daten hier, werden noch etwas geschnitten, dass nur die ersten 5 Zeichen uebernommen werden

    [autoit]

    If $ini_l4_imgnr <> "" Then
    $cut_inum = StringMid($ini_l4_imgnr, 1, 5)

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

    _ArrayAdd($avArray, $cut_inum)
    _ArrayAdd($avArray, $ini_l4_lang & "=" & $ini_l4_startmed)
    SearchArray()

    [/autoit]


    Datenbank Abfrage:

    DBOutput: 8512
    18513

    Dann wird ein Array erzeugt und der Kram aus der DB dort reingelegt. Das was reingelegt wurde, wird über $cut_inum jetzt in dem DB Array auf übereinstimmung verglichen.

    [autoit]

    Func SearchArray() ; Durchsuchen des Arrays der Datenbank

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

    $iIndex = _ArraySearch($aRecords, $cut_inum, 0, 0, 0, 1)
    If @error Then
    MsgBox(0, "Error", $cut_inum & " wurde in der Datenbank nicht gefunden!")

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

    Else

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

    _ArrayAdd($aRecords, $cut_inum & ".xyz")

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

    MsgBox(0, "Found", $cut_inum & " stimmt überein")

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

    EndIf

    [/autoit]


    Mein Problem ist jetzt, dass in der ini die 0 existiert, jedoch nicht in der DB.
    Wenn ich jetzt die Ausgabe aus der Datenbank auslese und ebenfalls in ein Array lege und diese dann mit dem ini array vergleiche, bekomme ich natuerlich einen error (das ist auch gut so, nur nicht bei Identischen Zahlen bzw identisch gemeinten Zahlen)

    Problem ist jetzt, dass ich nicht ohne weiteres willkuerlich eine 0 im Vorfeld anfügen kann.

    Hat von euch jemand eine Ahnung was ich hier machen kann..

    mfg

    2 Mal editiert, zuletzt von psy (28. Juli 2009 um 10:47)

  • Wnn du immer 5 Stellen hast, dann kannst du StringFormat verwenden.

    [autoit]

    Local $Zahl = 8512
    MsgBox(0,"", StringFormat('%005s', $Zahl))

    [/autoit]

    wenn du überall die Null loswerden willst dann addiere mit Null ;)

    [autoit]

    Local $Zahl = '08512'
    MsgBox(0,"", $Zahl + 0)

    [/autoit]
  • im Endefekt wäre die beste lösung wenn ich oben beim string zerschnipseln schon feststellen koennte ob eine 1 an erster stelle steht oder eine null und dahingehend die abfrage formuliere.
    Nur fehlt mir die Idee wie ich das machen kann

  • So, merci fuer den Denkanstoss... Es hat gepasst ;)


    So,

  • So, merci fuer den Denkanstoss... Es hat gepasst ;)