Autore Topic: Bad argument  (Letto 866 volte)

Offline lele

  • Gamberetto
  • *
  • Post: 5
    • Mostra profilo
Bad argument
« il: 25 Dicembre 2008, 13:14:12 »
WHILE NOT Eof(filework)

   ' First step. Fortran comment
   LINE INPUT #filework, linefile
   pos = InStr(linefile, "!")
   PRINT #filetex, Mid(linefile, pos)

WEND


Perché la riga del mid mi dice "Bad argument?"

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Bad argument
« Risposta #1 il: 25 Dicembre 2008, 15:54:07 »
Hai provato a dichiarare pos come String?
Codice: [Seleziona]

dim pos as String

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Bad argument
« Risposta #2 il: 26 Dicembre 2008, 00:12:18 »
Credo, ma dovrei verificare con del codice, che si verifichi l'errore se non viene trovata la stringa interessata.
Instr(), infatti, restituisce 0 se non viene trovata la stringa "!"; 0 viene poi passato a Mid() come inizio della ricerca ma questo non è un indice valido (la numerazione in Mid() inizia con 1).
Visita il mio sito personale: http://www.leonardomiliani.com

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Bad argument
« Risposta #3 il: 27 Dicembre 2008, 11:53:15 »
Esatto!

Pos deve essere un Integer, che riceve la posizione del primo carattere della stringa da ricercare all'interno della stringa sorgente.

Ad eccezione dell'indice di un array, che deve partire da zero (0), per le funzioni stringa, il primo carattere è sempre uno (1); se InStr ritorna 0, vuol dire che la stringa non è stata trovata, per cui è necessario controllare questo valore, prima di procedere nelle operazioni condizionate da questo numero.

Offline lele

  • Gamberetto
  • *
  • Post: 5
    • Mostra profilo
Re: Bad argument
« Risposta #4 il: 27 Dicembre 2008, 15:35:39 »
Erroraccio mio!

Giusto. Adesso funziona.

Grazie gamberi :-)