secman Posted November 19, 2019 Posted November 19, 2019 Hi, I have an issue with a script being used for a Toddler group register. I list the kids, with their carer and additional carer in ComboLists so a number of carers can be registered per kid. When page down to a second page of kids, the carers are correctly displayed but when I roll the mouse over the combo boxes it reverts to those on the first page. I am using the following style codes with the combo boxes - BitOR($CBS_DROPDOWN, $CBS_SIMPLE) and they are only holding 2 or 3 entries. Here is the code for the pagedisplay function which is called for each line of the registration page (10 lines, currently 55 kid records)) Func PageDisp($L) ;Clears display once all records displayed If $L > $KidsFound Then $Label2[$L] = GUICtrlCreateLabel(" ", 75, $v, 280, 29) $Label352[$L] = GUICtrlCreateLabel("", 1040, $v, 100, 29) $Label152[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label252[$L] = GUICtrlCreateLabel("", 650, $v, 220, 29); Return Endif $Kid2d = $Kid1d[$L] ; sets value to find additional carers If $Kid1a[$L] <> "" then $Label2[$L] = GUICtrlCreateLabel("(" & $L & ")" & $Kid1a[$L] & " " & $Kid1b[$L] , 75, $v, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") If $Kid1e[$L] <> "" then $Combo[$L] = GUICtrlCreateCombo("(" & $L & ")" & $Kid1e[$L], 380, $v, 220, 29, BitOR($CBS_DROPDOWN, $CBS_SIMPLE )) GUICtrlSetData(-1, $Kid1e[$L] & "|" & $Kid1f[$L], $Kid1e[$L]) GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label352[$L] = GUICtrlCreateLabel($Kid1c[$L], 1040, $v, 100, 29) if $Kid1f[$L] <> "" then FindCarer($Kid2d) ;finds additional carers $Combo2[$L] = GUICtrlCreateCombo("(" & $L & ")" & "", 650, $v, 220, 29, BitOR($CBS_DROPDOWN,$CBS_SIMPLE )) GUICtrlSetData(-1, $Combo2List[$L], "") GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) If StringRight($Kid1e[$L],3) = "[L]" Then $Label152[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label252[$L] = GUICtrlCreateLabel("Leader", 650, $v, 220, 29); GUICtrlSetColor(-1, 0x0000FF) Endif Else $Label252[$L] = GUICtrlCreateLabel("(" & $L & ")" & " No Additional Carers", 650, $v, 220, 29); EndIf EndIf GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) CheckReg() If $Kid1c[$L] = "Registered" Then $Label52[$L] = GUICtrlCreateLabel($Kid1c[$L], 1040, $v, 100, 29) $Label152[$L] =GUICtrlCreateLabel ($Kid1f[$L], 650, $v, 220, 29); GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) If StringRight($Kid1e[$L],3) = "[L]" Then $Label252[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label152[$L] = GUICtrlCreateLabel("Leader", 650, $v, 220, 29); GUICtrlSetColor(-1, 0x0000FF) Endif Endif Endif EndFunc I hope someone can point me in the right direction as I can't see how this is happening Many thanks
Nine Posted November 19, 2019 Posted November 19, 2019 Could you make a runable snippet of your problem. Also when posting code, please use this tool. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
secman Posted November 19, 2019 Author Posted November 19, 2019 Hi, I have created a mush reduced script that demonstrates the issue with some junk data. If you run the script, click page down and roll your mouse over the second and third columns (Main Carer and Extra Carer the data changes back to that on page one. I can see why this should happen. In the full program I need to cope wit h100 records on 10 pages so this has to be sorted. Any suggestions would be gratefully received. expandcollapse popup#cs ---------------------------------------------------------------------------- Script Information COMPILE as x86 for compatibiliy (32-bit) AutoIt Version: 3.3.14.2 Author: Alan Pattle - June 2016 - System Name: Kids Check-In - Kids Registration System - Little Lights #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIConstants.au3> #include <Array.au3> #include <MsgBoxConstants.au3> #include <Date.au3> #include <StaticConstants.au3> #include <file.au3> #include <EditConstants.au3> #include <WindowsConstants.au3> #include <GUIListBox.au3> #include <OutlookEX.au3> #include <GUIListViewEx.au3> #include <ButtonConstants.au3> #include <GDIPlus.au3> #include <ScreenCapture.au3> #include <WinAPI.au3> #include <INet.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <DateTimeConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Misc.au3> ;++ VARIABLES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Global $version ;system version from KCIInfoLL Global $build = "0088" ; Version of this module Global $var Global $INFOFILE = "KCIInfo.TXT" ;Global $UserFile = "Users.CSV" Global $Valid = "False" Global $UserName ; = "APATTLE" Global $Password Global $UserInput, $Users, $UserType, $AdminMenu, $RegMenu Global $PassInput Global $DataFile Global $DataFile1 Global $HomeDir Global $CarerFile Global $data, $data0, $tdata Global $s, $x, $N, $Q, $Y, $L, $K, $Q1, $v, $vr Global $Ls, $Lx, $LN, $LQ, $LY, $LL, $LK, $LQ1 Global $Line, $Line2, $Line3 Global $systemname= "Registration System", $UserFile, $tClasses, $Classes, $ClassesFile, $ThisClass, $tChildren, $Children, $ChildrenFile, $CLRecords, $CHRecords, $AttndFile Global $Kids, $KidNo, $KidName, $Kid, $Child, $Child1, $Kid2d, $Kid2e, $Kid2f Global $ClCode, $ClName, $ClOrg, $ClRun, $ClDay, $ClTime, $ClDate Global $ComboList1, $Combolist1Def, $ComboList2, $Combolist2Def Global $ComboList5, $Combolist5Def, $ComboList5, $Combolist5Def Global $ComboList10, $Combolist10Def Global $Combo1, $Combo2, $Combo10, $Combo5 Global $ComboList30, $Combolist30Def, $Combo30 Global $ComboList40, $Combolist40Def, $Combo40 Global $ComboList[101], $Combo[101] Global $Combo2List[101], $Combo2[101] Global $ComboList41, $Combolist41Def, $Combo41 Global $ComboList42, $Combolist42Def, $Combo42 Global $Kid1a[101], $Kid1b[101], $Kid1c[101], $Kid1d[101], $Kid1e[101], $Kid1f[101], $Kid1enew[101], $Kid1fnew[101], $KidsFound = 0, $KidsReg = 0, $KidsCarReg = 0 Global $Page1 = "xx", $Page2 = "xx", $Page3 = "xx", $CurPage = "1", $Page4 = "xx", $Page5 = "xx" Global $Form1_1, $Form1_2, $FormAC, $FormReg Global $KidFName, $KidSName, $KidDoB, $KidP1FName, $KidP1SName, $KidP1Phone, $KidP2FName, $KidP2SName, $KidP2Phone, $KidClass1, $KidClass2, $KidClass3, $KidClass4 Global $KidGender, $KidSchYr, $KidAddress1, $KidAddress2, $KidPostCode, $KidPhone, $KidEmail, $KidSpConds, $KidPhoto, $KidHBCNo Global $CareKidNo, $CareFName, $CareSName, $CarePhone, $CareEmail, $CareClass1, $CareClass2, $CareRole, $MRecords, $CarerRecords, $AddCarer, $CarersReg Global $Next = "No", $No Global $Button1FK Global $Labels[200], $RecNo, $Check Global $idCheckbox, $TODAYONLY, $iWeekday, $iWeekName Global $DateFile[8][5], $DFDate, $DFDayName, $DFDay, $DFMonth, $DFYear, $TDate, $Date1 Global $LeadInit, $LeadFName, $LeadSName, $LeadDBS, $LeadDBSRenew, $LeadClass1, $LeadClass2, $LeadClass3, $LeadClass4, $LeadClass5, $LeadClass6, $Leaders, $tLeaders, $LRecords, $Leader, $Leadra[11], $Leadrb[11], $Leadc[11] Global $LLabels[11], $FormRegLeaders, $RegButton, $Label152, $ButtonStatus1, $ButtonStatus2, $FormStatus2, $Label152[100], $Label252[100], $Label52[100], $Label2[100], $Label352[100] Global $NetFilePath Global $iFileExists, $CheckNet, $g_idMemo, $LRegFiles, $LRegRecords, $LFileName, $hSearch, $RegLeaders Global $hDLL = DllOpen("user32.dll") Global $RLine Global $Status[100][2], $StatusLine[100], $StRef, $StChild, $StCarer1, $StCarer2, $StDate ;++ VARIABLES END +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ReadInfo() FiletoArray() ;DateFileCreate() ;Login() ;If $Valid = "True" Then Registration() ;EndIf Exit ;++ FUNCTIONS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Func Registration() #Region ### START Koda GUI section ### Form=c:\ap\scripts\kids check in\registration.kxf $FormReg = GUICreate("Registration" & " - System Version: " & $version & " - Build No: " & $build, 1500, 770, -1, -1) GUISetFont(11, 400, 0, "Segoe UI") $Label1 = GUICtrlCreateLabel($systemname , 0, 0, 1500, 60, BitOR($SS_CENTER, $WS_BORDER)) GUICtrlSetFont(-1, 24, 400, 0, "Segoe Print") GUICtrlSetColor(-1, 0x000080) GUICtrlSetBkColor(-1, 0xFFFFFF) $Group1 = GUICtrlCreateGroup("Children - Page " & $CurPage & " Records found " & $KidsFound, 10, 69,1540, 620) GUICtrlSetColor(-1, 0x0000FF) $Labelshead1 = GUICtrlCreateLabel("Main Carer Extra Carer ", 430, 83, 680, 20) GUICtrlSetFont(-1, 11, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1,($GUI_BKCOLOR_TRANSPARENT)) $Labels2 = GUICtrlCreateLabel($Kid1a[1] & " " & $Kid1b[1], 75, 110, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[52] = GUICtrlCreateLabel($Kid1c[1], 1040, 110, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label3 = GUICtrlCreateLabel($Kid1a[2] & " " & $Kid1b[2], 75, 170, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[53] = GUICtrlCreateLabel($Kid1c[2], 1040, 170, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label4 = GUICtrlCreateLabel($Kid1a[3] & " " & $Kid1b[3], 75, 230, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[54] = GUICtrlCreateLabel($Kid1c[3], 1040, 229, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label5 = GUICtrlCreateLabel($Kid1a[4] & " " & $Kid1b[4], 75, 290, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[55] = GUICtrlCreateLabel($Kid1c[4], 1040, 289, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label6 = GUICtrlCreateLabel($Kid1a[5] & " " & $Kid1b[5], 75, 350, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[56] = GUICtrlCreateLabel($Kid1c[5], 1040, 349, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label7 = GUICtrlCreateLabel($Kid1a[6] & " " & $Kid1b[6], 75, 410, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[57] = GUICtrlCreateLabel($Kid1c[6], 1040, 409, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label8 = GUICtrlCreateLabel($Kid1a[7] & " " & $Kid1b[7], 75, 470, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[58] = GUICtrlCreateLabel($Kid1c[7], 1040, 469, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label9 = GUICtrlCreateLabel($Kid1a[8] & " " & $Kid1b[8], 75, 530, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[59] = GUICtrlCreateLabel($Kid1c[8], 1040, 529, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label10 = GUICtrlCreateLabel($Kid1a[9] & " " & $Kid1b[9], 75, 590, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[60] = GUICtrlCreateLabel($Kid1c[9], 1040, 589, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label11 = GUICtrlCreateLabel($Kid1a[10] & " " & $Kid1b[10], 75, 650, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[61] = GUICtrlCreateLabel($Kid1c[10], 1040, 649, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Button11 = GUICtrlCreateButton("Page Up", 1208, 580, 100, 50) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0x00FFFF) $Button13 = GUICtrlCreateButton("Page Down", 1208, 640, 100, 50) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0x00FFFF) GUICtrlCreateGroup("", -99, -99, 1, 1) $RegClose = GUICtrlCreateButton("CLOSE", 1368, 640, 100, 50) GUICtrlSetColor(-1, 0x0000FF) GUICtrlSetBkColor(-1, 0xA6CAF0) GUISetState(@SW_SHOW) Reset() FindKids() ShowKids() #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $RegClose Exit ShowKids() Case $Button11 If $CurPage = "5" Then $CurPage = "4" ElseIf $CurPage = "4" Then $CurPage = "3" ElseIf $CurPage = "3" Then $CurPage = "2" ElseIf $CurPage = "2" Then $CurPage = "1" EndIf ShowKids() Case $Button13 If $CurPage = "1" Then $CurPage = "2" ElseIf $CurPage = "2" Then $CurPage = "3" ElseIf $CurPage = "3" Then $CurPage = "4" ElseIf $CurPage = "4" Then $CurPage = "5" EndIf ShowKids() EndSwitch Wend EndFunc ;==>Registration Func CurPage() If $CurPage = "1" Then $Q = $L - 51 ElseIf $CurPage = "2" Then $Q = $L - 41 ElseIf $CurPage = "3" Then ; $Q = 21 $Q = $L - 31 ElseIf $CurPage = "4" Then $Q = $L - 21 ElseIf $CurPage = "5" Then $Q = $L - 11 Endif EndFunc ;====> CurPage() Func PageDisp($L) If $L > $KidsFound Then $Label2[$L] = GUICtrlCreateLabel(" ", 75, $v, 280, 29) $Label352[$L] = GUICtrlCreateLabel("", 1040, $v, 100, 29) $Label152[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label252[$L] = GUICtrlCreateLabel("", 650, $v, 220, 29); Return Endif $Kid2d = $Kid1d[$L] If $Kid1a[$L] <> "" then $Label2[$L] = GUICtrlCreateLabel("(" & $L & ")" & $Kid1a[$L] & " " & $Kid1b[$L] , 75, $v, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") If $Kid1e[$L] <> "" then $Combo[$L] = GUICtrlCreateCombo("(" & $L & ")" & $Kid1e[$L], 380, $v, 220, 29, BitOR($CBS_DROPDOWN, $CBS_SIMPLE )) GUICtrlSetData(-1, $Kid1e[$L] & "|" & $Kid1f[$L], $Kid1e[$L]) GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label352[$L] = GUICtrlCreateLabel($Kid1c[$L], 1040, $v, 100, 29) if $Kid1f[$L] <> "" then $Combo2[$L] = GUICtrlCreateCombo("(" & $L & ")" & "", 650, $v, 220, 29, BitOR($CBS_DROPDOWN,$CBS_SIMPLE )) GUICtrlSetData(-1, $Combo2List[$L], "") GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) If StringRight($Kid1e[$L],3) = "[L]" Then $Label152[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label252[$L] = GUICtrlCreateLabel("Leader", 650, $v, 220, 29); GUICtrlSetColor(-1, 0x0000FF) Endif Else $Label252[$L] = GUICtrlCreateLabel("(" & $L & ")" & " No Additional Carers", 650, $v, 220, 29); EndIf EndIf GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) ; CheckReg() If $Kid1c[$L] = "Registered" Then $Label52[$L] = GUICtrlCreateLabel($Kid1c[$L], 1040, $v, 100, 29) $Label152[$L] =GUICtrlCreateLabel ($Kid1f[$L], 650, $v, 220, 29); GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) If StringRight($Kid1e[$L],3) = "[L]" Then $Label252[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label152[$L] = GUICtrlCreateLabel("Leader", 650, $v, 220, 29); GUICtrlSetColor(-1, 0x0000FF) Endif Endif Endif EndFunc Func ShowKids() If $CurPage = "XX" Then Return $LabelStatus4 = GUICtrlCreateLabel("Leaders", 30,723, 62, 24) $LabelStatus2 = GUICtrlCreateLabel($RegLeaders, 90, 723, 300, 28) GUICtrlSetColor(-1, 0x0000FF) $LabelStatus1 = GUICtrlCreateLabel("Kids Registered",550, 723, 116, 24) $LabelStatus3 = GUICtrlCreateLabel($KidsReg, 650, 723, 65, 28) GUICtrlSetColor(-1, 0x0000FF) $LabelStatus6 = GUICtrlCreateLabel("Carers Registered", 750, 723, 133, 24) $LabelStatus4 = GUICtrlCreateLabel($KidsCarReg, 870, 723, 65, 28) GUICtrlSetColor(-1, 0x0000FF) $Group1 = GUICtrlCreateGroup("Children - Page " & $CurPage & " Records found " & $KidsFound, 10, 69,1540, 620) If $CurPage = "1" Then $v = 110 For $L = 1 To 10 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "2" Then $v = 110 For $L = 11 To 20 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "3" Then $v = 110 For $L = 21 To 30 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "4" Then $v = 110 For $L = 31 To 40 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "5" Then $v = 110 For $L = 41 To 50 PageDisp($L) $v = $v + 60 Next EndIf GUISetState(@SW_SHOW) EndFunc ;==>ShowKids Func CheckCLDay() For $d = 1 to 7 If $ClDay = $DateFile[$d][1] Then $ClDate = $DateFile[$d][2] & "/" & $DateFile[$d][3] & "/" & $DateFile[$d][4] Return EndIf Next Endfunc Func FindKids() $KidsFound = 0 For $x = 1 To 100 $Kid1a[$x] = "" $Kid1b[$x] = "" $Kid1c[$x] = "" $Kid1d[$x] = "" $Kid1e[$x] = "" $Kid1f[$x] = "" Next $No = 0 $h = UBound($Children, $UBOUND_ROWS) $w = UBound($Children, $UBOUND_COLUMNS) For $x = 1 To 25 $Kid1a[$No] = $Children[$x - 1][0] $Kid1b[$No] = $Children[$x - 1][1] $Kid1d[$No] = $Children[$x - 1][6] $Kid1e[$No] = $Children[$x - 1][3] & " " & $Children[$x - 1][4] $Kid1f[$No] = $Children[$x - 1][5] & " " & $Children[$x - 1][6] $Kid2d = $Kid1d[$No] $Kid2f = $Kid1f[$No] $No = $No + 1 Next $KidsFound = $No If $No < 11 Then $Page1 = "1" ElseIf $No > 10 And $No < 21 Then $Page2 = "2" ElseIf $No > 20 And $No < 31 Then $Page3 = "3" ElseIf $No > 30 And $No < 41 Then $Page4 = "4" ElseIf $No > 40 And $No < 51 Then $Page5 = "5" ElseIf $No > 50 And $No < 61 Then $Page3 = "6" ElseIf $No > 60 And $No < 71 Then $Page4 = "7" ElseIf $No > 70 And $No < 81 Then $Page5 = "8" ElseIf $No > 80 And $No < 91 Then $Page4 = "9" ElseIf $No > 90 And $No < 101 Then $Page5 = "10" EndIf $CurPage = "1" EndFunc ;==>FindKids Func Reset() For $N = 0 To 100 $Kid1a[$N] = "" $Kid1b[$N] = "" $Kid1c[$N] = "" $Kid1d[$N] = "" $Kid1e[$N] = "" $Kid1f[$N] = "" Next EndFunc ;==>Reset Func ReadInfo() If Not _FileReadToArray($INFOFILE, $data) Then MsgBox(4096, "Search Error", " Error reading Info Settings File to Array error:" & @error) EndIf $s = $data[0] Global $data0[$s][2] Global $tdata[$s] For $x = 1 To $s $tdata = StringSplit($data[$x], ",") $t = UBound($tdata, $UBOUND_ROWS) For $N = 1 To $t - 1 $data0[$x - 1][$N - 1] = $tdata[$N] Next Next Global $version = "Beta 00.00" Global $systemname = "Registration System" Global $HomeDir = "\" Global $DataFile = " " Global $DataFile1 = " " Global $UserFile = " " Global $ChildrenFile = " " Global $ClassesFile = " " Global $LogFile = " " Global $MFfile = "Male|Female " Global $SchYrFile = "Baby|Todl|Nurs|PreS|Yr0|Yr1|Yr2|Yr3" Global $YN = "Yes|No" Global $LeadersFile = " " Global $CarerFile = " " EndFunc ;==>ReadInfo Func FiletoArray() ReadInfo() $Combolist1 = "" $ComboList2 = "" $ComboList5 = "" $ComboList6 = $MFfile $ComboList7 = $SchYrFile $ComboList8 = $YN $CLRecords = "" $CHRecords = "" ; Read the CSV file into an array. SplashTextOn("Loading Data", "Processing ..... ", 200, 50, -1, -1) $ComboList5 = "" For $x = 1 To $s $ComboList1 = "LL001" & "|" & "Little Lights" & "|" & "CHURCH" & "|" &"Tuesday" & "|" & "9:30-12:00" & "|" & "Betty and Marg" & "|" & "CHURCH" $ComboList5 = $ComboList1 Next Global $Children[25][7] For $s = 0 to 24 $Children[$s][0] = "Amy" & $s $Children[$s][1] = "Smith" & $s $Children[$s][2] = "Mum" & $s $Children[$s][3] = "" & $s $Children[$s][4] = "Dad" & $s $Children[$s][5] = "" & $s $Children[$s][6] = $s +100 Next _ArraySort($Children,0, 0, 0,0) SplashOff() EndFunc ;==>FiletoArray This is the script. I haven't posted like this before so am not sure why the last bit is in red?? Thanks
Zedna Posted November 19, 2019 Posted November 19, 2019 (edited) This is not runable reproducing script. It throws error: Search Error Error reading Info Settings File to Array error:1 + Quote "z.au3" (406) : ==> Subscript used on non-accessible variable.: $s = $data[0] $s = $data^ ERROR >Exit code: 1 Time: ... Edited November 19, 2019 by Zedna Resources UDF ResourcesEx UDF AutoIt Forum Search
secman Posted November 20, 2019 Author Posted November 20, 2019 Sorry about that. Forgot to check that it run in another folder. I have posted the corrected version below' I have created a much reduced script that demonstrates the issue with some junk data. If you run the script, click page down and roll your mouse over the second and third columns (Main Carer and Extra Carer the data changes back to that on page one. I can see why this should happen. In the full program I need to cope wit h100 records on 10 pages so this has to be sorted. Any suggestions would be gratefully received. Thanks expandcollapse popup#cs ---------------------------------------------------------------------------- Script Information COMPILE as x86 for compatibiliy (32-bit) AutoIt Version: 3.3.14.2 Author: Alan Pattle - June 2016 - System Name: Kids Check-In - Kids Registration System - Little Lights #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIConstants.au3> #include <Array.au3> #include <MsgBoxConstants.au3> #include <Date.au3> #include <StaticConstants.au3> #include <file.au3> #include <EditConstants.au3> #include <WindowsConstants.au3> #include <GUIListBox.au3> #include <OutlookEX.au3> #include <GUIListViewEx.au3> #include <ButtonConstants.au3> #include <GDIPlus.au3> #include <ScreenCapture.au3> #include <WinAPI.au3> #include <INet.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <DateTimeConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Misc.au3> ;++ VARIABLES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Global $version ;system version from KCIInfoLL Global $build = "0088" ; Version of this module Global $var Global $INFOFILE = "KCIInfo.TXT" ;Global $UserFile = "Users.CSV" Global $Valid = "False" Global $UserName ; = "APATTLE" Global $Password Global $UserInput, $Users, $UserType, $AdminMenu, $RegMenu Global $PassInput Global $DataFile Global $DataFile1 Global $HomeDir Global $CarerFile Global $data, $data0, $tdata Global $s, $x, $N, $Q, $Y, $L, $K, $Q1, $v, $vr Global $Ls, $Lx, $LN, $LQ, $LY, $LL, $LK, $LQ1 Global $Line, $Line2, $Line3 Global $systemname= "Registration System", $UserFile, $tClasses, $Classes, $ClassesFile, $ThisClass, $tChildren, $Children, $ChildrenFile, $CLRecords, $CHRecords, $AttndFile Global $Kids, $KidNo, $KidName, $Kid, $Child, $Child1, $Kid2d, $Kid2e, $Kid2f Global $ClCode, $ClName, $ClOrg, $ClRun, $ClDay, $ClTime, $ClDate Global $ComboList1, $Combolist1Def, $ComboList2, $Combolist2Def Global $ComboList5, $Combolist5Def, $ComboList5, $Combolist5Def Global $ComboList10, $Combolist10Def Global $Combo1, $Combo2, $Combo10, $Combo5 Global $ComboList30, $Combolist30Def, $Combo30 Global $ComboList40, $Combolist40Def, $Combo40 Global $ComboList[101], $Combo[101] Global $Combo2List[101], $Combo2[101] Global $ComboList41, $Combolist41Def, $Combo41 Global $ComboList42, $Combolist42Def, $Combo42 Global $Kid1a[101], $Kid1b[101], $Kid1c[101], $Kid1d[101], $Kid1e[101], $Kid1f[101], $Kid1enew[101], $Kid1fnew[101], $KidsFound = 0, $KidsReg = 0, $KidsCarReg = 0 Global $Page1 = "xx", $Page2 = "xx", $Page3 = "xx", $CurPage = "1", $Page4 = "xx", $Page5 = "xx" Global $Form1_1, $Form1_2, $FormAC, $FormReg Global $KidFName, $KidSName, $KidDoB, $KidP1FName, $KidP1SName, $KidP1Phone, $KidP2FName, $KidP2SName, $KidP2Phone, $KidClass1, $KidClass2, $KidClass3, $KidClass4 Global $KidGender, $KidSchYr, $KidAddress1, $KidAddress2, $KidPostCode, $KidPhone, $KidEmail, $KidSpConds, $KidPhoto, $KidHBCNo Global $CareKidNo, $CareFName, $CareSName, $CarePhone, $CareEmail, $CareClass1, $CareClass2, $CareRole, $MRecords, $CarerRecords, $AddCarer, $CarersReg Global $Next = "No", $No Global $Button1FK Global $Labels[200], $RecNo, $Check Global $idCheckbox, $TODAYONLY, $iWeekday, $iWeekName Global $DateFile[8][5], $DFDate, $DFDayName, $DFDay, $DFMonth, $DFYear, $TDate, $Date1 Global $LeadInit, $LeadFName, $LeadSName, $LeadDBS, $LeadDBSRenew, $LeadClass1, $LeadClass2, $LeadClass3, $LeadClass4, $LeadClass5, $LeadClass6, $Leaders, $tLeaders, $LRecords, $Leader, $Leadra[11], $Leadrb[11], $Leadc[11] Global $LLabels[11], $FormRegLeaders, $RegButton, $Label152, $ButtonStatus1, $ButtonStatus2, $FormStatus2, $Label152[100], $Label252[100], $Label52[100], $Label2[100], $Label352[100] Global $NetFilePath Global $iFileExists, $CheckNet, $g_idMemo, $LRegFiles, $LRegRecords, $LFileName, $hSearch, $RegLeaders Global $hDLL = DllOpen("user32.dll") Global $RLine Global $Status[100][2], $StatusLine[100], $StRef, $StChild, $StCarer1, $StCarer2, $StDate ;++ VARIABLES END +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ReadInfo() FiletoArray() ;DateFileCreate() ;Login() ;If $Valid = "True" Then Registration() ;EndIf Exit ;++ FUNCTIONS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Func Registration() #Region ### START Koda GUI section ### Form=c:\ap\scripts\kids check in\registration.kxf $FormReg = GUICreate("Registration" & " - System Version: " & $version & " - Build No: " & $build, 1500, 770, -1, -1) GUISetFont(11, 400, 0, "Segoe UI") $Label1 = GUICtrlCreateLabel($systemname , 0, 0, 1500, 60, BitOR($SS_CENTER, $WS_BORDER)) GUICtrlSetFont(-1, 24, 400, 0, "Segoe Print") GUICtrlSetColor(-1, 0x000080) GUICtrlSetBkColor(-1, 0xFFFFFF) $Group1 = GUICtrlCreateGroup("Children - Page " & $CurPage & " Records found " & $KidsFound, 10, 69,1540, 620) GUICtrlSetColor(-1, 0x0000FF) $Labelshead1 = GUICtrlCreateLabel("Main Carer Extra Carer ", 430, 83, 680, 20) GUICtrlSetFont(-1, 11, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1,($GUI_BKCOLOR_TRANSPARENT)) $Labels2 = GUICtrlCreateLabel($Kid1a[1] & " " & $Kid1b[1], 75, 110, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[52] = GUICtrlCreateLabel($Kid1c[1], 1040, 110, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label3 = GUICtrlCreateLabel($Kid1a[2] & " " & $Kid1b[2], 75, 170, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[53] = GUICtrlCreateLabel($Kid1c[2], 1040, 170, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label4 = GUICtrlCreateLabel($Kid1a[3] & " " & $Kid1b[3], 75, 230, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[54] = GUICtrlCreateLabel($Kid1c[3], 1040, 229, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label5 = GUICtrlCreateLabel($Kid1a[4] & " " & $Kid1b[4], 75, 290, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[55] = GUICtrlCreateLabel($Kid1c[4], 1040, 289, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label6 = GUICtrlCreateLabel($Kid1a[5] & " " & $Kid1b[5], 75, 350, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[56] = GUICtrlCreateLabel($Kid1c[5], 1040, 349, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label7 = GUICtrlCreateLabel($Kid1a[6] & " " & $Kid1b[6], 75, 410, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[57] = GUICtrlCreateLabel($Kid1c[6], 1040, 409, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label8 = GUICtrlCreateLabel($Kid1a[7] & " " & $Kid1b[7], 75, 470, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[58] = GUICtrlCreateLabel($Kid1c[7], 1040, 469, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label9 = GUICtrlCreateLabel($Kid1a[8] & " " & $Kid1b[8], 75, 530, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[59] = GUICtrlCreateLabel($Kid1c[8], 1040, 529, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label10 = GUICtrlCreateLabel($Kid1a[9] & " " & $Kid1b[9], 75, 590, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[60] = GUICtrlCreateLabel($Kid1c[9], 1040, 589, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label11 = GUICtrlCreateLabel($Kid1a[10] & " " & $Kid1b[10], 75, 650, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Labels[61] = GUICtrlCreateLabel($Kid1c[10], 1040, 649, 100, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Button11 = GUICtrlCreateButton("Page Up", 1208, 580, 100, 50) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0x00FFFF) $Button13 = GUICtrlCreateButton("Page Down", 1208, 640, 100, 50) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0x00FFFF) GUICtrlCreateGroup("", -99, -99, 1, 1) $RegClose = GUICtrlCreateButton("CLOSE", 1368, 640, 100, 50) GUICtrlSetColor(-1, 0x0000FF) GUICtrlSetBkColor(-1, 0xA6CAF0) GUISetState(@SW_SHOW) Reset() FindKids() ShowKids() #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $RegClose Exit ShowKids() Case $Button11 If $CurPage = "5" Then $CurPage = "4" ElseIf $CurPage = "4" Then $CurPage = "3" ElseIf $CurPage = "3" Then $CurPage = "2" ElseIf $CurPage = "2" Then $CurPage = "1" EndIf ShowKids() Case $Button13 If $CurPage = "1" Then $CurPage = "2" ElseIf $CurPage = "2" Then $CurPage = "3" ElseIf $CurPage = "3" Then $CurPage = "4" ElseIf $CurPage = "4" Then $CurPage = "5" EndIf ShowKids() EndSwitch Wend EndFunc ;==>Registration Func CurPage() If $CurPage = "1" Then $Q = $L - 51 ElseIf $CurPage = "2" Then $Q = $L - 41 ElseIf $CurPage = "3" Then ; $Q = 21 $Q = $L - 31 ElseIf $CurPage = "4" Then $Q = $L - 21 ElseIf $CurPage = "5" Then $Q = $L - 11 Endif EndFunc ;====> CurPage() Func PageDisp($L) If $L > $KidsFound Then $Label2[$L] = GUICtrlCreateLabel(" ", 75, $v, 280, 29) $Label352[$L] = GUICtrlCreateLabel("", 1040, $v, 100, 29) $Label152[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label252[$L] = GUICtrlCreateLabel("", 650, $v, 220, 29); Return Endif $Kid2d = $Kid1d[$L] If $Kid1a[$L] <> "" then $Label2[$L] = GUICtrlCreateLabel("(" & $L & ")" & $Kid1a[$L] & " " & $Kid1b[$L] , 75, $v, 280, 29) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") If $Kid1e[$L] <> "" then $Combo[$L] = GUICtrlCreateCombo("(" & $L & ")" & $Kid1e[$L], 380, $v, 220, 29, BitOR($CBS_DROPDOWN, $CBS_SIMPLE )) GUICtrlSetData(-1, $Kid1e[$L] & "|" & $Kid1f[$L], $Kid1e[$L]) GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) $Label352[$L] = GUICtrlCreateLabel($Kid1c[$L], 1040, $v, 100, 29) if $Kid1f[$L] <> "" then $Combo2[$L] = GUICtrlCreateCombo("(" & $L & ")" & "", 650, $v, 220, 29, BitOR($CBS_DROPDOWN,$CBS_SIMPLE )) GUICtrlSetData(-1, $Combo2List[$L], "") GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) If StringRight($Kid1e[$L],3) = "[L]" Then $Label152[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label252[$L] = GUICtrlCreateLabel("Leader", 650, $v, 220, 29); GUICtrlSetColor(-1, 0x0000FF) Endif Else $Label252[$L] = GUICtrlCreateLabel("(" & $L & ")" & " No Additional Carers", 650, $v, 220, 29); EndIf EndIf GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) ; CheckReg() If $Kid1c[$L] = "Registered" Then $Label52[$L] = GUICtrlCreateLabel($Kid1c[$L], 1040, $v, 100, 29) $Label152[$L] =GUICtrlCreateLabel ($Kid1f[$L], 650, $v, 220, 29); GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, 0xFFFFFF) If StringRight($Kid1e[$L],3) = "[L]" Then $Label252[$L] = GUICtrlCreateLabel("", 380, $v, 220, 29) $Label152[$L] = GUICtrlCreateLabel("Leader", 650, $v, 220, 29); GUICtrlSetColor(-1, 0x0000FF) Endif Endif Endif EndFunc Func ShowKids() If $CurPage = "XX" Then Return $LabelStatus4 = GUICtrlCreateLabel("Leaders", 30,723, 62, 24) $LabelStatus2 = GUICtrlCreateLabel($RegLeaders, 90, 723, 300, 28) GUICtrlSetColor(-1, 0x0000FF) $LabelStatus1 = GUICtrlCreateLabel("Kids Registered",550, 723, 116, 24) $LabelStatus3 = GUICtrlCreateLabel($KidsReg, 650, 723, 65, 28) GUICtrlSetColor(-1, 0x0000FF) $LabelStatus6 = GUICtrlCreateLabel("Carers Registered", 750, 723, 133, 24) $LabelStatus4 = GUICtrlCreateLabel($KidsCarReg, 870, 723, 65, 28) GUICtrlSetColor(-1, 0x0000FF) $Group1 = GUICtrlCreateGroup("Children - Page " & $CurPage & " Records found " & $KidsFound, 10, 69,1540, 620) If $CurPage = "1" Then $v = 110 For $L = 1 To 10 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "2" Then $v = 110 For $L = 11 To 20 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "3" Then $v = 110 For $L = 21 To 30 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "4" Then $v = 110 For $L = 31 To 40 PageDisp($L) $v = $v + 60 Next ElseIf $CurPage = "5" Then $v = 110 For $L = 41 To 50 PageDisp($L) $v = $v + 60 Next EndIf GUISetState(@SW_SHOW) EndFunc ;==>ShowKids Func CheckCLDay() For $d = 1 to 7 If $ClDay = $DateFile[$d][1] Then $ClDate = $DateFile[$d][2] & "/" & $DateFile[$d][3] & "/" & $DateFile[$d][4] Return EndIf Next Endfunc Func FindKids() $KidsFound = 0 For $x = 1 To 100 $Kid1a[$x] = "" $Kid1b[$x] = "" $Kid1c[$x] = "" $Kid1d[$x] = "" $Kid1e[$x] = "" $Kid1f[$x] = "" Next $No = 0 $h = UBound($Children, $UBOUND_ROWS) $w = UBound($Children, $UBOUND_COLUMNS) For $x = 1 To 25 $Kid1a[$No] = $Children[$x - 1][0] $Kid1b[$No] = $Children[$x - 1][1] $Kid1d[$No] = $Children[$x - 1][6] $Kid1e[$No] = $Children[$x - 1][3] & " " & $Children[$x - 1][4] $Kid1f[$No] = $Children[$x - 1][5] & " " & $Children[$x - 1][6] $Kid2d = $Kid1d[$No] $Kid2f = $Kid1f[$No] $No = $No + 1 Next $KidsFound = $No If $No < 11 Then $Page1 = "1" ElseIf $No > 10 And $No < 21 Then $Page2 = "2" ElseIf $No > 20 And $No < 31 Then $Page3 = "3" ElseIf $No > 30 And $No < 41 Then $Page4 = "4" ElseIf $No > 40 And $No < 51 Then $Page5 = "5" ElseIf $No > 50 And $No < 61 Then $Page3 = "6" ElseIf $No > 60 And $No < 71 Then $Page4 = "7" ElseIf $No > 70 And $No < 81 Then $Page5 = "8" ElseIf $No > 80 And $No < 91 Then $Page4 = "9" ElseIf $No > 90 And $No < 101 Then $Page5 = "10" EndIf $CurPage = "1" EndFunc ;==>FindKids Func Reset() For $N = 0 To 100 $Kid1a[$N] = "" $Kid1b[$N] = "" $Kid1c[$N] = "" $Kid1d[$N] = "" $Kid1e[$N] = "" $Kid1f[$N] = "" Next EndFunc ;==>Reset Func ReadInfo() Global $version = "Beta 00.00" Global $systemname = "Registration System" Global $HomeDir = "\" Global $DataFile = " " Global $DataFile1 = " " Global $UserFile = " " Global $ChildrenFile = " " Global $ClassesFile = " " Global $LogFile = " " Global $MFfile = "Male|Female " Global $SchYrFile = "Baby|Todl|Nurs|PreS|Yr0|Yr1|Yr2|Yr3" Global $YN = "Yes|No" Global $LeadersFile = " " Global $CarerFile = " " EndFunc ;==>ReadInfo Func FiletoArray() ReadInfo() $Combolist1 = "" $ComboList2 = "" $ComboList5 = "" $ComboList6 = $MFfile $ComboList7 = $SchYrFile $ComboList8 = $YN $CLRecords = "" $CHRecords = "" $ComboList5 = "" For $x = 1 To $s $ComboList1 = "LL001" & "|" & "Little Lights" & "|" & "CHURCH" & "|" &"Tuesday" & "|" & "9:30-12:00" & "|" & "Betty and Marg" & "|" & "CHURCH" $ComboList5 = $ComboList1 Next ;Generate Data Global $Children[25][7] For $s = 0 to 24 $Children[$s][0] = "Amy" & $s $Children[$s][1] = "Smith" & $s $Children[$s][2] = "Mum" & $s $Children[$s][3] = "Smith" & $s $Children[$s][4] = "Dad" & $s $Children[$s][5] = "Smith" & $s $Children[$s][6] = $s +100 Next _ArraySort($Children,0, 0, 0,0) EndFunc ;==>FiletoArray
Zedna Posted November 20, 2019 Posted November 20, 2019 (edited) Your whole GUI concept is totally wrong. Don't use GUICtrlCreateLabel() GUICtrlCreateCombo() in ShowKids() and PageDisp() Instead use only GUICtrlSetData() there. So you have to create labels/comboboxes only once at start and later only change (reset or set) their data/content by GUICtrlSetData() This is also related to your "mouse over problem" because you create more and more controls (label/combobox) over and over at the same place on GUI and they overlap. EDIT: I recommend to use ListView control instead of bunch label/comboboxes and buttons page up/page down, look at similar topic here: Edited November 20, 2019 by Zedna Resources UDF ResourcesEx UDF AutoIt Forum Search
Nine Posted November 20, 2019 Posted November 20, 2019 @Zedna is perfectly right. Also : If you are to create multiple Gui objects with the same font, size and bk color, use the general form of it GUISetFont (...) and GUISetBkColor (...) You could also create your multiple labels in a loop instead of creating them one after the other. Those 2 measures would greatly reduce the length of your script and would increase its readability. I suggest you revise your script accordingly and submit us the result, so we can further optimise your code (if you wish too ofc). “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
secman Posted November 20, 2019 Author Posted November 20, 2019 Many thanks @Zedna and @Nine I will look into modifying the script inline with your suggestions. I will get back to you if I need any more assistance.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now