Newsgroup: it.comp.lang.visual-basic
Titolo: domanda urgente

 
          qualcuno mi aiuti!!!ho un problema con un programma in visual basic
abbastanza semplice.... praticamente in un file.txt,
devo ricercare una parola es.articolo, e tra questa un altra es.note. Tra
"Articolo" e "Nota" ci devono essere 30 righe in totale, sia scritte che
non.
Magari faccio un esempio:se sotto aricolo ci sono scritte 5 righe,devo
aggiungere 25 righe bianche tra le 2 parole x arrivare ad un totale di
30.... qualcuno mi aiuti sono veramente nei casini.... grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 devo ricercare una parola es.articolo, e tra questa un altra es.note.
sei capace ad aprire un file "in lettura"?
e a leggerne le righe una alla volta?
e uno in scrittura?
se sě, sei a cavallo. ti basta aprire il primo file, caricare una riga
alla volta finchč ci trovi scritta la stringa che ti interessa. scrivi
questa riga sull'altro file, continui a leggere da un file e scrivere
sull'altro tenendo conto di quante righe stai "lavorando". quando trovi la
seconda stringa scrivi sul secondo file le righe vuote che mancano ad
arrivare al tuo limite e poi la riga appena letta. ripeti fino alla fine
del file iniziale.
se no, capacitati.
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

                    Il 11 Mar 2005, 10:47, 
news...@cssoft2001.com
 (Melchiade Bedrosian Baol)
ha scritto:

Allora, questo č il codice che ho fatto, ma ho un problema di cicli nel
senso che mi chiede un "Loop" che non ho idea di dove manchi....
Dim stringa As String
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim cont As Integer
Dim d As Integer
Private Sub Command1_Click()
Open "E:\input.TXT" For Input As #1
Open "E:\output.txt" For Output As #2
cont = 0
a = 30
c = 0
    Do While Not EOF(1)
        Do
 
                Line Input #1, stringa
                b = InStr(stringa, "Articolo")
                cont = cont + 1
                a = a - 1
        Loop
                Do
                        Line Input #1, stringa
                        d = InStr(stringa, "Nota")
                        cont = cont + 1
                        a = a - 1
                        c = 30 - cont
                        Print #2, stringa
                        Print #2, ("Metto uno spazio")
                        If c = a Then
 
Close #1
Close #2
        End If
        Loop
End Sub


 Allora, questo è il codice che ho fatto, ma ho un problema di cicli nel





Poche idee ma confuse!
Dim fileA As Long
Dim fileB As Long
fileA = FreeFile()
fileB = FreeFile()
Open ... For Input As #fileA
Open ... For Outut As #fileB
Do While Not Eof(fileA)
  Line Input #fileA, stringa
  'qui metti il tuo test di ricerca
  If trovato Then 
    Print #fileB ...
  End
Loop
Close #FileA
Close #FileB
-- 


                        If c = a Then
              Loop
  Sarebbe il caso di esaminare il codice prima di scrivere sul
newsgroup e magari anche di leggere la netiquette cosi' eviti messaggi
con titoli ad minchiam...
-- 
  Ciao :-)
  Massimo
Nell'indirizzo, sostituire "micio" con "mc"

senso che mi chiede un "Loop" che non ho idea di dove manchi....
Dim stringa As String
[CUT]

Loop
End Sub
Ti ho chiuso i loop...
ma guarda che da quel DO --> LOOP
non esci mai....
Non mi va di mettermi a leggere il codice (imparara a indentare :))
PERO' SICURAMENTE DA QUEL DO-LOOP NON SI ESCE MAI...
-- 
[...] all'inizio hai una sensazione di onnipotenza sull'azienda,
che si trasforma in fastidio fino a trasformarsi in dolore; allora ti
guardi dentro i boxer e ci trovi i clienti, la societą per cui lavori, i
consulenti, i programmatori, tutti aggrappati allo scroto con le loro
unghiette adunche. [Vincent Vega su It.lavoro.informatica] 

 senso che mi chiede un "Loop" che non ho idea di dove manchi....
Qualche nota
-aggiungi "loop" prima di end sub
-"Instr" vuole, come primo parametro, il punto di partenza nella stringa
(1 nel tuo caso)
-Il due loop interni sono infiniti: il programma non terminerà mai:
sostituire con "loop until <condizione>"
-"b" e "d" vengono assegnati ma mai letti (mettile nelle condizioni dei
due loop).
-le chiusure dei file falle alla fine di tutti i cicli.
Non ho verificato inoltre se il programma fa quello che chiedi, ma ti
dovrebbe bastare per partire.
termoPilucco
-- 



 


Luca S. ha scritto:
(snip)
è la terza volta che cerco di mettere insieme qualcosa per rispondere, ma
ogni volta mi cascano le braccia...
1) per aprire i file è caldamente consigliato l'uso di freefile
2) quando si fa un ciclo, (che deve essere strutturalmente dotato di un
inizio ed una fine) è buona norma prevedere una condizione di uscita
3) il costrutto if è stato inventato apposta per verificare se una
determinata condizione si è verificata o meno
come implementare questi semplici concetti all'interno del tuo semplice
programma è precisamente il tuo semplice compito.



 


 niente semplice visto che non ho mai usato visual basic prima di oggi.
Scusami, dalle mie parti si dice "o felè fa 'l to mestè", che tradotto in
lingua franca suona più o meno come "a ognuno il suo lavoro".
Se sei un sistemista la tua *NON* può essere una domanda urgente.
Nel senso che si sta cercando di travalicare i propri e altrui compiti: se
devi fare un compito del genere e tu non lo sai fare perchè non è il tuo
lavoro, qualcuno ha sbagliato qualcosa nell'assegnartelo.
Se invece davvero si vuole che sia tu a farlo *DEVONO* aver messo in conto
un piccolo periodo di tirocinio.
Ciao