Oppure

Loading
07/09 17:48
redtime
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.
(lottomaticaitalia.it/it/prodotti/10-e-lotto/…)
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.
08/09 16:00
nessuno
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 09/09 5: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à.
09/09 12:25
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..
09/09 13:54
Thejuster
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

Select * FROM lotto where data='xxxx'
giusto come esempio.

09/09 18:01
nessuno
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à.
09/09 21:48
Carlo
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:


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 09/09 22:19
In programmazione tutto è permesso
10/09 9:02
redtime
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 :D

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!
10/09 10:15
nessuno
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à.