Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - vuott

Pagine: 1 ... 743 744 [745] 746 747 ... 779
11161
mi dispiace ma non ci ho capito ancora una mazza e son due ore che provo e riprovo.

c'e una guida dettagliata da qualche parte?

L'esempio che t'ho fatto semplicemente legge le righe del file.

Ma cosa - in particolare - non ti è chiaro ?

11162
ti ringrazio, ho guardato gli esempi ma continuo a non capirne il meccanismo.
mi faresti un esempino facile facile?

Se ho interpretato correttamente il suggerimento di md9327:   :-X

Codice: gambas [Seleziona]

Public Sub Button1_Click()

 Dim f As File
 Dim b As Byte
 Dim s$ As String

  f = Open "/percorso_del_mio_file" For Input

  While Not Eof(f)  ' compie il ciclo fin tanto che non è giunto alla fine del file
    Inc b
    Line Input #f, s$
 
   Print b & "^ riga = "; s$
  
 Wend

End


...se vuoi caricare la tua riga, però non in un file temporaneo (come suggerito da md9327), bensì in una variabile da poter utilizzare in seguito:

Codice: gambas [Seleziona]

Private ss$ As String[]


Public Sub Button1_Click()

 Dim f As File
 Dim b As Byte
 Dim s$ As String

  f = Open "/percorso_del_mio_file" For Input

  ss$ = New String[]

  While Not Eof(f)  ' compie il ciclo fin tanto che non è giunto alla fine del file
    Inc b
    Line Input #f, s$
 
' carica il contenuto della variabile s$ nel nuovo elemento
' della variabile ss$:
    ss$.Add(s$)
 
   Print b & "^ riga = "; s$
 
' se è arrivato alla 2^ riga, allora esce dal ciclo:
   If b = 2 Then Exit

 Wend

End


Public Sub Button2_Click()

   Print ss$[1]  ' 1  perché l'indice dell'array comincia da zero

End


11163
OpenBar / Re: lamerandia
« il: 18 Maggio 2012, 01:32:54 »
In realtà la mia foto è questa se siete proprio curiosi: http://tinyurl.com/76a5uze
...ummmm...
ma una volta non era questa ?  :o
http://www.gambas-it.org/smf/index.php?topic=925.msg9969#msg9969

11164
Credo che md9327 facesse riferimento a questo:
http://gambaswiki.org/wiki/lang/lineinput

Può essere utile leggere anche questi altri suoi interventi qui:
http://www.gambas-it.org/smf/index.php?topic=308.msg2744#msg2744
http://www.gambas-it.org/smf/index.php?topic=1197.msg13306#msg13306


Potrebbe essere d'aiuto anche questo di fsurfing:
http://www.gambas-it.org/smf/index.php?topic=1462.msg16607#msg16607

11165
OpenBar / Re: Mi presento
« il: 17 Maggio 2012, 15:42:18 »
Tocca inserire questa, che rende più chiari alcuni concetti...
...ho preso spunto dalla tua esortazione: ho inserito quella immaginetta nel mio Gioco dell'Oca.   ;D

11166
Programmazione (Gambas 2) / Re: [RISOLTO] Tipo dati personalizzato
« il: 17 Maggio 2012, 10:17:42 »
Ho dunque aggiornato il breve riassunto che avevo cominciato sulla WIKI:

http://www.gambas-it.org/wiki/index.php/Strutture:_dichiarazione_ed_uso

11167
Programmazione (Gambas 2) / Re: [RISOLTO] Tipo dati personalizzato
« il: 16 Maggio 2012, 16:53:28 »
La sintassi:
Codice: [Seleziona]
Private prima As StrutturaModello[] = New StrutturaModello[]
può essere scritta pure come l'avevi fatto prima
Codice: [Seleziona]
Private prima As New StrutturaModello[]

Sì, cavolo ! Come ho fatto a non pensarci ?!  :hatecomputer:  ......merito di essere trascinato negli inferi da Ceskho: http://www.gambas-it.org/smf/index.php?topic=2130.msg23526#msg23526  !

Codice: gambas [Seleziona]

Public Struct strutturaModello
   prB As Byte
   prI As Integer
End Struct

   Private prima As New StrutturaModello[]
  
Public Sub Form_Open()

Dim a As Byte
Dim seconda As StrutturaModello

  For a = 0 To 9

     seconda = New StrutturaModello

    With seconda
     .prB = a
   etc etc etc

...ed infatti il codice funziona anche più semplicemente così.



Hai invece acquisito il discorso di eliminare l'inizializzazione doppia entro il metodo.
Non si finisce mai di imparare.

11168
OpenBar / Re: Mi presento
« il: 16 Maggio 2012, 16:32:37 »
Eh, l'avevo detto che questo era un manicomio...  ;D
Grande Ambito di Matti Benché Anche Sviluppatori.... Gambas-it !  :rolleyes:

11169
Mi riferisco al fatto che nella dichiarazione esterna viene usato il NEW, come anche la RIdichiarazione interna alla funzione (sempre NEW).

Non che provochi qualcosa di anomalo, solo che si tenta di allocare due volte la stessa variabile inutilmente.

Di solito le strade sono due:

1) nella dichiarazione di proprietà di una classe, viene effettuata anche la sua inizializzazione
2) l'inizializzazione viene fatta dal metodo creatore della classe _new()

Ummm...quanto rilevi e quanto suggerisci è molto utile, grazie.
Volendo seguire la prima soluzione correttiva, è coerente questa modifica che appresso riporto ?

