Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    200

    [VB6]Comando mid

    Qualcuno sa dirmi perché quando chiamo il comando mid mi dice chiamata di routine o argomento non valido?

    codice:
     
    Dim arr As Variant
    Dim chiaro As String
    
    Private Sub Command1_Click()
            
            Text2 = ""
            crypto = Text1
    '        arr = Split(crypto, "-")
            casa = Len(Text1) / 3
                    
            For i = 0 To casa
                arr(i) = Mid(Text1, i, 3)
                
                transltr = arr(i) - 360
                chiaro = Chr(transltr)
                Text2 = Text2 & chiaro
            Next
            
            Label1.Visible = True
            Text2.Visible = True
    
    End Sub

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    - Mid non è un comando, ma una funzione.
    - L'array arr è definita di tipo Variant. Perché?
    - Le variabili i, casa e transltr non sono definite.
    - La variabile crypto, oltre a non essere definita, non è usata.

    Riguardo all'errore, la risposta la puoi trovare esaminando il contenuto di Text1 (meglio sarebbe Text1.Text) e il valore di i al momento dell'errore stesso. In ogni caso non si capisce cosa vorresti fare: l'uso di un array e della funzione Mid insieme è illogico.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    200
    Invece ha una logica io uso la FUNZIONE mid per prendere tre lettere alla volta de usare come elementi dell'array e comunque l'errore è che i è uguale a 0 e non esiste mid(text1, 0, 3) ma mid(text1, 1, 3)... e poi la variabile crypto l'ho usata dopo!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Con le seguenti due linee di codice:
    codice:
    For i = 0 To casa
       arr(i) = Mid(Text1, i, 3)
    anche partendo da 1 anziché da 0, prenderai sì tre caratteri alla volta, ma al primo giro essi saranno il 1°, 2° e 3°; al secondo giro saranno il 2°, 3° e 4°; al terzo giro saranno il 3°, 4° e 5°... e cosi via. Non credo che questo sia il risultato che vuoi ottenere. D'altra parte, se non dici cosa vuoi fare, è impossibile indicarti come fare.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    200
    lo so infatti in seguito ho modificato il codice la mia domanda era solo perché non funzionasse la funzione mid non "Per favore mi fate una recensione completa del programma?"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    E infatti ti ho indicato nella prima risposta cosa verificare per comprendere l'origine dell'errore (il valore della variabile i).

    Non mi sembra poi che ci sia niente di male se qualcuno ti fa notare che nel frammento di codice che posti ci sono numerose altre incongruenze; se lo facessero a me, ne sarei contento e ringrazierei. Ma se a te invece dà fastidio me ne scuso.
    Magari la prossima volta che chiedi aiuto, specificalo all'inizio che non lo gradisci, perché la probabilità che ti accada nuovamente è piuttosto alta.

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.