redtime (Normal User)
Newbie
Messaggi: 5
Iscritto: 06/09/2019
|
Salve! Un saluto a tutti i lettori. Premetto che non sono un programmatore, ho solo una piccola passione per il basic e da autodidatta cerco di migliorare le mie conoscenze. Vi espongo il mio intento e la conseguente domanda.
Vorrei realizzare un programmino in QB64 per creare/aggiornare un archivio txt dei numeri del 10elotto 5 minuti. Dovrebbe collegarsi al sito ufficiale lottomatica per la lettura dei numeri. (https://www.lottomaticaitalia.it/it/prodotti/10-e-lotto/est ... L'aggiornamento dovrebbe essere automatico ogni 5 minuti.
E' possibile realizzarlo con QB64?
Da qualche parte avevo letto che le istruzioni del QB64 non possono leggere i siti https.. è così?
Qualcuno può farmi luce e magari un aiutino su come estrapolare i numeri dal sito? Grazie.
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6404
Iscritto: 03/01/2010
|
Perche' non usi VB.Net e un db al posto dei .txt (che non sono semplici da usare per chi non sa programmare) ?
Ultima modifica effettuata da nessuno il 09/09/2019 alle 7:11
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
redtime (Normal User)
Newbie
Messaggi: 5
Iscritto: 06/09/2019
|
..grazie della dritta, ma non conosco VB.Net.. è più indicato per un simile lavoro? ..l'utilizzo del database per l'archivio numeri velocizza l'elaborazione del programma rispetto ad un archivio txt?
...con l'archivio txt mi trovo bene, non mi è mai stato di impedimento alle ricerche che faccio..
|
|
Thejuster (Admin)
Guru^2
Messaggi: 2306
Iscritto: 04/05/2008
|
Postato originariamente da redtime:
..grazie della dritta, ma non conosco VB.Net.. è più indicato per un simile lavoro?
..l'utilizzo del database per l'archivio numeri velocizza l'elaborazione del programma rispetto ad un archivio txt?
...con l'archivio txt mi trovo bene, non mi è mai stato di impedimento alle ricerche che faccio.. |
Molto più indicato.
E come andare a roma a piedi invece che col treno.
Con una "specie" di archivio txt puoi immagazzinare dati certo, ma non è pratico quanto un database sqlite
o magari un db access se proprio non vogliamo allontanarci dall'argomento.
immagina di dover cercare una certa sequenza di numeri in una certa data o posizioni specifiche.
come cavolo fai col qbasic?
dovrestri scrivere almeno 300 righe di codice per ottenere qualcosa vagamente simile per il vb.net facendo
Codice sorgente - presumibilmente QBasic |
SELECT * FROM lotto where DATA='xxxx'
|
giusto come esempio.
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6404
Iscritto: 03/01/2010
|
Ma certo che è più indicato. Tu sei nella preistoria, per capirci.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Tutto vero quello che dicono nessuno e Thejuster, ma nel tuo caso dovresti installare e far funzionare Sqlite o DB Access, e non è una passeggiata se non li conosci, poi dopo averli installati dovrai imparare come farli funzionare/collegare, poi se porti il tuo programma in un altro PC, non funzionerà, se non ti porti appresso il database e Sqlite non è installato.
Riconfermando che la strada ultima e migliore è il database, la lascerei in ultimo.
Il tuo primo problema è QBasic, mi concentrerei a muovere qualche passo con VisualStudio e VB .NET, dopo aver installato la versione community, dal sito microsoft, scegliendo le opzioni VisualBasic e C#, potrai scrivere la tua prima Applicazione Windows Form in VB .NET, muovere qualche passo con il tuo .txt, e poi se ne senti la necessità, installare anche Sqlite.
Ecco come sarebbe il tuo programma VB .NET che carica il file MIO.txt e cerca un dato all'interno del testo:
Codice sorgente - presumibilmente VB.NET |
Imports System.IO ' serve per le operazioni di input output Imports System. Diagnostics. Debug ' serve per scrivere nella finestra immediata con Debug.Print Public Class Form1 Dim DatiLetti() As String ' si autodimensionerà in base alle righe contenute nel testo max 65535 righe Dim PosizioneFile As String = "C:\MIO.txt" ' metti il percorso e il nome giusto del tuo file testo Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DatiLetti = File. ReadAllLines(PosizioneFile ) ' il tuo file finisce nella matrice DatiLetti() ' ogni riga del tuo file testo occuperà un elemento della matrice ' DatiLetti(0) sarà uguale alla prima riga del testo ' DatiLetti(1) la seconda riga e così via ' per trovare qualcosa es "Ciao" ' e non vogliamo distinguere maiuscoloe minuscole (case insensitive) Dim Cerca as String = "Ciao" ' metti il testo anche parziale che vuoi trovare, anche numeri For Record = 0 To DatiLetti.GetUpperBound(0) ' cicla tutte le rige memorizzate in DatiLetti() If DatiLetti (Record).ToUpper.IndexOf(Cerca.ToUpper) <> -1 Then Debug. Print("Trovato in record: " & Record. ToString) ' mostra il numero della riga Debug. Print(DatiLetti (Record )) ' mostra la riga Exit Sub End If Next Record End Sub End Class
|
Ho usato istruzioni Basic like, che potrebbero somigliare al QBasic, in VB .NET invece della matrice sarebbe meglio usare una lista di stringhe, invece del for/next, for each/next.
Qualche spiegazione:
DatiLetti (Record).ToUpper (converte la riga in esame in maiuscolo)
Cerca.ToUpper (converte la stringa di ricerca in maiuscolo)
Il confronto avverrà tra testi resi maiuscoli azzerando la differenza tra Maiuscole e minuscole
.IndexOf (restituisce la posizione della stringa cercata se esiste altrimenti -1 significa che non è stata trovata una corrispondenza)
N.B il programma non controlla eventuali stringhe successive alla prima trovata.
non ho inserito nessun componente sul form, usando solo la finestra immediata
prova ad aggiungere un bottone ed una label, spero che giocherai con il codice
che ti ho proposto per stimolarti a provare
Ultima modifica effettuata da Carlo il 10/09/2019 alle 0:19
in programmazione tutto è permesso |
|
redtime (Normal User)
Newbie
Messaggi: 5
Iscritto: 06/09/2019
|
Ringrazio per gli interventi fatti, in particolare Carlo per i suggerimenti e il listato d'esempio.
Dal codice postato ho conferma di cio che pensavo, il passo da fare per cambiare linguaggio è molto piu lungo della mia gamba, cio significa iniziare a studiare da zero e il tempo oramai è diventato nemico n1.
Provo ad installare wb.net ma prima devo passare a win10, sono ancora all'amato xp
Ps: Mi sembra di aver letto dal regolamento che è vietato richiedere software, ma se volessi contattare un programmatore per avere una stima del costo per un programmino simile scritto in Wb.net, dove posso postare/richiederlo/contattarlo?
Thanks!
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6404
Iscritto: 03/01/2010
|
Il problema con il file di testo non è leggerlo o scriverlo è fare le ricerche in modo elastico e potente.
I file di testo non sono nati a questo scopo, quindi ti consiglio di non perdere tempo ed imparare ad usare il linguaggio SQL e un qualsiasi DBMS.
Se non vuoi realizzare il programma tu, paga qualcuno e hai risolto tutti i problemi.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
So quanto è difficile decidere di cambiare quello che si conosce.
Su XP potresti installare VisualStudio 2010 e il framework 4.
Così non sei costretto ad abbandonare quello che già sai fare, ma allo stesso tempo, provare anche VB .NET.
Appena riuscirai ad eseguire il tuo primo programma windows form, vedrai che sarai stimolato ad aggiornarti.
in programmazione tutto è permesso |
|