Newsgroup: it.comp.lang.visual-basic
Titolo: errore su array

Ciao a tutti,
il VB mi da un errore che non capisco, io uso il seguente ciclo (ma l'errore
si ripresenta in altre occasioni):
If SaveTextControl(DATIANA(1 To 15), CommonDialog1, Filename) Then
        MsgBox "Testo salvato " & Filename
End If
ma il VB mi da l'errore sull'array DATIANA (correttamente definito)
Errore di compilazione:
previsto separatore oppure)
qualcuno sa spiegarmi xkč?
Grazie,
Ntonjfi

 previsto separatore oppure)
Forse DATIANA va passato come tale e non come DATIANA(1 To 15)?
Servirebbe anche il codice completo della Function SaveTextControl...

 Servirebbe anche il codice completo della Function SaveTextControl...
In pratica ho vari form con un gran nemero di textbox che vorrei assegnare
ad un file, ho comprato il testo di Balena e quindi utilizzo questo come
riferimento, ed ho trovato una funzione che consente il salvataggio (windows
like cioè con la possibilità di scegliere la directory il nome ed il tipo di
file da salvare) del contenuto di 1 textbox in un file e successivamente il
caricamento del contenuto di un file in un textbox... Io però, come detto
prima, avrei bisogno di salvare array di controlli (array di textbox) e
quindi sto provando a modificare la function di Balena sostituendo nell'if
al posto di text1 un array di textbox...
Di seguito ti riporto il codice originale:
Option Explicit
Dim Filename As String, j As Integer
Private Sub cmdSave_Click()
    If SaveTextControl(Text1, CommonDialog1, Filename) Then
        MsgBox "Testo salvato " & Filename
    End If
End Sub
' A reusable routine that can save the contents of a TextBox-
' On Exit FileName the selected filename.
' Returns False if the command has been canceled, True otherwise.
Function SaveTextControl(TB As Control, CD As CommonDialog, Filename As
String) As Boolean
    Dim filenum As Integer
    On Error GoTo ExitNow
    CD.Filter = "All files (*.*)|*.*|Text files|*.txt"
    CD.FilterIndex = 2
    CD.DefaultExt = "txt"
    CD.Flags = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or _
        cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn
    CD.DialogTitle = "Seleziona il file di destinazione"
    CD.Filename = Filename
    ' Exit if user presses Cancel.
    CD.CancelError = True
    CD.ShowSave
    Filename = CD.Filename
    ' Write the control's contents.
    filenum = FreeFile()
    Open Filename For Output As #filenum
    Print #filenum, TB.Text;
    Close #filenum
    ' Signal success.
    SaveTextControl = True
ExitNow:
End Function
La fase di apertura è praticamente uguale a quella di salvataggio e quindi
non te la riporto...
Così com'è tale codice utilizza un command button, un textbox ed un
commondialog, io vorrei riuscire a scrivere su file il contenut di +
textbox.
Grazie lupo, e scusa la prolissità, ma ora conosci il mio problema nei
minimi dettagli...

 wrote in message news:ag905o$jncom$1@ID-
[snip]
1) perchč passi gli oggetti come parametri?
Non č un approccio corretto, comunque...
2) Per passare un array devi dichiararlo come tale
Sub MySub (Array() as QuelloCheVuoi)
...
End Sub
Dim MyArray() As QuelloCheVuoi
Call MySub(MyArray)
Ciao

 End Function
Prova a lavorarci su.

String) As Boolean
Come sopra va bene se il controllo e' uno solo, se si tratta di un array devi
usare Variant o, meglio, Object come tipo.
Function SaveTextControl(TB As Object, CD As CommonDialog, Filename As String) As Boolean
	MsgBox TB.UBound
End Function
-- 
hth, hal