Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: lele - 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?"
-
Hai provato a dichiarare pos come String?
-
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).
-
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.
-
Erroraccio mio!
Giusto. Adesso funziona.
Grazie gamberi :-)