Jump to content

Recommended Posts

Posted (edited)

I have a program with a GUI interface that is mainly for decoding files.  it has multiple label fields to show raw/decoded/parsed data.

 

It has 3 buttons at button that work (next Record, Previous Record and Exit)  The issue is the text will disappear randomly on the buttons.  

I refresh the labels for each new record as it is decoded, but I cannot figure our why the button text disappears. 

 

everything works correctly except the fact the words on my buttons go away and come back randomly.

 

I have redacted a majority of the code as it is redundant for the different records i decode and will make it easier as it still has an error with less code.

 

1 button missing text

image.thumb.png.e6b27191fe8514e7cd850bb0946f1b13.png

2 buttons missing text

image.thumb.png.17ad16927bd2f00aa146e5938d626433.png

 

here is some sample text used that will decode..

0010048150                   0000500730000010000000000399000000039900000003990000000000010000000399010000000000000
0010048627                   0000500730000010000000000399000000039900000003990000000000010000000399011000000000000
0010047109                   0000500730000010000000000399000000039900000003990000000000010000000399011000000000000

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <MsgBoxConstants.au3>


Global $Form_record, $MaxRecords, $Form_Main, $Btn_Exit, $Btn_Next, $Btn_Prev, $record[26], $record_parsed[26], $Label7, $Label[26], $GUI_LBL[26], $GUI_input[26], $GUI_input_parsed[26], $TlogArray, $sFile_tlog_path = "C:\TS\tlog.new"

_FileReadToArray($sFile_tlog_path, $TlogArray)   ; Read TLOG file and add to an array to be able to read line by line
$Totalrows = UBound($TlogArray)
$MaxRecords = $Totalrows - 1
For $ind = 1 To 25
    $record[$ind] = " "
    $record_parsed[$ind] = " "
    $Label[$ind] = " "
Next
$RecordName = "TLOG Decoder"
Call("Build_Form", $RecordName, $record, $record_parsed, $Label)
GUISetState(@SW_SHOW, $Form_record)
Sleep(1000)
$row = 1

Do
    $tempRec = $TlogArray[$row]
    $rectype = StringLeft($tempRec, 3)
    Select
        Case $rectype = "001"
            $RecordName = "String Type 001 - Merchandise Item"
            Call("REC001", $tempRec)
        Case $rectype = "004"
            $RecordName = "String Type 004 - Fee"
            Call("REC004", $tempRec)

        Case Else                   ;  NON Coded response
            MsgBox(0, "Claires TLOG DECODER - JLG", "Code " & $rectype & "  Not found")
    EndSelect
    Call("Update_Form", $RecordName, $record, $record_parsed, $Label)
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form_record)
                Exit
            Case $Btn_Exit
                GUIDelete($Form_record)
                    Exit
            Case $Btn_Next
                $row += 1
                ExitLoop
            Case $Btn_Prev
                $row -= 1
                ExitLoop
        EndSwitch
    WEnd
    If $row > $MaxRecords Then
        MsgBox(0, "TLOG Decoder", "Last Record Nothing After")
        $row -= 1
    EndIf

    If $row < 1 Then
        MsgBox(0, "TLOG Decoder", "First record nothing prior")
        $row = 1
    EndIf
Until $row > $MaxRecords

Exit
;  **** END OF MAIN PROGRAM***

Func Dollar($record)
    Return ("$  " & StringFormat("%.2f", $record / 100))
EndFunc   ;==>Dollar

Func ConvertToDate($record)
    Return (StringTrimRight($record, 6) & "/" & StringMid($record, 3, 2) & "/" & StringTrimLeft($record, 4))
EndFunc   ;==>ConvertToDate

Func ConvertToPercentage($record)
    Return (StringFormat("%.5f,", $record / 100000) & " %")
EndFunc   ;==>ConvertToPercentage

