+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Applicazioni a supporto di tecnici catastali

  1. #1
    Sn0rky non è in linea Scolaretto
    Iniziamo con l'applicazione più semplice, Scarica Archivi Catasto....
    Form1.Designer.vb:
    <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    Partial Class Form1
        Inherits System.Windows.Forms.Form
    
        'Form esegue l'override del metodo Dispose per pulire l'elenco dei componenti.
        <System.Diagnostics.DebuggerNonUserCode()> _
        Protected Overrides Sub Dispose(ByVal disposing As Boolean)
            Try
                If disposing AndAlso components IsNot Nothing Then
                    components.Dispose()
                End If
            Finally
                MyBase.Dispose(disposing)
            End Try
        End Sub
    
        'Richiesto da Progettazione Windows Form
        Private components As System.ComponentModel.IContainer
    
        'NOTA: la procedura che segue è richiesta da Progettazione Windows Form
        'Può essere modificata in Progettazione Windows Form.  
        'Non modificarla nell'editor del codice.
        <System.Diagnostics.DebuggerStepThrough()> _
        Private Sub InitializeComponent()
            Me.ComboBox1 = New System.Windows.Forms.ComboBox
            Me.downloadBTN = New System.Windows.Forms.Button
            Me.WebBrowser1 = New System.Windows.Forms.WebBrowser
            Me.DownTAFbtn = New System.Windows.Forms.Button
            Me.DownDISbtn = New System.Windows.Forms.Button
            Me.Button1 = New System.Windows.Forms.Button
            Me.Button2 = New System.Windows.Forms.Button
            Me.SuspendLayout()
            '
            'ComboBox1
            '
            Me.ComboBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
            Me.ComboBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
            Me.ComboBox1.FormattingEnabled = True
            Me.ComboBox1.Items.AddRange(New Object() {"Agrigento, AG", "Alessandria, AL", "Ancona, AN", "Aosta, AO", "Arezzo, AR", "Ascoli Piceno, AP", "Asti, AT", "Avellino, AV", "Bari, BA", "Belluno, BL", "Benevento, BN", "Bergamo, BG", "Biella, BI", "Bologna, BO", "Bolzano, BZ", "Brescia, BS", "Brindisi, BR", "Cagliari, CA", "Caltanissetta, CL", "Campobasso, CB", "Caserta, CE", "Catania, CT", "Catanzaro, CZ", "Chieti, CH", "Como, CO", "Cosenza, CS", "Cremona, CR", "Crotone, KR", "Cuneo, CN", "Enna, EN", "Ferrara, FE", "Firenze, FI", "Foggia, FG", "Forlì, FC", "Frosinone, FR", "Genova, GE", "Gorizia, GO", "Grosseto, GR", "Imperia, IM", "Isernia, IS", "La Spezia, SP", "L'Aquila, AQ", "Latina, LT", "Lecce, LE", "Lecco, LC", "Livorno, LI", "Lodi, LO", "Lucca, LU", "Macerata, MC", "Mantova, MN", "Massa Carrara, MS", "Matera, MT", "Messina, ME", "Milano, MI", "Modena, MO", "Napoli, NA", "Novara, NO", "Nuoro, NU", "Oristano, OR", "Padova, PD", "Palermo, PA", "Parma, PR", "Pavia, PV", "Perugia, PG", "Pesaro Urbino, PU", "Pescara, PE", "Piacenza, PC", "Pisa, PI", "Pistoia, PT", "Pordenone, PN", "Potenza, PZ", "Prato, PO", "Ragusa, RG", "Ravenna, RA", "Reggio Calabria, RC", "Reggio Emilia, RE", "Rieti, RI", "Rimini, RN", "Roma, RM", "Rovigo, RO", "Salerno, SA", "Sassari, SS", "Savona, SV", "Siena, SI", "Siracusa, SR", "Sondrio, SO", "Taranto, TA", "Teramo, TE", "Terni, TR", "Torino, TO", "Trapani, TP", "Trento, TN", "Treviso, TV", "Trieste, TS", "Udine, UD", "Varese, VA", "Venezia, VE", "Verbania, VB", "Vercelli, VC", "Verona, VR", "Vibo Valentia, VV", "Vicenza, VI", "Viterbo, VT"})
            Me.ComboBox1.Location = New System.Drawing.Point(12, 12)
            Me.ComboBox1.Name = "ComboBox1"
            Me.ComboBox1.Size = New System.Drawing.Size(150, 21)
            Me.ComboBox1.TabIndex = 0
            '
            'downloadBTN
            '
            Me.downloadBTN.Location = New System.Drawing.Point(12, 39)
            Me.downloadBTN.Name = "downloadBTN"
            Me.downloadBTN.Size = New System.Drawing.Size(150, 23)
            Me.downloadBTN.TabIndex = 1
            Me.downloadBTN.Text = "Button1"
            Me.downloadBTN.UseVisualStyleBackColor = True
            '
            'WebBrowser1
            '
            Me.WebBrowser1.Dock = System.Windows.Forms.DockStyle.Fill
            Me.WebBrowser1.Location = New System.Drawing.Point(0, 0)
            Me.WebBrowser1.MinimumSize = New System.Drawing.Size(5, 5)
            Me.WebBrowser1.Name = "WebBrowser1"
            Me.WebBrowser1.Size = New System.Drawing.Size(174, 160)
            Me.WebBrowser1.TabIndex = 2
            '
            'DownTAFbtn
            '
            Me.DownTAFbtn.Location = New System.Drawing.Point(12, 68)
            Me.DownTAFbtn.Name = "DownTAFbtn"
            Me.DownTAFbtn.Size = New System.Drawing.Size(150, 23)
            Me.DownTAFbtn.TabIndex = 3
            Me.DownTAFbtn.Text = "Button1"
            Me.DownTAFbtn.UseVisualStyleBackColor = True
            '
            'DownDISbtn
            '
            Me.DownDISbtn.Location = New System.Drawing.Point(12, 97)
            Me.DownDISbtn.Name = "DownDISbtn"
            Me.DownDISbtn.Size = New System.Drawing.Size(150, 23)
            Me.DownDISbtn.TabIndex = 4
            Me.DownDISbtn.Text = "Button1"
            Me.DownDISbtn.UseVisualStyleBackColor = True
            '
            'Button1
            '
            Me.Button1.Location = New System.Drawing.Point(12, 126)
            Me.Button1.Name = "Button1"
            Me.Button1.Size = New System.Drawing.Size(75, 23)
            Me.Button1.TabIndex = 5
            Me.Button1.Text = "Comuni U"
            Me.Button1.UseVisualStyleBackColor = True
            '
            'Button2
            '
            Me.Button2.Location = New System.Drawing.Point(87, 126)
            Me.Button2.Name = "Button2"
            Me.Button2.Size = New System.Drawing.Size(75, 23)
            Me.Button2.TabIndex = 6
            Me.Button2.Text = "Comuni T"
            Me.Button2.UseVisualStyleBackColor = True
            '
            'Form1
            '
            Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
            Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
            Me.ClientSize = New System.Drawing.Size(174, 160)
            Me.Controls.Add(Me.Button2)
            Me.Controls.Add(Me.Button1)
            Me.Controls.Add(Me.DownDISbtn)
            Me.Controls.Add(Me.DownTAFbtn)
            Me.Controls.Add(Me.downloadBTN)
            Me.Controls.Add(Me.ComboBox1)
            Me.Controls.Add(Me.WebBrowser1)
            Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
            Me.MaximizeBox = False
            Me.MinimizeBox = False
            Me.Name = "Form1"
            Me.Text = "Form1"
            Me.ResumeLayout(False)
    
        End Sub
        Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
        Friend WithEvents downloadBTN As System.Windows.Forms.Button
        Friend WithEvents WebBrowser1 As System.Windows.Forms.WebBrowser
        Friend WithEvents DownTAFbtn As System.Windows.Forms.Button
        Friend WithEvents DownDISbtn As System.Windows.Forms.Button
        Friend WithEvents Button1 As System.Windows.Forms.Button
        Friend WithEvents Button2 As System.Windows.Forms.Button
    
    End Class
    
    Form1.vb:
    Public Class Form1
        Dim prov As String
        Dim link As String
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.Text = My.Application.Info.ProductName
            ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
            downloadBTN.Text = "Scarica Archivi DOCFA"
            DownTAFbtn.Text = "Scarica TAF PREGEO"
            DownDISbtn.Text = "Scarica DIS PREGEO"
            WebBrowser1.Visible = False
        End Sub
        Private Sub downloadBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles downloadBTN.Click
            prov = ComboBox1.Text
            prov = Microsoft.VisualBasic.Right(prov, 2)
            prov = LCase(prov)
            WebBrowser1.Navigate("ftp://ftp.finanze.it/pub/docfa4/ark_" & prov & ".zip")
        End Sub
        Private Sub DownTAFbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownTAFbtn.Click
            Call generastringa()
            link = "http://www.agenziaterritorio.it/sites/territorio/services/UfficiProvinciali/Province/" & prov & "/taf.zip"
            WebBrowser1.Navigate(link)
        End Sub
    
        Private Sub DownDISbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownDISbtn.Click
            Call generastringa()
            link = "http://www.agenziaterritorio.it/sites/territorio/services/UfficiProvinciali/Province/" & prov & "/dist.zip"
            WebBrowser1.Navigate(link)
        End Sub
        Sub generastringa()
            prov = ComboBox1.Text
            prov = prov.Substring(0, 1) & LCase(prov.Substring(1, prov.Length - 1))
            prov = prov.Substring(0, prov.Length - 4)
            prov = prov.Replace(" ", "")
            prov = prov.Replace("'", "")
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            WebBrowser1.Navigate("ftp://ftp.finanze.it/pub/docfa4/ark_comurb.zip")
        End Sub
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            WebBrowser1.Navigate("ftp://ftp.finanze.it/pub/docfa4/ark_comter.zip")
        End Sub
    End Class
    
    due righe di spiegazione sul funzionamento del programma:
    attraverso la scelta tramite combobox e la pressione del tasto relativo è possibile scaricare gli archivi necessari ai tecnici catastali che utilizzano i programmi DOCFA e PREGEO.

    vi chiedo di darmi dei consigli su come velocizzare l'avvio del download (ora come ora il primo download parte dopo 5/6 secondi, i successivi sono quasi immediati) giusto per non indurre l'utente a pensare che non abbia effettuato le operazioni corrette...

    Grazie!

  2. #2
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Le connessioni via protocollo ftp non sono inizialmente veloci in quanto prima che inizi la transazione client/server vi sono alcune procedure da eseguire tra i cliente ed il server,quindi,una volta eseguite, il download diventa quasi immediato il che tradotto sono i primi 5 secondi iniziali di cui hai fatto menzione.per l'utente che esegue il download puoi sempre inviargli un messaggio di attesa.
    ℹ️ Leggi di più su sistemista ...

  3. #3
    Invece di usare un controllo WebBrowser nascosto, puoi effettuare un normale Download del file facendo apparire la classica finestra di scaricamento di Windows, con tanto di barra progressiva.

    Dim UrlFile As Uri = New Uri(link)
    My.Computer.Network.DownloadFile(UrlFile, "PathDestinazioneFile", Nothing, True, 20000, False)
    
    I parametri che ho usato sono:
    • Url del file da scaricare.
    • Percorso locale "comprensivo del nome file" dove salvare.
    • Credenziali impostate su Nothing visto che non c'è necessita di specificare Username e Password
    • True, per mostrare la finestra di scaricamento con la barra progressiva
    • 20000, un timeout di 20 secondi se il file non viene scaricato
    • False, evito la sovrascrittura del file se è già esistente. True per sovrascriverlo.
    ℹ️ Leggi di più su Fix ...

  4. #4
    Sn0rky non è in linea Scolaretto
    Quote Originariamente inviato da sistemista Visualizza il messaggio
    Le connessioni via protocollo ftp non sono inizialmente veloci in quanto prima che inizi la transazione client/server vi sono alcune procedure da eseguire tra i cliente ed il server,quindi,una volta eseguite, il download diventa quasi immediato il che tradotto sono i primi 5 secondi iniziali di cui hai fatto menzione.per l'utente che esegue il download puoi sempre inviargli un messaggio di attesa.
    Quote Originariamente inviato da Fix978 Visualizza il messaggio
    Invece di usare un controllo WebBrowser nascosto, puoi effettuare un normale Download del file facendo apparire la classica finestra di scaricamento di Windows, con tanto di barra progressiva.
    grazie ragazzi!
    eliminando webbrowser ho riscontrato un aumento di velocità (è più reattivo) ma ho anche notato che il firewall di windows si lamenta della mia app... poco male!

    Private Sub DownDISbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownDISbtn.Click
            If ComboBox1.Text = "" Then
                MessageBox.Show("Scegli provincia")
                Exit Sub
            End If
            Call generastringa()
            link = "http://www.agenziaterritorio.it/sites/territorio/services/UfficiProvinciali/Province/" & prov & "/dist.zip"
            Try
                Dim UrlFile As Uri = New Uri(link)
                My.Computer.Network.DownloadFile(UrlFile, System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\Archivi_catasto\dist_" & prov & ".zip", Nothing, True, 20000, False)
            Catch ex As Exception
                MsgBox(ex.ToString, MsgBoxStyle.Critical)
            End Try
        End Sub
    
    un ultima cosa:
    con l'ultima opzione true/false non mi ci trovo... se metto true, l'utente non viene avvisato della sovrascrittura, se metto false mi solleva una eccezione...
    ...io vorrei che l'utente fosse messo a conoscenza delle caratteristiche dei 2 file (principalmente la dimensione...) e poter decidere se continuare il download...
    intanto cerco info a riguardo ma non capisco se è meglio true, e "mettere in attesa il download" con un if o mettere false e gestire l'eccezione...

    Ultima modifica di Sn0rky; 28-04-2010 15:50  Motivo: errore nel [CODE]

  5. #5
    ...io vorrei che l'utente fosse messo a conoscenza delle caratteristiche dei 2 file (principalmente la dimensione...) e poter decidere se continuare il download...
    Esistono 2 vie per fare questo....

    1)
    Ti salvi lo stesso il file sotto forma di file .tmp, lo confronti con quello già presente ed esegui le operazioni che ritieni più opportuno.

    2)

    Utilizzi le HttpWebRequest e HttpWebResponse per effettuare le richieste e scaricare il file
    • 2.1 invece di costruirti tutta la parte di scaricamento puoi effettuare solo la richiesta per prelevare la dimensione e successivamente utilizzerai il metodo postato precedentemente per scaricare il file.
    Un piccolo esempio per prendere solamente le dimensioni del file da scaricare (HTTP) è il seguente:
    Dim MyWebRequest As Net.HttpWebRequest
    Dim MyWebResponse As Net.HttpWebResponse
    MyWebRequest = CType(Net.WebRequest.Create(httpUrl), Net.HttpWebRequest)
    MyWebResponse = CType(MyWebRequest.GetResponse(), Net.HttpWebResponse)
    Dim Size AsLong = MyWebResponse.ContentLength
    
    
    Per le richieste FTP ti basta sostituire HttpWebRequest con FtpWebRequest e HttpWebResponse con FtpWebResponse.
    ℹ️ Leggi di più su Fix ...

  6. #6
    Sn0rky non è in linea Scolaretto
    continuiamo con un programma dall'immensa utilità (almeno per me!)
    PAC - Prenotazione Appuntamenti Catasto
    provatelo e ditemi cosa si può migliorare...
    vi quoto l'help del programma per spiegarne il funzionamento:
    Programma per la gestione degli appuntamenti presso gli uffici dell'Agenzia del Territorio.

    Per verficare la disponibilità in un ufficio basta riempire la casella relativa, selezionare lo sportello interessato e il giorno scelto, poi premere sul pulsante Verifica.

    Per elencare tutti gli appuntamenti già inseriti basta selezionare il tecnico dalla relativa casella e premere il tasto Elenca.

    Per disdire un appuntamento si deve selezionare il tecnico dalla relativa casella e premere sul pulsante Annulla, alla successiva richiesta inserire il codice della prenotazione.

    Per prenotare un appuntamento è necessario compilare tutti i campi e premere Prenota.

    Per inserire i dati del tecnico, o di più tecnici, è necessario premere sul pulsante "Add" e compilare via via tutti i campi richiesti, al termine della procedura, il tecnico appena inserito comparirà nella lista accessibile dal programma, verificabile accedendo al file tecnici.csv.

    Precisazioni:
    Prima di eseguire un prenotazione è preferibile verificare la disponibilità dell'ufficio in quanto ogni ufficio gestisce in modo differente le prenotazioni.
    Per conoscere l'esatto orario della prenotazione è necessario, prima, verificarne la disponibilità, ed inserirlo correttamente negli appositi campi.
    L'inserimento dell'orario è consigliato per sveltire la procedura di prenotazione, ma può essere omesso; in questo caso si verrà avvisati dal sito e indirizzati alla scelta della fascia oraria compatibile con il numero delle pratiche richieste.
    L'inserimento dell'ufficio provinciale avviene per affinamento quindi è possibile scrivere le prime lettere della provincia per veder comparire la tendina con le voci disponibili.
    La corretta esecuzione di tutte le funzioni è legata alla disponibilità di una connessione ad internet che deve già essere attiva all'avvio del programma
    Il programma non memorizza in alcun modo le scelte dell'utente, gli unici campi precaricati sono il nome del primo tecnico trovato nel file allegato, il numero dello sportello e il numero delle pratiche, al solo scopo di velocizzare la procedura di prenotazione.
    Il file tecnici.csv fornito col programma continene l'elenco dei tecnici che è possibile gestire con il programma stesso, viene fornito già precompilato al solo scopo di far comprendere la sua funzione.
    Per una corretta esecuzione del programma è necessario che i file PAC.EXE e TECNICI.CSV siano inseriti nella medesima cartella.
    A seguito dell'inserimento dei tecnici con la finzione "Add" è possibile aprire il file tecnici.csv con un semplice editor di testi, come notepad, e rimuovere l'intera riga dei dati non più necessari, questo vale sia per la riga precaricata sia per eventuali nomi di tecnici.

    Buon lavoro!
    sono ben cosciente che mancano un sacco di cose (prima di tutto la gestione dell'errore se non trova il file di supporto...)
    consigli?

  7. #7
    Quote Originariamente inviato da Sn0rky Visualizza il messaggio
    consigli?
    Si, esiste l'apposita sezione per testare le proprie applicazioni e richiedere pareri/consigli/testing....

    Progetti Open Source - MasterDrive.it
    Il luogo ideale per promuovere i propri progetti open source e condividerli con il resto degli utenti. Correggere la presenza di eventuali bugs, scambiare pareri e opinioni a riguardo e trovare nuovi collaboratori.


    ℹ️ Leggi di più su Fix ...

  8. #8
    Sn0rky non è in linea Scolaretto
    ops! sorry! aggiusto il tiro... (dopo aver sistemato un paio di linee di codice)

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Scheda di rete: stato supporto... supporto disconnesso (falso)
    Da Andrea Visca nel forum Networking e sicurezza
    Risposte: 9
    Ultimo Post: 30-01-2013, 23:29
  2. Tutorials tecnici VBA
    Da manuelito76 nel forum Pausa caffè
    Risposte: 1
    Ultimo Post: 29-03-2010, 21:15
  3. access comuni e codici catastali
    Da francodace nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 03-02-2010, 09:54
  4. DataBase Codici Catastali
    Da nioMatrix nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 07-08-2005, 23:25