Buonasera.
Come ho scritto in un precedente thread, ho sviluppato la mia prima app console, che penso funzioni correttamente.
La app però impiega dai 10 ai 40 secondi per caricare il primo records del datatable sottostante.Poi, il funzionamento ha tempi normalissimi,ma non capisco cosa ne blocchi l'esecuzione.
Questo il codice a cui è richiesto di mandare in esecuzione i records:
Sub main()
Console.SetWindowSize(130, 27)
Console.Title = "Esempio di gestione db tramite app console"
Console.Clear()
Console.ForegroundColor = ConsoleColor.Green
Console.WriteLine("F1=help")
Console.WriteLine("F2=cerca")
Console.Write("ESC=termina operazione")
Console.SetCursorPosition(100, 0) : Console.Write("posizione cursore:")
Console.SetCursorPosition(100, 1) : Console.Write("tasto BlocNum:")
Console.SetCursorPosition(100, 2) : Console.Write("tasto INSERT :")
Console.ResetColor()
statoInsert = True
cl.anagrafica()
cl.opt()
da.Fill(ds, "Legali")
dv = New DataView(ds.Tables(0))
If Not ds.Tables(0).Rows.Count > 0 Then
MsgBox("Il database è vuoto." & vbCrLf & "Seleziona N(uovo) dal manù delle opzioni ed inserisci i records.")
GoTo inizio
End If
indice = 0
showRecord(indice)
inizio:
menù()
End Sub
Sub showRecord(ByVal indice As Integer)
statoBlockNum = My.Computer.Keyboard.NumLock
statoInsert = Control.IsKeyLocked(Keys.Insert)
Console.SetCursorPosition(115, 1) : Console.Write(If(statoBlockNum = False, "Disabilitato", "Abilitato "))
Console.SetCursorPosition(115, 2) : Console.Write(If(statoInsert = False, "sovrascrittura", "inserimento "))
If indice < 0 Or indice > ds.Tables(0).Rows.Count - 1 Then Exit Sub
mID = ds.Tables(0).Rows(indice).Item(0)
mRagsoc1 = ds.Tables(0).Rows(indice).Item(1)
mProv = ds.Tables(0).Rows(indice).Item(2)
mComune = ds.Tables(0).Rows(indice).Item(3)
mIndirizzo = ds.Tables(0).Rows(indice).Item(4)
mCap = ds.Tables(0).Rows(indice).Item(5)
cl.pulisciRecord()
Console.SetCursorPosition(61, 6) : Console.WriteLine(Trim(mID))
Console.SetCursorPosition(61, 8) : Console.WriteLine(Trim(mRagsoc1))
Console.SetCursorPosition(61, 10) : Console.WriteLine(Trim(mProv))
Console.SetCursorPosition(61, 12) : Console.WriteLine(Trim(mComune))
Console.SetCursorPosition(61, 14) : Console.WriteLine(Trim(mIndirizzo))
Console.SetCursorPosition(61, 16) : Console.WriteLine(Trim(mCap))
Console.SetCursorPosition(118, 23)
End Sub
Nel caso che "I Programmatori" lo consentano, potrei aprire una Live share perchè possiate mandare in esecuzione l'app,visionare il codice e suggerirmi la soluzione più idonea. Perdonatemi, forse sto chiedendo troppo. Preciso però che non sto chiedendo codice, ma solo -come sempre- i vostri consigli esperti.
Posso condividere il programma? nel caso di risposta affermativa comunicherò il link con il codice utile per la condivisione.
Grazie.