Seite 1 von 1

[gelöst] BUG oder Syntaxfehler in meiner Abfrage?

Verfasst: 17.05.2009 10:09
von D@nte
Ist eigentlich kein Wirkliches Problem, da ich es schon von Hand korrigiert hab, aber irgendwie kommt mir die Ausgabe sehr spanisch vor wenn ich "structure2sql.pb" ausführe...

elem_structure

Code: Alles auswählen

;- list52
Structure elemlist52
  ID.l
  Name.s
  u0.l
  Panel1.s
  Item_1_1_4.l
  Item_1_2_4.l
  Item_1_3_4.l
  Item_1_4_4.l
  Item_1_5_4.l
  Item_1_6_4.l
  Item_1_7_4.l
  Item_1_8_4.l
  Item_1_1_3.l
  Item_1_2_3.l
  Item_1_3_3.l
  Item_1_4_3.l
  Item_1_5_3.l
  Item_1_6_3.l
  Item_1_7_3.l
  Item_1_8_3.l
  Item_1_1_2.l
  Item_1_2_2.l
  Item_1_3_2.l
  Item_1_4_2.l
  Item_1_5_2.l
  Item_1_6_2.l
  Item_1_7_2.l
  Item_1_8_2.l
  Item_1_1_1.l
  Item_1_2_1.l
  Item_1_3_1.l
  Item_1_4_1.l
  Item_1_5_1.l
  Item_1_6_1.l
  Item_1_7_1.l
  Item_1_8_1.l
  Panel2.s
  Item_2_1_4.l
  Item_2_2_4.l
  Item_2_3_4.l
  Item_2_4_4.l
  Item_2_5_4.l
  Item_2_6_4.l
  Item_2_7_4.l
  Item_2_8_4.l
  Item_2_1_3.l
  Item_2_2_3.l
  Item_2_3_3.l
  Item_2_4_3.l
  Item_2_5_3.l
  Item_2_6_3.l
  Item_2_7_3.l
  Item_2_8_3.l
  Item_2_1_2.l
  Item_2_2_2.l
  Item_2_3_2.l
  Item_2_4_2.l
  Item_2_5_2.l
  Item_2_6_2.l
  Item_2_7_2.l
  Item_2_8_2.l
  Item_2_1_1.l
  Item_2_2_1.l
  Item_2_3_1.l
  Item_2_4_1.l
  Item_2_5_1.l
  Item_2_6_1.l
  Item_2_7_1.l
  Item_2_8_1.l
  Panel3.s
  Item_3_1_4.l
  Item_3_2_4.l
  Item_3_3_4.l
  Item_3_4_4.l
  Item_3_5_4.l
  Item_3_6_4.l
  Item_3_7_4.l
  Item_3_8_4.l
  Item_3_1_3.l
  Item_3_2_3.l
  Item_3_3_3.l
  Item_3_4_3.l
  Item_3_5_3.l
  Item_3_6_3.l
  Item_3_7_3.l
  Item_3_8_3.l
  Item_3_1_2.l
  Item_3_2_2.l
  Item_3_3_2.l
  Item_3_4_2.l
  Item_3_5_2.l
  Item_3_6_2.l
  Item_3_7_2.l
  Item_3_8_2.l
  Item_3_1_1.l
  Item_3_2_1.l
  Item_3_3_1.l
  Item_3_4_1.l
  Item_3_5_1.l
  Item_3_6_1.l
  Item_3_7_1.l
  Item_3_8_1.l
  Panel4.s
  Item_4_1_4.l
  Item_4_2_4.l
  Item_4_3_4.l
  Item_4_4_4.l
  Item_4_5_4.l
  Item_4_6_4.l
  Item_4_7_4.l
  Item_4_8_4.l
  Item_4_1_3.l
  Item_4_2_3.l
  Item_4_3_3.l
  Item_4_4_3.l
  Item_4_5_3.l
  Item_4_6_3.l
  Item_4_7_3.l
  Item_4_8_3.l
  Item_4_1_2.l
  Item_4_2_2.l
  Item_4_3_2.l
  Item_4_4_2.l
  Item_4_5_2.l
  Item_4_6_2.l
  Item_4_7_2.l
  Item_4_8_2.l
  Item_4_1_1.l
  Item_4_2_1.l
  Item_4_3_1.l
  Item_4_4_1.l
  Item_4_5_1.l
  Item_4_6_1.l
  Item_4_7_1.l
  Item_4_8_1.l
  Panel5.s
  Item_5_1_4.l
  Item_5_2_4.l
  Item_5_3_4.l
  Item_5_4_4.l
  Item_5_5_4.l
  Item_5_6_4.l
  Item_5_7_4.l
  Item_5_8_4.l
  Item_5_1_3.l
  Item_5_2_3.l
  Item_5_3_3.l
  Item_5_4_3.l
  Item_5_5_3.l
  Item_5_6_3.l
  Item_5_7_3.l
  Item_5_8_3.l
  Item_5_1_2.l
  Item_5_2_2.l
  Item_5_3_2.l
  Item_5_4_2.l
  Item_5_5_2.l
  Item_5_6_2.l
  Item_5_7_2.l
  Item_5_8_2.l
  Item_5_1_1.l
  Item_5_2_1.l
  Item_5_3_1.l
  Item_5_4_1.l
  Item_5_5_1.l
  Item_5_6_1.l
  Item_5_7_1.l
  Item_5_8_1.l
  Panel6.s
  Item_6_1_4.l
  Item_6_2_4.l
  Item_6_3_4.l
  Item_6_4_4.l
  Item_6_5_4.l
  Item_6_6_4.l
  Item_6_7_4.l
  Item_6_8_4.l
  Item_6_1_3.l
  Item_6_2_3.l
  Item_6_3_3.l
  Item_6_4_3.l
  Item_6_5_3.l
  Item_6_6_3.l
  Item_6_7_3.l
  Item_6_8_3.l
  Item_6_1_2.l
  Item_6_2_2.l
  Item_6_3_2.l
  Item_6_4_2.l
  Item_6_5_2.l
  Item_6_6_2.l
  Item_6_7_2.l
  Item_6_8_2.l
  Item_6_1_1.l
  Item_6_2_1.l
  Item_6_3_1.l
  Item_6_4_1.l
  Item_6_5_1.l
  Item_6_6_1.l
  Item_6_7_1.l
  Item_6_8_1.l
  Panel7.s
  Item_7_1_4.l
  Item_7_2_4.l
  Item_7_3_4.l
  Item_7_4_4.l
  Item_7_5_4.l
  Item_7_6_4.l
  Item_7_7_4.l
  Item_7_8_4.l
  Item_7_1_3.l
  Item_7_2_3.l
  Item_7_3_3.l
  Item_7_4_3.l
  Item_7_5_3.l
  Item_7_6_3.l
  Item_7_7_3.l
  Item_7_8_3.l
  Item_7_1_2.l
  Item_7_2_2.l
  Item_7_3_2.l
  Item_7_4_2.l
  Item_7_5_2.l
  Item_7_6_2.l
  Item_7_7_2.l
  Item_7_8_2.l
  Item_7_1_1.l
  Item_7_2_1.l
  Item_7_3_1.l
  Item_7_4_1.l
  Item_7_5_1.l
  Item_7_6_1.l
  Item_7_7_1.l
  Item_7_8_1.l
  Panel8.s
  Item_8_1_4.l
  Item_8_2_4.l
  Item_8_3_4.l
  Item_8_4_4.l
  Item_8_5_4.l
  Item_8_6_4.l
  Item_8_7_4.l
  Item_8_8_4.l
  Item_8_1_3.l
  Item_8_2_3.l
  Item_8_3_3.l
  Item_8_4_3.l
  Item_8_5_3.l
  Item_8_6_3.l
  Item_8_7_3.l
  Item_8_8_3.l
  Item_8_1_2.l
  Item_8_2_2.l
  Item_8_3_2.l
  Item_8_4_2.l
  Item_8_5_2.l
  Item_8_6_2.l
  Item_8_7_2.l
  Item_8_8_2.l
  Item_8_1_1.l
  Item_8_2_1.l
  Item_8_3_1.l
  Item_8_4_1.l
  Item_8_5_1.l
  Item_8_6_1.l
  Item_8_7_1.l
  Item_8_8_1.l  
