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

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

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

Beitrag 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?
Zuletzt geändert von D@nte am 17.05.2009 11:51, insgesamt 1-mal geändert.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: BUG oder Syntaxfehler in meiner Abfrage?

Beitrag 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
a²+b²=mc²
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag 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:
Antworten