Func ConvertToXDecimals($record, $Precision)

    Switch $Precision
        Case 1
            $mult = 10
            $newnumb = (StringFormat("%.1f", $record / $mult))
        Case 2
            $mult = 100
            $newnumb = (StringFormat("%.2f", $record / $mult))
        Case 3
            $mult = 1000
            $newnumb = (StringFormat("%.3f", $record / $mult))
        Case 4
            $mult = 10000
            $newnumb = (StringFormat("%.4f", $record / $mult))
        Case 5
            $mult = 100000
            $newnumb = (StringFormat("%.5f", $record / $mult))
        Case 6
            $mult = 1000000
            $newnumb = (StringFormat("%.6f", $record / $mult))
    EndSwitch
    Return ($newnumb)
EndFunc   ;==>ConvertToXDecimals

Func Sign($record)
    If $record = "0" Then
        Return ("Positive")
    Else
        Return ("Negative")
    EndIf
EndFunc   ;==>Sign

Func Build_Form($RecordName, $record, $record_parsed, $Label) ;--> Build form
    For $ind = 1 To 25
        $record[$ind] = " "
        $record_parsed[$ind] = " "
        $Label[$ind] = " "
    Next
    $Form_record = GUICreate("TLOG DECODER 101 - JLG", 1623, 798, 228, 88)

    GUICtrlCreateLabel("Description", 24, 8, 145, 21, $SS_CENTER)
    $GUI_LBL[1] = GUICtrlCreateLabel("1", 24, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[2] = GUICtrlCreateLabel("2", 24, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[3] = GUICtrlCreateLabel("3", 24, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[4] = GUICtrlCreateLabel("4", 24, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[5] = GUICtrlCreateLabel("5", 24, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[6] = GUICtrlCreateLabel("6", 24, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[7] = GUICtrlCreateLabel("7", 24, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[8] = GUICtrlCreateLabel("8", 24, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("RAW", 175, 8, 145, 21, $SS_CENTER)
    $GUI_input[1] = GUICtrlCreateLabel("9", 175, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[2] = GUICtrlCreateLabel("10", 175, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[3] = GUICtrlCreateLabel("11", 175, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[4] = GUICtrlCreateLabel("12", 175, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[5] = GUICtrlCreateLabel("13", 175, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[6] = GUICtrlCreateLabel("14", 175, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[7] = GUICtrlCreateLabel("15", 175, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[8] = GUICtrlCreateLabel("16", 175, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("PARSED", 329, 8, 145, 21, $SS_CENTER)
    $GUI_input_parsed[1] = GUICtrlCreateLabel("17", 329, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[2] = GUICtrlCreateLabel("18", 329, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[3] = GUICtrlCreateLabel("19", 329, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[4] = GUICtrlCreateLabel("20", 329, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[5] = GUICtrlCreateLabel("21", 329, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[6] = GUICtrlCreateLabel("22", 329, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[7] = GUICtrlCreateLabel("23", 329, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[8] = GUICtrlCreateLabel("24", 329, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("Description", 538, 17, 114, 21, $SS_CENTER)
    $GUI_LBL[9] = GUICtrlCreateLabel("25", 538, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[10] = GUICtrlCreateLabel("26", 538, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[11] = GUICtrlCreateLabel("27", 538, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[12] = GUICtrlCreateLabel("28", 538, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[13] = GUICtrlCreateLabel("29", 538, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[14] = GUICtrlCreateLabel("30", 538, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[15] = GUICtrlCreateLabel("31", 538, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[16] = GUICtrlCreateLabel("32", 538, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("RAW", 690, 17, 145, 21, $SS_CENTER)
    $GUI_input[9] = GUICtrlCreateLabel("33", 690, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[10] = GUICtrlCreateLabel("34", 690, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[11] = GUICtrlCreateLabel("35", 690, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[12] = GUICtrlCreateLabel("36", 690, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[13] = GUICtrlCreateLabel("37", 690, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[14] = GUICtrlCreateLabel("38", 690, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[15] = GUICtrlCreateLabel("39", 690, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[16] = GUICtrlCreateLabel("40", 690, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("PARSED", 845, 17, 145, 21, $SS_CENTER)
    $GUI_input_parsed[9] = GUICtrlCreateLabel("41", 845, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[10] = GUICtrlCreateLabel("42", 845, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[11] = GUICtrlCreateLabel("43", 845, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[12] = GUICtrlCreateLabel("44", 845, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[13] = GUICtrlCreateLabel("45", 845, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[14] = GUICtrlCreateLabel("46", 845, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[15] = GUICtrlCreateLabel("47", 845, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[16] = GUICtrlCreateLabel("48", 845, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("Description", 1045, 17, 114, 21, $SS_CENTER)
    $GUI_LBL[17] = GUICtrlCreateLabel("49", 1045, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[18] = GUICtrlCreateLabel("50", 1045, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[19] = GUICtrlCreateLabel("51", 1045, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[20] = GUICtrlCreateLabel("52", 1045, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[21] = GUICtrlCreateLabel("53", 1045, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[22] = GUICtrlCreateLabel("54", 1045, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[23] = GUICtrlCreateLabel("55", 1045, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_LBL[24] = GUICtrlCreateLabel("56", 1045, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("RAW", 1199, 17, 145, 21, $SS_CENTER)
    $GUI_input[17] = GUICtrlCreateLabel("57", 1199, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[18] = GUICtrlCreateLabel("58", 1199, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[19] = GUICtrlCreateLabel("59", 1199, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[20] = GUICtrlCreateLabel("60", 1199, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[21] = GUICtrlCreateLabel("61", 1199, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[22] = GUICtrlCreateLabel("62", 1199, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[23] = GUICtrlCreateLabel("63", 1199, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input[24] = GUICtrlCreateLabel("64", 1199, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)

    GUICtrlCreateLabel("PARSED", 1355, 17, 145, 21, $SS_CENTER)
    $GUI_input_parsed[17] = GUICtrlCreateLabel("65", 1355, 50, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[18] = GUICtrlCreateLabel("66", 1355, 126, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[19] = GUICtrlCreateLabel("67", 1355, 203, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[20] = GUICtrlCreateLabel("68", 1355, 281, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[21] = GUICtrlCreateLabel("69", 1355, 358, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[22] = GUICtrlCreateLabel("70", 1355, 436, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[23] = GUICtrlCreateLabel("71", 1355, 513, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GUI_input_parsed[24] = GUICtrlCreateLabel("72", 1355, 591, 145, 49)
    GUICtrlSetBkColor(-1, 0xFFFFFF)


    $Btn_Prev = GUICtrlCreateButton("Previous Record", 499, 737, 209, 33)
    $Btn_Exit = GUICtrlCreateButton("Exit", 232, 736, 209, 33)
    $Btn_Next = GUICtrlCreateButton("Next Record", 1072, 736, 209, 33)
    $Label7 = GUICtrlCreateLabel("Record#", 776, 736, 166, 25)

EndFunc   ;==>Build_Form

Func Update_Form($RecordName, $record, $record_parsed, $Label)
    ;   MsgBox(0, "", "update - in")
    ;GUICtrlSetBkColor(-1, 0xFFFFFF)

    WinSetTitle($Form_record, "", $RecordName)
    ControlSetText("", "", $Label7, "Record  " & $row & " of " & $MaxRecords)
    ControlSetText("", "", $Btn_Exit, "Exit")
    ControlSetText("", "", $Btn_Next, "Next Record")
    For $ind = 1 To 25
        ControlSetText("", "", $GUI_LBL[$ind], $Label[$ind])
        ControlSetText("", "", $GUI_input[$ind], $record[$ind])
        ControlSetText("", "", $GUI_input_parsed[$ind], $record_parsed[$ind])
    Next
    ControlSetText("", "", $GUI_input_parsed[1], $RecordName)
    GUISetState(@SW_SHOW, $Form_record)
    ;   MsgBox(0, "", "update - out")
EndFunc   ;==>Update_Form



Func REC001($TLOG)  ;String type001 Merhcandise Item
    For $ind = 1 To 25
        $record[$ind] = " "
        $record_parsed[$ind] = " "
        $Label[$ind] = "Not Used"
    Next

    $record[1] = StringMid($TLOG, 1, 3)
    $record[2] = StringMid($TLOG, 4, 1)
    If $record[2] = "1" Then
        $record_parsed[2] = "Voided"
    Else
        $record_parsed[2] = "Not Voided"
    EndIf
    $record[3] = StringMid($TLOG, 5, 1)
    If $record[3] = "1" Then
        $record_parsed[3] = "Exchanged"
    Else
        $record_parsed[3] = "Not Exchanged"
    EndIf
    $record[4] = StringMid($TLOG, 6, 24)
    $record[5] = StringMid($TLOG, 30, 1)
    If $record[5] = "1" Then
        $record_parsed[5] = "Class"
    Else
        $record_parsed[5] = "SKU"
    EndIf


    $record[6] = StringMid($TLOG, 31, 4)
    $record[7] = StringMid($TLOG, 35, 4)
    $record[8] = StringMid($TLOG, 39, 9)
    ;$record_parsed[8] = $record[8] / 1000
    $record_parsed[8] = Call("ConvertToXDecimals", $record[8], 3)
    $record[9] = StringMid($TLOG, 48, 10)
    $record_parsed[9] = Call("Dollar", $record[9])
    $record[10] = StringMid($TLOG, 58, 10)
    $record_parsed[10] = Call("Dollar", $record[10])
    $record[11] = StringMid($TLOG, 68, 10)
    $record_parsed[11] = Call("Dollar", $record[11])
    $record[12] = StringMid($TLOG, 78, 10)
    $record[13] = StringMid($TLOG, 88, 2)
    $record[14] = StringMid($TLOG, 90, 10)
    $record_parsed[14] = Call("Dollar", $record[14])
    $record[15] = StringMid($TLOG, 100, 1)
    $record[16] = StringMid($TLOG, 101, 1)
    $record[17] = StringMid($TLOG, 102, 1)
    $record[18] = StringMid($TLOG, 103, 2)
    $record[19] = StringMid($TLOG, 105, 1)
    $record[20] = StringMid($TLOG, 106, 1)
    $record[21] = StringMid($TLOG, 107, 1)
    $record[22] = StringMid($TLOG, 108, 1)
    $record[23] = StringMid($TLOG, 109, 2)
    $record[24] = StringMid($TLOG, 111, 1)
    $record[25] = StringMid($TLOG, 112, 3)


    $Label[1] = "Identifier"
    $Label[2] = "Void Indicator"
    $Label[3] = "Exchange Indicator"
    $Label[4] = "Item Number"
    $Label[5] = "Sku/Class Indicator"
    $Label[6] = "Department Number"
    $Label[7] = "Class Number"
    $Label[8] = "Quantity"
    $Label[9] = "Price Original"
    $Label[10] = "Price On Lookup"
    $Label[11] = "Price Before Discount"
    $Label[12] = "Reserved for Future"
    $Label[13] = "Price Indicator"
    $Label[14] = "Extended Total"
    $Label[15] = "Not On File"
    $Label[16] = "Entry Indicator"
    $Label[17] = "Taxable Indicator "
    $Label[18] = "Item Status"
    $Label[19] = "Raincheck "
    $Label[20] = "Gift Item"
    $Label[21] = "Package"
    $Label[22] = "Send Item Indicator"
    $Label[23] = "Send to Location"
    $Label[24] = "Team Associate Item"
    $Label[25] = "Team Number"


EndFunc   ;==>REC001

Func REC004($TLOG) ; StringType:004 Fee

    For $ind = 1 To 25
        $record[$ind] = " "
        $record_parsed[$ind] = " "
        $Label[$ind] = "Not Used"
    Next
    $record[1] = StringMid($TLOG, 1, 3)
    $record[2] = StringMid($TLOG, 4, 1)
    $record[3] = StringMid($TLOG, 5, 8)
    $record[4] = StringMid($TLOG, 13, 10)
    $record[5] = StringMid($TLOG, 23, 1)
    $record[6] = StringMid($TLOG, 24, 1)
    $record[7] = StringMid($TLOG, 25, 1)
    $record[8] = StringMid($TLOG, 26, 2)
    $record[9] = StringMid($TLOG, 28, 10)
    $record[10] = StringMid($TLOG, 38, 1)

    If $record[2] = "1" Then
        $record_parsed[2] = "Voided"
    Else
        $record_parsed[2] = "Not Voided"
    EndIf
    $record_parsed[4] = Call("Dollar", $record[4])



    Switch $record[5]

        Case "0"
            $record_parsed[5] = "Positive"
        Case "1"
            $record_parsed[5] = "Negative"
        Case "2"
            $record_parsed[5] = "Non Refundable Fee"
    EndSwitch
    Switch $record[6]
        Case "1"
            $record_parsed[6] = "Transaction-based"
        Case "0"
            $record_parsed[6] = "Item-based"
    EndSwitch
    Switch $record[7]
        Case "1"
            $record_parsed[7] = "Fee is returanble"
        Case "0"
            $record_parsed[7] = "Fee is not returnable"
    EndSwitch
    Switch $record[8]
        Case "1"
            $record_parsed[8] = "Amount-based"
        Case "0"
            $record_parsed[8] = "Percentage-based"
    EndSwitch
    $Label[1] = "Identifier"
    $Label[2] = "Void Indicator"
    $Label[3] = "Fee Code"
    $Label[4] = "Amount"
    $Label[5] = "Status Indicator"
    $Label[6] = "Fee Type Indicator"
    $Label[7] = "Return Indicator"
    $Label[8] = "Fee Calculation Type"
    $Label[9] = "Fee Value"
    $Label[10] = "Send Fee"

EndFunc   ;==>REC004

 

Thanks in advance for any help on this.

 

 

 

 

plkace this text 

0010048150                   0000500730000010000000000399000000039900000003990000000000010000000399010000000000000
0010048627                   0000500730000010000000000399000000039900000003990000000000010000000399011000000000000
0010047109                   0000500730000010000000000399000000039900000003990000000000010000000399011000000000000

 

in a file named tlog.new  in c:\ts\   or edit the variable line to place the file wherever you want.

Edited by goodmanjl531
add more detail on data source
Posted (edited)

Just an idea, in all these lines found in your script...

ControlSetText("", "", ...)

...shouldn't the 1st parameter be the GUI handle ? For example

ControlSetText($Form_record, "", $Btn_Next, "Next Record")
instead of
ControlSetText("", "", $Btn_Next, "Next Record")

But I'm not sure it will solve it, as you never use ControlSetText on $Btn_Prev and it disappears randomly too, as shown in your 2nd pic.

You could also try to comment out the line where you ControlSetText() $Btn_Next, especially you keep the same text for the button, so what's the use of ControlSetText in this case ?

If you comment out the line where you ControlSetText() $Btn_Next, then if the button text doesn't turn blank randomly when you run your code, now you'll be 100% sure the issue comes from this line.

If all this doesn't work, maybe you could share some data ($sFile_tlog_path) so we could try the code, without the error encountered now :

Subscript used on non-accessible variable.:
$tempRec = $TlogArray[$row]
$tempRec = $TlogArray^ ERROR
Edited by pixelsearch
typo

"I think you are searching a bug where there is no bug... don't listen to bad advice."

Posted (edited)

A test I just did, maybe it will be some help.
As we don't have the file "C:\TS\tlog.new" then let's create a minimal array, to make the script runnable

; Global  $sFile_tlog_path = "C:\TS\tlog.new"

; _FileReadToArray($sFile_tlog_path, $TlogArray) ; Read TLOG file and add to an array to be able to read line by line

Global $TlogArray = ["a", "b"]

DuringMsgBox.png.6f9427ba93240cc4b7ef5ab8c7ddd173.png

After we close MsgBox, we enter function Update_Form

1) With original code (For $ind = 1 To 25)

UpdateGUI-1to25.png.e06bb0bbb42d01fb8f91c572f823cb1a.png

2) With this code (For $ind = 1 To 24)

UpdateGUI-1to24.png.bc6956594f704bd7d28313752dd07f35.png

The "Exit" text always disappears (by my side) when the loop goes From 1 To 25
The "Exit" text always shows (by my side) when the loop goes From 1 To 24

For what it's worth...

Edit:  the "Exit" text always disappears too, when the loop goes From 0 To 24 (just tested)

Edited by pixelsearch
added test on loop From 0 To 24

"I think you are searching a bug where there is no bug... don't listen to bad advice."

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...