EndStructure
structure2sql.pb

Code: Alles auswählen

i = 52
temp.s = ""
Debug "                Case " + Str(i) + ":"
Debug "                  For j = 0 To list" + Str(i) + " - 1"
If ReadFile(#File, "elem_structure")
  While Eof(#File) = 0
    string.s = ReadString(#File)
    If FindString(string, "list" + Str(i), 0)
      If FindString(string, "Structure ", 0)
        string = ReadString(#File)
        While string <> "EndStructure"
          ext.s = GetExtensionPart(string)
          If ext = "l"
            temp = temp + #DQUOTE$ + " + Str(List" + Str(i) + "(j)\" + LTrim(StringField(string, 1, ".")) + ") + " + #DQUOTE$ + ","
          ElseIf ext = "f"
            temp = temp + #DQUOTE$ + " + StrF(List" + Str(i) + "(j)\" + LTrim(StringField(string, 1, ".")) + ",50) + " + #DQUOTE$ + ","
          ElseIf ext = "s"
            temp = temp + "'" + #DQUOTE$ + " + List" + Str(i) + "(j)\" + LTrim(StringField(string, 1, ".")) + " + " + #DQUOTE$ + "',"
          ElseIf Mid(ext, 1, 1) = "b"
            temp = temp + #DQUOTE$
            For j = 0 To Val(Mid(ext, 3, Len(ext) - 3)) - 1
              temp = temp + " + StrU(List" + Str(i) + "(j)\" + LTrim(StringField(string, 1, ".")) +"[" + Str(j) + "], 0)"
            Next j
            temp = temp + " + " + #DQUOTE$ + ","
          Else
            Debug string + "!!!"
          EndIf
          string = ReadString(#File)
        Wend
        Debug "                    values = " + #DQUOTE$ + "(" + #DQUOTE$ + Mid(temp, 2, Len(temp) - 6) + " + " + #DQUOTE$ + ")" + #DQUOTE$
        Break
      EndIf
    EndIf
  Wend
  CloseFile(#File)
EndIf
Debug "                    If j < list" + Str(i) + " - 1"
Debug "                      values = values + " + #DQUOTE$ + "," + #DQUOTE$
Debug "                    Else"
Debug "                      values = values + " + #DQUOTE$ + ";" + #DQUOTE$
Debug "                    EndIf"
Debug "                    WriteString(#Output, values + #LF$)"
Debug "                  Next j"
Problem ist also das in der Ausgabe ein " Item_8_8_1.l !!!" auftaucht, was m.E. hier nicht legitim ist, da meine IF-Abfrage ja eigtl auf .l reagiert. Also sollte Item_8_8_1.l ja den If ext = "l"-Zweig durchlaufen und am Ende mit bei der Ausgabezeile "values =" stehen, ferner tritt dieses Phänomen auch nur bei dieser und noch einer Structure auf die sehr ähnlich zu dieser ist auf, bei allen anderen der insgesamt 117 Structures nicht...

Deshalb meine Frage, liegt das an PB oder an meiner Syntax?

Re: BUG oder Syntaxfehler in meiner Abfrage?

Verfasst: 17.05.2009 10:45
von Kiffi

Code: Alles auswählen

ext.s = Trim(GetExtensionPart(string))
dann stört auch das Leerzeichen hinter besagtem Item_8_8_1.l nicht mehr. ;-)

oder aber direkt:

Code: Alles auswählen

string.s = Trim(ReadString(#File))
Grüße ... Kiffi

Verfasst: 17.05.2009 10:52
von D@nte
OMFG
Kopf -> Tisch

Danke Kiffi

Kommt nur von dieser scheiß Quelltextformatierung mit Einrücken und so :D
Und erklärt auch warum das nur bei den 2 Structures aufgetaucht ist: c&p-Fehler

Ich hoffe man kann mir es nachsehen das ich diesen Fehler nicht selbst gesehen hab :freak: