How do I sync my Dataset in Visual Studio with SQL Server Datatype Changes without losing custom queries?

I know that similar questions have been asked, but I haven’t been able to get an exact answer.

I have a Dataset.xsd item in Visual studio that is based on SQL Server tables. If make lots of SQL Server column changes (data length, null to not null, new columns, varchar to nvarchar), how can I run the Custom Tool without it potentially wiping out my TableAdapter’s existing custom queries? Or is there another way to sync them? I can manually modify the table columns in the XSD file, but it’s getting tedious if I have hundreds to make, And I am also afraid I might miss one or two.

BTW, I am currently using VS2017, SQL 2016

Excel – Visual Basic For Applications – Mastermind Game

For those who are unfamiliar with the game:

https://en.wikipedia.org/wiki/Mastermind_(board_game)

A link to the workbook:

https://github.com/Evanml2030/Excel-Mastermind

Had trouble getting the form and scroll bar to adjust based on the resolution of the monitor that it is inside. It does not work on screens running with a resolution greater than 1600 x 900. See the resize me function in the form code, labeled front end, to take a look at the code.

APPLICATION:

Option Explicit  'ENUMERATED TYPES  Public Enum GamePieceColor     rgbRed = 255     rgbGreen = 65280     rgbBlue = 16711680     rgbYellow = 65535     rgbBlack = 0     rgbWhite = 16777215     rgbGrey = 12632256     rgbLightGrey = -2147483633     rgbNone = -1 End Enum  'STRUCTS  Public Type GuessArray     ColorOne                As GamePieceColor     ColorTwo                As GamePieceColor     ColorThree              As GamePieceColor     ColorFour               As GamePieceColor End Type  Private Type GameOver     TrueFalse               As Boolean     Reason                  As String End Type  Private Type GuessValid     TrueFalse               As Boolean     Reason                  As String End Type  Public Type ResponsePegs     MatchesComplete         As Long     MatchesColor            As Long End Type  Public Type RequestNextColor     Row                     As Long     CurrentColor            As GamePieceColor End Type  Public Type RequestCheckGuess     GuessArray              As GuessArray End Type  Public Type ResponseNextColor     GuessNumber             As Long     NextColor               As GamePieceColor End Type  Public Type ResponseCheckGuess     GuessValid              As GuessValid     GuessNumber             As Long     ResponsePegs            As ResponsePegs     GameOver                As GameOver End Type  'GLOBAL VARIABLES  Private GameOver                    As Boolean Private CurrentGuessNumber          As Long Private MasterGuessArray            As GuessArray Private MasterGuessArrayVisible     As Boolean Private Const MaxGuesses = 9  'GAME LOOP  Public Sub Main()     Dim GameSpace As GameSpace     Set GameSpace = New GameSpace     GameSpace.Show End Sub  Public Sub GameLoop(ByRef GameSpace As GameSpace)     GameOver = False     CurrentGuessNumber = 0     MasterGuessArray = GenerateMasterGuessArray     MasterGuessArrayVisible = False      Do While GameOver = False         DoEvents     On Error GoTo UserFormUnloaded:     If GameSpace.Visible = False Then         Exit Do     End If         GameSpace.Resize     Loop      Unload GameSpace UserFormUnloaded: End Sub  Private Function GenerateMasterGuessArray() As GuessArray     GenerateMasterGuessArray.ColorOne = RandomColor     GenerateMasterGuessArray.ColorTwo = RandomColor     GenerateMasterGuessArray.ColorThree = RandomColor     GenerateMasterGuessArray.ColorFour = RandomColor End Function  Private Function RandomColor() As GamePieceColor     Dim RandomNumber As Long     RandomNumber = Application.WorksheetFunction.RandBetween(0, 5)     Select Case RandomNumber         Case 0             RandomColor = rgbBlack         Case 1             RandomColor = rgbBlue         Case 2             RandomColor = rgbGreen         Case 3             RandomColor = rgbRed         Case 4             RandomColor = rgbWhite         Case 5             RandomColor = rgbYellow     End Select End Function  'GAME FUNCTIONS  Public Function GetCheckGuess(ByRef RequestCheckGuess As RequestCheckGuess) As ResponseCheckGuess     If CheckMaxGuessesExceeded = True Then         GameOver = True         GetCheckGuess.GameOver.TrueFalse = True         GetCheckGuess.GameOver.Reason = "YOU LOSE! BETTER LUCK NEXT TIME!"         Exit Function     End If      If CheckGuessValid(RequestCheckGuess.GuessArray) = False Then         GetCheckGuess.GuessValid.TrueFalse = False         GetCheckGuess.GuessValid.Reason = "PLEASE DO NOT INCLUDE ANY GREY SQUARES IN YOUR GUESS"         Exit Function     End If      GetCheckGuess = GuessValidResponseAssemble(RequestCheckGuess.GuessArray)     CurrentGuessNumber = CurrentGuessNumber + 1      If CheckGameWon(GetCheckGuess.ResponsePegs) = True Then         GameOver = True         GetCheckGuess.GameOver.TrueFalse = True         GetCheckGuess.GameOver.Reason = "CONGRAGULATIONS, YOU WIN!"         Exit Function     End If End Function  Private Function CheckMaxGuessesExceeded() As Boolean     If CurrentGuessNumber > MaxGuesses Then         CheckMaxGuessesExceeded = True     Else         CheckMaxGuessesExceeded = False     End If End Function  Private Function CheckGuessValid(ByRef GuessArray As GuessArray) As Boolean     If (GuessArray.ColorOne = rgbGrey) Or _         (GuessArray.ColorTwo = rgbGrey) Or _         (GuessArray.ColorThree = rgbGrey) Or _         (GuessArray.ColorFour = rgbGrey) Then         CheckGuessValid = False     Else         CheckGuessValid = True     End If End Function  Private Function GuessValidResponseAssemble(ByRef GuessArray As GuessArray) As ResponseCheckGuess     GuessValidResponseAssemble.GuessValid.TrueFalse = True     GuessValidResponseAssemble.GuessNumber = CurrentGuessNumber     GuessValidResponseAssemble.ResponsePegs = DetermineMatches(GuessArray) End Function  Private Function CheckGameWon(ByRef ResponsePegs As ResponsePegs) As Boolean     If ResponsePegs.MatchesComplete = 4 Then         CheckGameWon = True     Else         CheckGameWon = False     End If End Function  Private Function DetermineMatches(ByRef GuessArray As GuessArray) As ResponsePegs     Dim TempMasterGuessArray As GuessArray     TempMasterGuessArray = MasterGuessArray      If GuessArray.ColorOne = TempMasterGuessArray.ColorOne Then         GuessArray.ColorOne = rgbNone         TempMasterGuessArray.ColorOne = rgbNone         DetermineMatches.MatchesComplete = DetermineMatches.MatchesComplete + 1     End If      If GuessArray.ColorTwo = TempMasterGuessArray.ColorTwo Then         GuessArray.ColorTwo = rgbNone         TempMasterGuessArray.ColorTwo = rgbNone         DetermineMatches.MatchesComplete = DetermineMatches.MatchesComplete + 1     End If      If GuessArray.ColorThree = TempMasterGuessArray.ColorThree Then         GuessArray.ColorThree = rgbNone         TempMasterGuessArray.ColorThree = rgbNone         DetermineMatches.MatchesComplete = DetermineMatches.MatchesComplete + 1     End If      If GuessArray.ColorFour = TempMasterGuessArray.ColorFour Then         GuessArray.ColorFour = rgbNone         TempMasterGuessArray.ColorFour = rgbNone         DetermineMatches.MatchesComplete = DetermineMatches.MatchesComplete + 1     End If      If TempMasterGuessArray.ColorOne <> rgbNone Then         If GuessArray.ColorTwo = TempMasterGuessArray.ColorOne Then             GuessArray.ColorTwo = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorThree = TempMasterGuessArray.ColorOne Then             GuessArray.ColorThree = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorFour = TempMasterGuessArray.ColorOne Then             GuessArray.ColorFour = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         End If     End If      If TempMasterGuessArray.ColorTwo <> rgbNone Then         If GuessArray.ColorOne = TempMasterGuessArray.ColorTwo Then             GuessArray.ColorOne = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorThree = TempMasterGuessArray.ColorTwo Then             GuessArray.ColorThree = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorFour = TempMasterGuessArray.ColorTwo Then             GuessArray.ColorFour = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         End If     End If      If TempMasterGuessArray.ColorThree <> rgbNone Then         If GuessArray.ColorOne = TempMasterGuessArray.ColorThree Then             GuessArray.ColorOne = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorTwo = TempMasterGuessArray.ColorThree Then             GuessArray.ColorTwo = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorFour = TempMasterGuessArray.ColorThree Then             GuessArray.ColorFour = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         End If     End If      If TempMasterGuessArray.ColorFour <> rgbNone Then         If GuessArray.ColorOne = TempMasterGuessArray.ColorFour Then             GuessArray.ColorOne = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorTwo = TempMasterGuessArray.ColorFour Then             GuessArray.ColorTwo = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         ElseIf GuessArray.ColorThree = TempMasterGuessArray.ColorFour Then             GuessArray.ColorThree = rgbNone             TempMasterGuessArray.ColorOne = rgbNone             DetermineMatches.MatchesColor = DetermineMatches.MatchesColor + 1         End If     End If End Function  Public Function GetNextColor(ByRef RequestNextColor As RequestNextColor) As ResponseNextColor     GetNextColor.GuessNumber = CurrentGuessNumber     Select Case RequestNextColor.CurrentColor         Case rgbGrey             GetNextColor.NextColor = rgbBlack         Case rgbBlack             GetNextColor.NextColor = rgbBlue         Case rgbBlue             GetNextColor.NextColor = rgbGreen         Case rgbGreen             GetNextColor.NextColor = rgbRed         Case rgbRed             GetNextColor.NextColor = rgbWhite         Case rgbWhite             GetNextColor.NextColor = rgbYellow         Case rgbYellow             GetNextColor.NextColor = rgbBlack     End Select End Function  Public Function GetCurrentGuessNumber() As Long     GetCurrentGuessNumber = CurrentGuessNumber End Function  Public Function GetMasterRow() As GuessArray     GetMasterRow.ColorOne = MasterGuessArray.ColorOne     GetMasterRow.ColorTwo = MasterGuessArray.ColorTwo     GetMasterRow.ColorThree = MasterGuessArray.ColorThree     GetMasterRow.ColorFour = MasterGuessArray.ColorFour End Function  Public Sub ToggleMasterGuessArrayVisible()     MasterGuessArrayVisible = Not MasterGuessArrayVisible End Sub  Public Function GetMasterGuessArrayVisible() As Boolean     GetMasterGuessArrayVisible = MasterGuessArrayVisible End Function 

FRONT END:

Option Explicit  'API DECLARATIONS  Private Declare PtrSafe Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function MonitorFromWindow Lib "user32.dll" (ByVal hwnd As LongPtr, ByVal DWORD As LongPtr) As LongPtr Private Declare PtrSafe Function GetMonitorInfoA Lib "user32.dll" (ByVal hMonitor As LongPtr, ByRef lpmi As MONITORINFOEX) As Boolean  'STRUCTS  Private Type RECT     X1  As Long     Y1 As Long     X2 As Long     Y2 As Long End Type  Private Type MONITORINFOEX     cbSize      As Long     rcMonitor   As RECT     rcWork      As RECT     dwFlags     As Long End Type  Private Type MONITORRESOLUTION     x As Long     Y As Long End Type  'GLOBALS  Private Const MONITOR_DEFAULTTONEAREST = 2  'GAME LOOP INITIATE  Private Sub UserForm_Activate()     MasterMind.GameLoop Me End Sub  'RESIZE  Public Sub Resize() Dim hwnd                As LongPtr Dim monitorHwnd         As LongPtr Dim returnValue         As Boolean Dim monitorInfo         As MONITORINFOEX Dim rcMonitorRec        As RECT Dim monitorRes          As MONITORRESOLUTION      hwnd = FindWindow("ThunderDFrame", Me.Caption)     monitorHwnd = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST)      monitorInfo.cbSize = LenB(monitorInfo)     returnValue = GetMonitorInfoA(monitorHwnd, monitorInfo)     rcMonitorRec = monitorInfo.rcMonitor      monitorRes.x = rcMonitorRec.X2 - rcMonitorRec.X1     monitorRes.Y = rcMonitorRec.Y2 - rcMonitorRec.Y1      Me.Height = (monitorRes.Y - (monitorRes.Y * 0.3955)) End Sub  'GUESS  Private Sub GuessButton_Click()     Guess End Sub  Private Sub Guess()     Dim Request As RequestCheckGuess     Dim Response As ResponseCheckGuess      Request = AssembleRequest     Response = MasterMind.GetCheckGuess(Request)     MatchControlsFill Response.GuessNumber, Response.ResponsePegs.MatchesComplete, Response.ResponsePegs.MatchesColor     HandleResponseGameOver Response End Sub  Private Function AssembleRequest() As RequestCheckGuess     AssembleRequest.GuessArray.ColorOne = Me.Controls.Item("A" & MasterMind.GetCurrentGuessNumber).BackColor     AssembleRequest.GuessArray.ColorTwo = Me.Controls.Item("B" & MasterMind.GetCurrentGuessNumber).BackColor     AssembleRequest.GuessArray.ColorThree = Me.Controls.Item("C" & MasterMind.GetCurrentGuessNumber).BackColor     AssembleRequest.GuessArray.ColorFour = Me.Controls.Item("D" & MasterMind.GetCurrentGuessNumber).BackColor End Function  Private Sub MatchControlsFill(ByRef Row As Long, ByRef MatchesComplete As Long, ByRef MatchesColor As Long)     If MatchesComplete > 0 Then         MatchesComplete = MatchesComplete - 1         Me.Controls("Match_A" & Row).BackColor = 0     ElseIf MatchesColor > 0 Then        MatchesColor = MatchesColor - 1         Me.Controls("Match_A" & Row).BackColor = 16777215     End If      If MatchesComplete > 0 Then         MatchesComplete = MatchesComplete - 1         Me.Controls("Match_B" & Row).BackColor = 0     ElseIf MatchesColor > 0 Then         MatchesColor = MatchesColor - 1         Me.Controls("Match_B" & Row).BackColor = 16777215     End If      If MatchesComplete > 0 Then         MatchesComplete = MatchesComplete - 1         Me.Controls("Match_C" & Row).BackColor = 0     ElseIf MatchesColor > 0 Then         MatchesColor = MatchesColor - 1         Me.Controls("Match_C" & Row).BackColor = 16777215     End If      If MatchesComplete > 0 Then         MatchesComplete = MatchesComplete - 1         Me.Controls("Match_D" & Row).BackColor = 0     ElseIf MatchesColor > 0 Then         MatchesColor = MatchesColor - 1         Me.Controls("Match_D" & Row).BackColor = 16777215     End If End Sub  Private Sub HandleResponseGameOver(ByRef Response As ResponseCheckGuess)     If Response.GameOver.TrueFalse = True Then         UnhideMasterGuessArray         MsgBox Response.GameOver.Reason         Me.Hide         Exit Sub     ElseIf Response.GuessValid.TrueFalse = False Then         MsgBox Response.GuessValid.Reason         Exit Sub     End If End Sub  'BUTTON COLOR ROTATION  Private Sub A0_Click()     RotateColor "A", 0, Me.A0.BackColor End Sub  Private Sub B0_Click()     RotateColor "B", 0, Me.B0.BackColor End Sub  Private Sub C0_Click()     RotateColor "C", 0, Me.C0.BackColor End Sub  Private Sub D0_Click()     RotateColor "D", 0, Me.D0.BackColor End Sub  Private Sub A1_Click()     RotateColor "A", 1, Me.A1.BackColor End Sub  Private Sub B1_Click()     RotateColor "B", 1, Me.B1.BackColor End Sub  Private Sub C1_Click()     RotateColor "C", 1, Me.C1.BackColor End Sub  Private Sub D1_Click()     RotateColor "D", 1, Me.D1.BackColor End Sub  Private Sub A2_Click()     RotateColor "A", 2, Me.A2.BackColor End Sub  Private Sub B2_Click()     RotateColor "B", 2, Me.B2.BackColor End Sub  Private Sub C2_Click()     RotateColor "C", 2, Me.C2.BackColor End Sub  Private Sub D2_Click()     RotateColor "D", 2, Me.D2.BackColor End Sub  Private Sub A3_Click()     RotateColor "A", 3, Me.A3.BackColor End Sub  Private Sub B3_Click()    RotateColor "B", 3, Me.B3.BackColor End Sub  Private Sub C3_Click()     RotateColor "C", 3, Me.C3.BackColor End Sub  Private Sub D3_Click()     RotateColor "D", 3, Me.D3.BackColor End Sub  Private Sub A4_Click()     RotateColor "A", 4, Me.A4.BackColor End Sub  Private Sub B4_Click()     RotateColor "B", 4, Me.B4.BackColor End Sub  Private Sub C4_Click()     RotateColor "C", 4, Me.C4.BackColor End Sub  Private Sub D4_Click()     RotateColor "D", 4, Me.D4.BackColor End Sub  Private Sub A5_Click()     RotateColor "A", 5, Me.A5.BackColor End Sub  Private Sub B5_Click()     RotateColor "B", 5, Me.B5.BackColor End Sub  Private Sub C5_Click()     RotateColor "C", 5, Me.C5.BackColor End Sub  Private Sub D5_Click()     RotateColor "D", 5, Me.D5.BackColor End Sub  Private Sub A6_Click()     RotateColor "A", 6, Me.A6.BackColor End Sub  Private Sub B6_Click()     RotateColor "B", 6, Me.B6.BackColor End Sub  Private Sub C6_Click()     RotateColor "C", 6, Me.C6.BackColor End Sub  Private Sub D6_Click()     RotateColor "D", 6, Me.D6.BackColor End Sub  Private Sub A7_Click()     RotateColor "A", 7, Me.A7.BackColor End Sub  Private Sub B7_Click()     RotateColor "B", 7, Me.B7.BackColor End Sub  Private Sub C7_Click()     RotateColor "C", 7, Me.C7.BackColor End Sub  Private Sub D7_Click()     RotateColor "D", 7, Me.D7.BackColor End Sub  Private Sub A8_Click()     RotateColor "A", 8, Me.A8.BackColor End Sub  Private Sub B8_Click()     RotateColor "B", 8, Me.B8.BackColor End Sub  Private Sub C8_Click()     RotateColor "C", 8, Me.C8.BackColor End Sub  Private Sub D8_Click()     RotateColor "D", 8, Me.D8.BackColor End Sub  Private Sub A9_Click()     RotateColor "A", 9, Me.A9.BackColor End Sub  Private Sub B9_Click()     RotateColor "B", 9, Me.B9.BackColor End Sub  Private Sub C9_Click()     RotateColor "C", 9, Me.C9.BackColor End Sub  Private Sub D9_Click()     RotateColor "D", 9, Me.D9.BackColor End Sub  Private Sub RotateColor(ByRef Letter As String, ByRef Row As Long, ByRef color As GamePieceColor)     Dim Request As RequestNextColor     Dim Response As ResponseNextColor      Request.CurrentColor = color     Response = MasterMind.GetNextColor(Request)      If Response.GuessNumber = Row Then         Me.Controls(Letter & Row).BackColor = Response.NextColor         Me.Controls(Letter & Row).Caption = ButtonCaption(Response.NextColor)         Me.Controls(Letter & Row).ForeColor = ButtonFontColor(Response.NextColor)     End If End Sub  Private Function ButtonCaption(ByRef color As GamePieceColor) As String     Select Case color         Case rgbBlack             ButtonCaption = "Black"         Case rgbBlue             ButtonCaption = "Blue"         Case rgbGreen             ButtonCaption = "Green"         Case rgbRed             ButtonCaption = "Red"         Case rgbWhite             ButtonCaption = "White"         Case rgbYellow             ButtonCaption = "Yellow"         End Select End Function  Private Function ButtonFontColor(ByRef color As GamePieceColor) As GamePieceColor     Select Case color         Case rgbBlack             ButtonFontColor = rgbWhite         Case rgbBlue             ButtonFontColor = rgbWhite         Case rgbGreen             ButtonFontColor = rgbBlack         Case rgbRed             ButtonFontColor = rgbBlack         Case rgbWhite             ButtonFontColor = rgbBlack         Case rgbYellow             ButtonFontColor = rgbBlack         End Select End Function  'SHOW ANSWER  Private Sub UnhideButton_Click()     If MasterMind.GetMasterGuessArrayVisible = True Then         HideMasterGuessArray         Me.UnhideButton.Caption = "UNHIDE"         MasterMind.ToggleMasterGuessArrayVisible     Else         UnhideMasterGuessArray         Me.UnhideButton.Caption = "HIDE"         MasterMind.ToggleMasterGuessArrayVisible     End If End Sub  Private Sub UnhideMasterGuessArray()     Dim MasterGuessArray As GuessArray     MasterGuessArray = MasterMind.GetMasterRow      Me.Master1.BackColor = MasterGuessArray.ColorOne     Me.Master1.Caption = MasterButtonCaption(MasterGuessArray.ColorOne)     Me.Master1.ForeColor = MasterButtonFontColor(MasterGuessArray.ColorOne)      Me.Master2.BackColor = MasterGuessArray.ColorTwo     Me.Master2.Caption = MasterButtonCaption(MasterGuessArray.ColorTwo)     Me.Master2.ForeColor = MasterButtonFontColor(MasterGuessArray.ColorTwo)      Me.Master3.BackColor = MasterGuessArray.ColorThree     Me.Master3.Caption = MasterButtonCaption(MasterGuessArray.ColorThree)     Me.Master3.ForeColor = MasterButtonFontColor(MasterGuessArray.ColorThree)      Me.Master4.BackColor = MasterGuessArray.ColorFour     Me.Master4.Caption = MasterButtonCaption(MasterGuessArray.ColorFour)     Me.Master4.ForeColor = MasterButtonFontColor(MasterGuessArray.ColorFour) End Sub  Private Function MasterButtonCaption(ByRef color As GamePieceColor) As String     Select Case color         Case rgbBlack             MasterButtonCaption = "Black"         Case rgbBlue             MasterButtonCaption = "Blue"         Case rgbGreen             MasterButtonCaption = "Green"         Case rgbRed             MasterButtonCaption = "Red"         Case rgbWhite             MasterButtonCaption = "White"         Case rgbYellow             MasterButtonCaption = "Yellow"         End Select End Function  Private Function MasterButtonFontColor(ByRef color As GamePieceColor) As GamePieceColor     Select Case color         Case rgbBlack             MasterButtonFontColor = rgbWhite         Case rgbBlue             MasterButtonFontColor = rgbWhite         Case rgbGreen             MasterButtonFontColor = rgbBlack         Case rgbRed             MasterButtonFontColor = rgbBlack         Case rgbWhite             MasterButtonFontColor = rgbBlack         Case rgbYellow             MasterButtonFontColor = rgbBlack         End Select End Function  Private Sub HideMasterGuessArray()     Dim MasterGuessArray As GuessArray     MasterGuessArray = MasterMind.GetMasterRow      Me.Master1.BackColor = GamePieceColor.rgbLightGrey     Me.Master2.BackColor = GamePieceColor.rgbLightGrey     Me.Master3.BackColor = GamePieceColor.rgbLightGrey     Me.Master4.BackColor = GamePieceColor.rgbLightGrey      Me.Master1.ForeColor = rgbBlack     Me.Master2.ForeColor = rgbBlack     Me.Master3.ForeColor = rgbBlack     Me.Master4.ForeColor = rgbBlack      Me.Master1.Caption = "??"     Me.Master2.Caption = "??"     Me.Master3.Caption = "??"     Me.Master4.Caption = "??" End Sub 

Вставка содержимого компонента TextBox в закладку в документе MS Word посредством Visual Studio С++

Имеется шаблон Word (расширение .dot), содержащий в себе текст и закладки (у каждой, разумеется, есть свое имя) в определенных местах этого текста. Шаблон нужно открыть и на место закладок вставить данные (например ФИО, дату или адрес), которые пользователь вводит в компоненты TextBox на форме(приложение WindowsForms) и сохранить файл с расширением .doc. С++ начал изучать не так давно, поэтому прошу помочь в написании этого фрагмента кода

WebApp for ETL with visual mapping – read csv and map it to data model

a few years ago I wrote a python script for reading CSV, handling the headers, filtering data, renaming stuff via RegEx…bascially to do various ETL stuff. This was done using a exhaustive configuration file that defined all the sources and all the targets. It worked quite fine – but the configuration was everything but intuitively.

I was now wondering what would be the best approach to get the same down using some kind of “visual configuration”. First step would be to visualize the mapping between source and target columns and use a drag and drop approach with a visual representing of the mappings between two listboxes with mapping arrows.

I was thinking about using tkinter for that, but as far as I understand tkinter is not supported by web browsers and that would be another goal: Having an easy to deploy webapp.

So I thought about just HTML5 – but I have no idea if that would be the best approach and if it is possible to recycle the already existing python material and how to connect both parts (python logic + displaying in HTML5).

What would be your suggestion how to deal with that kind of situation – do you know of any projects where something similar was done?

Thanks a lot!