nel primo esempio di codice e nell'ultimo post (che penso usi lo stesso codice), ottengo sempre un type mismatch (wanted integer got string instead) in questa riga:
Read #jsdev, stamp, 4 ' 4 bytes
In Gambas 3, se imponi il numero di byte da leggere, è inteso che attendi un valore di tipo Stringa.
La vecchia modalità è rimasta sostanzialmente nel metodo .Read() dei vettori, che consente di impostare appunto quanti valori del tipo contenuto dal vettore vuoi leggere.
Esempio:
Public Sub Main()
Dim fl As File
Dim ii As Integer[]
fl = Open "/percorso/del/file/da/leggere" ' In questo caso non serve l'istruzione "For Read"
With ii = New Integer[](4)
' Dunque leggiamo 4 integer (...ossia 16 byte !) dal file a partire dal primo byte:
.Read(fl, 0, 4)
' Mostriamo (scriviamo) tutto quanto letto nello standard output:
.Write(File.Out, 0, ii.count)
End With
fl.Close
End