Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] Generatore di frasi casuali

    Salve a tutti, ho appena iniziato con il visual basic ho deciso che voglio apprendere questo linguaggio! Sono ancora agli inizi quindi!

    Tanto x cominciare, x fare una cosetta semplice semplice, volevo fare un piccolo programma costituito da un pulsante "genera" e un labeltext dove vengono fuori le frasi random che sono caricate in memoria.

    Ora io per esempio so creare un campo di testo, dove l utente scrive qualcosa e premendo il bottone, il testo viene ricopiato nel labeltext (si è una minchiata facilissima) ecco io vorrei però mettere nel labeltext delle frasi che ci sono in memoria e che a ogni pressione del tasto vengono caricate a caso (possibilmente senza ripetizioni)

    Ho cercato tra i manuali che ho a disposizione ma non ho trovato un modo concreto di realizzarlo.

    Suggerimenti??

    Grazie!

  2. #2
    le frasi devono essere modificabili dall'utente in esecuzione oppure decise da te e non modificabili in fase di esecuzione? se non vuoi utilizzare un file esterno e le frasi non devono essere modificabili puoi fare:
    codice:
    Public C As Integer
    Public Estratto As Integer
    Public Frase As String
    Public numfrasi As Integer
    Private Sub Command1_Click()
    
    numfrasi = 10 'sostituisci il 10 con il num di frasi
    ripeti: 'in caso la frase fosse già uscita il programma riparte da quì
    Randomize 'attiva il generatore di numeri casuali
    Estratto = Int((10 - 1 + 1) * Rnd + 1) 'risultato estrazione nella variabile Estratto
    For x = 1 To 10 'inizia un ciclo for next sostituisci il 10 con il num di frasi
    If Uscito(x) = True Then 'controlla se tutte le frasi sono uscite
    C = C + 1
    If C >= numfrasi Then
    For y = 1 To 10 'sostituisci sempre il 10 con il num frasi
    Uscito(y) = False 'se tutte le frasi sono uscite resetta l'array Uscito
    Next y
    End If
    Else
    GoTo falso
    End If
    Next x
    falso:
    If Uscito(Estratto) = False Then 'controlla se la frase è uscita
    Uscito(Estratto) = True ' se non è uscita la segna come uscita
    GoTo Lefrasi ' e va all'etichetta lefrasi
    Else 'altrimenti
    GoTo ripeti 'torna a ripeti e estrae un'altra frase
    End If
    Lefrasi:
    Select Case Estratto 'seleziona la variabile estratto
    Case 1 'se è uno scrivi nella variabile frase "prima frase"
    Frase = "prima frase"
    Case 2 ' se è due "seconda frase" ecc.
    Frase = "seconda frase"
    Case 3
    Frase = "terza frase"
    Case 4
    Frase = "quarta frase"
    Case 5
    Frase = "quinta frase"
    Case 6
    Frase = "sesta frase"
    Case 7
    Frase = "settima frase"
    Case 8
    Frase = "ottava frase"
    Case 9
    Frase = "nona frase"
    Case 10
    Frase = "decima frase"
    'devi mettere tanti case quante sono le tue frasi con i numeri
    'in ordine crescente
    End Select
    Label1.Caption = Frase 'scrive la frase nella label1
    End Sub


    poi crei un nuovo modulo dal menù progetto e ci scrivi:
    codice:
    Public Uscito(1 To 10) As Boolean 'sostituisci il 10 con il numero di frasi che vuoi inserire.
    Spero di esserti stato di aiuto.

  3. #3
    Grazie mille!!!! E' perfetto!!
    Senti altre due cosette e poi basta

    1) devo usarela funzione Kill()

    Solo che non mi elimina il file se è invisibile (nascosto)...come faccio?

    2) mi servirebbe un comando tipo "OpenDir" qualcosache premendo un tasto, mi faccia aprire una cartella che scelgo io..ho trovato solo MkDir e altre robe che non mi servono per ora..

    Grazie!


  4. #4
    Risolto per il file invisibile:

    Ho fatto prima un settAttr e ho messo vbNormal, e poi un bel Kill

    ora resta come aprire una directory

    Confido in voi

  5. #5

    Aprire na

    Crei una textbox e un bottone e nel codice del bottone scrivi:
    codice:
    Private Sub Command1_Click()
    Dim Car As String
    Car = Text1.Text
    Shell ("explorer.exe " + Car) 'è importante che dopo explorer.exe ci sia uno spazio
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.