Codice: gambas [Seleziona]

Public Struct strutturaModello
   prB As Byte
   prI As Integer
End Struct

   Private prima As StrutturaModello[] = New StrutturaModello[]  '' <------------------|
  


Public Sub Form_Open()

Dim a As Byte

  Dim seconda As StrutturaModello


  For a = 0 To 9

     seconda = New StrutturaModello

    With seconda
     .prB = a
     .prI = 1000 + a
    End With

    prima.Add(seconda)

  Next

End


' Andiamo a mostrare i risultati in console:
Public Sub Button1_Click()

 Dim a As Byte

 For a = 0 To 9
   With prima[a]
     Print .prB
     Print .prI
   End With
  Next

End


Facendo la prova pratica, il codice funziona.

11170
OpenBar / Re: Mi presento
« il: 16 Maggio 2012, 12:48:53 »
Povero freesoul, aveva aperto questa discussione semplicemente per presentarsi, ...e noi ci siamo lanciati dentro come cavallette ! :devil:

11171
A parte il motivo di creare due volte l'array (fuori metodo e entro metodo), l'esempio mi pare corretto.
In particolare a quale passaggio di quel codice ti riferisci ?  :-X


Sul punto 2 del mio post:
Codice: [Seleziona]
Public Struct strutturaModello  
  prB As Byte [10]
  prI As Integer [10] 
End Struct 
diciamo un'altro modo per creare una struttura,
Certamente, anche se qui ovviamente ad essere array sono i membri della Struttura, e non una variabile connessa di tipo Struttura.

11172
OpenBar / Re: Mi presento
« il: 16 Maggio 2012, 10:02:15 »
Si, ma lo erano già prima di entrare in questo manicomio...  ;D
...e che ci fate voi altri qui ?  :rotfl:


Non abbiamo camicie di forza, vero?
No, ma si potrebbe creare una classe apposta.  ;D

11173
Non mi risulta ben chiaro cosa vuoi fare
Solo un ragionamento teorico, diciamo accademico, per capire meglio.


1) in effetti non puoi dichiarare una struttura come array
2) ......
3) puoi dichiarare una tua variabile come un array di elementi di tipo "struttura", come hai tu fatto
Probabilmente mi sono espresso in modo non tecnico  :-X
Ad ogni modo lo scopo sostanziale era quello di avere, appunto,  tante Variabili array di tipo Struttura, che poi sono quelle concretamente utilizzabili. No ?  ;)


Ho fatto un altro esperimento cercando di risolvere la tua proposta di prima ( PRIVATE $var AS STRUCT MyStruct[] ):

Codice: gambas [Seleziona]

Public Struct strutturaModello
   prB As Byte
   prI As Integer
End Struct

' Dichiariamo la variabile della Struttura come array con numero di elementi indefinito.
' In questo caso sarà necessario inserire dopo "As" la parola "New" (e non Struct):
  Private prima As New StrutturaModello[]

' Dichiariamo un'altra variabile simile alla Struttura modello:
  Private seconda As New StrutturaModello


Public Sub Form_Open()

Dim a As Byte

  prima = New StrutturaModello[]

' Assegnamo i valori agli elementi della variabile 'non' array di tipo Struttura:
  For a = 0 To 9

    seconda = New StrutturaModello

    With seconda
     .prB = a
     .prI = 1000 + a
    End With

' La variabile Struttura array vuole una variabile Struttura - non array - del tipo "StrutturaModello":
    prima.Add(seconda)

  Next

End


' Andiamo a mostrare i risultati in console:
Public Sub Button1_Click()

 Dim a As Byte

 For a = 0 To 9
   With prima[a]
     Print .prB
     Print .prI
   End With
  Next

End

11174
questa invece è la mia versione scritta appositamente per te vuott ! :)

ps: con g3 non va , funge solo con g2


...purtroppo non posso provarlo  :P : ho Gambas 3 ! Quindi non potrò attenermi a quanto scritto nel testo allegato al tuo programmino !

Comunque grazie del "pensiero".  ;D
 :ciao:

11175
Programmazione (Gambas 2) / Re: [RISOLTO] Tipo dati personalizzato
« il: 15 Maggio 2012, 20:23:22 »
Dalle poche prove che ho fatto, sembrano comportarsi similarmente agli oggetti, tranne per il fatto che si presentano come template di una aggrezione di dati di tipo di verso (come del resto la structura è...).

Da quanto potuto appurare, la struttura deve essere definita all'interno di un modulo o classe, può contenere dati e array di diverso tipo, e può essere utilizzata, ovviamente, per creare array di strutture (ad es. PRIVATE $var AS STRUCT MyStruct[]).


Ho fatto quanche prova per tentare di creare array di Strutture.

1)
Innanzitutto sono riuscito a creare array di Strutture solo con questo tipo di dichiarazione della variabile-Struttura:
Private $var[100] As Struct MyStruct

2)
Poi, provando la riga da te proposta (PRIVATE $var AS STRUCT MyStruct[ ]), ho notato che non va bene, poiché vi è il ritorno di un errore:
Arrays of structure are not supported.

Viene però accettato così:
Private $var AS New MyStruct[]
...solo che in questo modo quando poi cerco successivamente di effettuare gli assegnamenti ai membri della Struttura, posso fare solo così:
 $var .Add( ...e mi compare l'etichetta d'aiuto: Value As MyStruct
..cioè dovrei inserire un'altra variabile-Struttura simile a $var.....   ???

Pagine: 1 ... 743 744 [745] 746 747 ... 779