Newsgroup: it.comp.lang.visual-basic
Titolo: sapere il numero di righe in un file ascii

vedi oggetto ???
--
Solo risposte sul news

you wrote :
#vedi oggetto ???
dim counter as integer 
open "miofile.txt" for input as #1
counter = 0
while not eof(1)
      line input a$, #1
      counter = counter + 1
wend
close #1
 
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

 vedi oggetto ???
Dim numero As Integer
Dim filenum As Integer
Dim dato As String
filenum = FreeFile
Open [percorso\nomefile] For Input As #filenum
numero = 0
Do While Not EOF(filenum)
    Line Input #filenum, dato
    numero = numero + 1
Loop
numero di righe del file = numero
Ciao
:-) Hd (-:

 wrote in message
news:7n1kio$5jo$1...@fe2.cs.interbusiness.it...


...


Dimenticavo di dire senza fare un ciclo loop :-))



you wrote :
#Dimenticavo di dire senza fare un ciclo loop :-))
Come "senza fare un ciclo loop" ?
Non vedo altra via...


 Dimenticavo di dire senza fare un ciclo loop :-))
Senza fare loop eh? :-)
Bene.. carichi il file in un oggetto richtextbox invisibile. Poi
analizzi il contenuto contando i linefeed. :-)

 wrote in message
news:7n22bj$9fo$1...@fe1.cs.interbusiness.it...


>Dimenticavo di dire senza fare un ciclo loop :-))
perché queste preferenza? ^___^
A parte gli scherzi, la soluzione (a mio avviso) migliore è proprio quella di incrementare un contatore ad ogni line
input..... perché non ti va?
Ciao,
Moreno
#sirri#@
morenosoft.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
Home Page - 
http://www.geocities.com/SiliconValley/Bridge/1414/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

>Dimenticavo di dire senza fare un ciclo loop :-))
Nun se pň.
poco Enjoy!


Questa ha piu' l'aria di una sfida che di una seria necessita' cmq l'unica
cosa che mi e' venuta in mente senza usare un ciclo e' :
metti in un form una TextBox, setta la proprieta' Multiline a True e cerca
di dare alla tua textbox  la massima estenzione orizzontale possibile, e la
propieta' Visible a False
Aggiungi un Command Button ........
in un modulo scrivi :
 Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
    (ByVal hwnd As Long, ByVal wMsg As Long, _
     ByVal wParam As Long, ByVal lParam As Long) As Long
 Public Const EM_GETLINECOUNT = &HBA
vediamo quante righe contiene WIN.INI :
Private Sub Command1_Click()
        Dim LenBuffer As Long
        Dim Buffer As String
        Dim LineCount As Double
        Open "c:\windows\win.ini" For Binary As #1
        LenBuffer = LOF(1)
        Buffer = Space$(LenBuffer)
        Get #1, , Buffer
        Text1.Text = Buffer
        LineCount = SendMessageLong(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)
        Close #1
        MsgBox LineCount
End Sub
Tutto chiaro ?????
Ciao
Ven.

 Dimenticavo di dire senza fare un ciclo loop :-))
se proprio non vuoi usare il do loop
puoi usare nell'ordine
1) ciclo while wend
2) ciclo for con exit for ( forse )
3) una label ed un if ... then goto 
scegli un po'
Marco


Dimenticavo 
4) puoi fare una versione ricorsiva !

you wrote :
#Dimenticavo 
#
#4) puoi fare una versione ricorsiva !
...ed esaurire in breve tempo lo stack ... ;)
