Newsgroup: it.comp.appl.access
Titolo: Re: IMPORTARE UN FILE

 end
Bhè se questo PC suite salva i tuoi SMS in formato txt o simili con una
formattazione valida per access, la cosa è OK, altrimenti, desisti, ma non
magari per accertata impossibilità nel farlo, ma per sicura e improbabile
interpretazione dell'SMS così come è scritto in origine.
-- 
Ciao
Pablitomf (Maurizio Facciuti)
------------------------------
http://www.sitocomune.com/
http://www.accessgroup.it/
------------------------------
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel 
messaggio news:crg7al$9c1$1...@news.newsland.it...

io ci avevo provato ma non ho trovato le specifiche del tracciato prodotto. 
Dovresti cercare alla nokia direttamente. 

 ha scritto nel messaggio
news:crg9gq$8gm$1...@hulme.interac.it...

grazie mille per il vostro aiuto però non sono riuscito a fare niente.
tutto quel codice qui sopra serve a qualcosa???

 ha scritto nel messaggio 
news:crg9gq$8gm$1...@hulme.interac.it...

Ciao ragazzi
vedete anche voi l'allegato al post?
si diceva che NG non accettava allegati .... hanno cambiato idea?
---
Daniele
ps x Ciroteo hai letto la posta su Yahoo? 

 grazie in anticipo per l'aiuto
Ciao,
fermo restando quello che ti hanno gia' risposto, puoi tentare
con un parsing del file . Il codice seguente funziona sul tuo allegato,
su altri non so. Pero' puo' essere un utile esercizio visto che le
istruzioni utilizzate sono di uso comune in vba. ;-)
Public Function READSMS(FILE_IN$)
Dim str_in$
Dim x&
Dim NRTEL$, DATA_RIC$, MSG$
Open FILE_IN For Input As #1
Input #1, str_in
x = InStr(1, str_in, "Tel:+")
If x > 0 Then
   Do While IsNumeric(Mid(str_in, x + Len("Tel:+"), 1))
      NRTEL = NRTEL & Mid(str_in, x + Len("Tel:+"), 1)
      x = x + 1
   Loop
End If
x = InStr(x, str_in, "Date:")
If x > 0 Then
   DATA_RIC = Mid(str_in, x + Len("Date:"), 19)
End If
x = x + Len("date:") + Len(DATA_RIC) + 1
Do While Asc(Mid(str_in, x, 1)) >= Asc(" ")
   MSG = MSG & Mid(str_in, x, 1)
   x = x + 1
Loop
Close #1
Debug.Print NRTEL, DATA_RIC, MSG
End Function
Ciao
Lorenzo

 ha scritto nel messaggio 
news:daOCd.634097$35.26...@news4.tin.it...

ehm ... no provvedo subito! 

 grazie in anticipo per l'aiuto
BEGIN:VMSG
VERSION:1.1
X-IRMC-STATUS:SENT
X-IRMC-BOX:INBOX
BEGIN:VCARD
VERSION:2.1
N:
TEL:
END:VCARD
BEGIN:VENV
BEGIN:VCARD
VERSION:2.1
N:
TEL:+#########
END:VCARD
BEGIN:VENV
BEGIN:VBODY
Date:27/12/2004 23.05.00
Ma ti è arrivato quello con il suono? Baci amore mio sogni d'oro ti amo
tanto
END:VBODY
END:VENV
END:VENV
END:VMSG
Qual'è la difficoltà di decifrare questo messaggio....????????
Devi leggere RIGA per riga, separare la riga di COMANDO dal
Messaggio e indirizzarla correttamente.
E' un normale Parsing di un messaggio.
Le stringhe di COMANDO sono STANDARD del sistema SMS e
dopo la Data c'è sempre il messaggio.....!!!
Il primo pezzo è il Mittente il 2° è il Destinatario del quale appariva il
n°
di telefono o viceversa adesso non ricordo bene....!!!
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


[...]
Credo che oggi si trovino le interfacce per qualsiasi tipo
di archivio (o quasi). All'inizio, quando bisognava 'scavare'
fuori i dati da stampe su file piu' o meno formattate, si
poteva risolvere solo con il parsing di file o stringhe.
Ogni tanto questi metodi tornano utili...  :->
Ciao
Lorenzo

 Lorenzo
Di commerciale si trova sicuramente tutto, ma non sempre Free.
Io mi sono fatto un pò di ore a fare Parsing dei messaggi codificati
MIME delle Mail con protocollo POP3 e sono ancora vivo...! ;-)
Scherzi a parte la semplicità del parsin in questo caso mi sembra
ovvia e banale, non occorre nemmeno avere le idee chiare sul protocollo
SMS, se fosse formattato EMS PDU sarebbe da decodificare, ma così
è decisamente in chiaro....!


Il mio provider mi stà facendo un pò arrabbiare,
ultimamente mi scarica 1 messaggio su 3.
Da Google ho visto che hai suggerito ben prima
della mia risposta anche il codice del parsing...!!
Come da manuale...!


 ha scritto nel messaggio
news:crhu4u$92d$1...@lacerta.tiscalinet.it...

scusate le mia ignoranza ma sono poco pratico in questo tipo di
soluzione.
come devo scrivere il codice supponendo che il file si trovi in
f:\telefono\000001.vmg
grazie per l'aiuto

 grazie per l'aiuto
Ciao,
Apri un modulo nuovo nella sezione moduli,
Dentro ci incolli il codice che trovi in uno
dei thread precedenti. Salvi il tutto e gli dai
un nome a piacere. Dalla barra degli strumenti
esegui un Debug>Compila e vedi che non ci siano
errori. Sempre dalla barra strumenti schiacci il
pulsante finestra immediata che ti apre una finestra
dove si possono eseguire/provare istruzioni.
Nella finestra immediata scrivi:
?READSMS("f:\telefono\000001.vmg")
e vedi cosa esce.
A seconda della versione di Access i comandi possono
essere leggermente diversi ma il concetto e' quello.
Credimi, il codice usa comandi/istruzioni molto semplici.
E' una buona base per mettere mano anche a questa
parte di access.
Se tutto ti funziona si potra' passare ad un sistema di
comando con Maschera e pulsanti per inserire i dati in
una tabella etc.etc.
Prova intanto.
Ciao
Lorenzo

 ha scritto nel messaggio
news:KkoDd.18714$H%6.77...@twister1.libero.it...

grazie a tutti per il vostro aiuto.
adesso funziona abbastanza bene però ho bisogno di alcune nuove
informazioni.
vorrei legare la funzione a un bottone in una form il problema è che il
messaggio cambia in continuo.
spiego meglio
su evento click mi deve eseguire le routine però deve prendere sempre
file diversi, ovviamente sempre nello stesso percorso e alla fie della
routine cancellare il file
esempio
devo verificare che nella cartella
f:\telefono\
ci siano dei file *.vmg
devo eseguire la routine su questo file e poi cancellarlo
verificare se ce ne sono ancora se si eseguire di nuovo la routine se no
msgbox "non ci sono messaggi"
grazie mille a tutti

 no msgbox "non ci sono messaggi"
Ciao, solo uno spunto, sicuramente riuscirai a farlo funzionare.
Public Function CERCAFILE(PATH$)
Dim INFILE$
INFILE = Dir(PATH & "*.VMG")
If INFILE = "" Then
   'MsgBox .......
   Exit Function
End If
Do Until INFILE = ""
   INFILE = PATH & INFILE
   '...QUI RICHIAMI LA ROUTINE PRECEDENTE
   '...QUI CANCELLI IL FILE, VEDI ISTRUZIONE KILL
   INFILE = Dir()
Loop
End Function
Ciao
Lorenzo

 ha scritto nel messaggio
news:nKsDd.18841$H%6.78...@twister1.libero.it...

ho ancora 2 problemi
1:
come faccio a assegnare al msg il valore che c'è nella stringa dal
carattere 215 al carattere 331
2
come faccio per mettere il valore che assume msg nella tabella 1 nel
campo sms
grazie


Non so cos'e' la tua tabella 1.
Comunque difficilmente un sms supera i 255chr , quindi puoi
costruirti una stringa sql del tipo "INSERT INTO..." vedi help,
e quindi usare il metodo di DoCmd.RunSQL  stringasql.
Ciao
Lorenzo


CIAO E GRAZIE DI NUOVO.
LA MIA TABELLA 1 č proprio una tabella del database di access.
io non ho mai usato moduli di solito scrivo tutto il codice sugli eventi
dei vari bottoni e in questo caso avrei utilizzato questo metodo
   DoCmd.GoToRecord , , acNewRec
Me.messaggio_inviato_a = NRTELdes
Me.messaggio_ricevuto_da = NRTEL
Me.data = DATA_RIC
Me.sms = MSG
perň a fare cosě non funziona.
grazie di nuovo

 ha scritto nel messaggio
news:41de765d$0$10911$5fc...@news.tiscali.it...

x = x + Len("date:") + Len(DATA_RIC)
xy = Len(str_in)
MSG = Mid(str_in, x, xy - x)
MsgBox MSG
ciao a tutti di nuovo.
volevo sapere come mai quando eseguo quel codice qua se nel testo c'č
una virgola (,) non mi prende tutta la lunghezza di str_in ma solo la
lunghezza fino alla virgola.
grazie mille

 lunghezza fino alla virgola.
Quando ci si approccia ad un parsing (scannerizzazione) di una stringa, e'
facile commettere errori di valutazione, la cosa migliore e' eseguire il codice
in modalita' debug ( inserisci dei punti d'arresto nelle posizioni che ti 
sembrano
sospette).
Nelle tue modifiche ricavi xy=lunghezza di tutta la stringa, x e' puntato invece
ad inizio messaggio di testo. Facendo mid(str_in,x,xy) tu assegni alla variabile
MSG il valore di str_in da inizio messaggio e per xy-x caratteri ovvero sino 
alla
fine della stringa stessa tirandoti su anche alcuni caratteri di controllo.
Nel codice iniziale il controllo veniva fatto carattere per carattere con
    >= Asc(" ")
Che di fatto significa sino a quando i caratteri letti sono superiori\uguali al
carattere spazio.
Lorenzo

 > volevo sapere come mai quando eseguo quel codice qua se nel testo
c'č

ma anche quel codice li mi creava problemi del tipo che se nel testo del
messaggio avevo un carattere invio si fermava e non importava piů il
testo.
saresti cosě gentile da darmi un'altra informazione riguardo
l'importazione di un file
il file contiene del testo perň quando c'č il carattere , mi taglia
tutto ciň che viene dopo.
io eseguo quest'istruzione
Private Sub Comando9_Click()
Dim file_in$
Dim str_in As Byte
file_in = "F:\telefono 3200\inviati\00020003.vmg"
Open file_in For Input As #1
Input #1, str_in
Testo13 = str_in
Close #1
End Sub
praticamente vorrei copiare l'intero contenuto del file in una casella
di testo

 il testo.
mmhh, questo e' gia' piu' interessante.
Si puo' cambiare riferimento di fine messaggio.
Se osservi nel tracciato del file, a fine messaggio, c'e' un <line feed> 
END:VBODY,
che e' univoco all'interno del messaggio e quindi il codice diventa:
x = x + Len("date:") + Len(DATA_RIC) + 1
msg = Mid(str_in, x, InStr(x, str_in, vbLf & "END:VBODY") - x)
Prova così.
Lorenzo


mi da l'errore perchč legge il file fino alla ,
grazie per il tuo aiuto


Non ho purtroppo quel tuo file, se vuoi prova
a mandarmelo all'email diretta.
Ciao
Lorenzo

 ha scritto nel messaggio
news:KpyDd.19490$H%6.79...@twister1.libero.it...

come è di preciso la tua mail perchè a togliere nospam mi da errore

 come è di preciso la tua mail perchè a togliere nospam mi da errore
Togli     _NO.SPA.M_


Lorenzo@_
NO.SPA.M_pyx.it
se č cosě mi da ancora errore.
ovviamente togliendo        _NO.SPA.M_

>> come è di preciso la tua mail perchè a togliere nospam mi da errore
La tua casella su yahoo e' ok ?
Ti invio un msg e mi rispondi su quello.

>
Ho verificato, una mia dimenticanza... :-(
L'istruzione Input #numerofile,variabile
legge il testo in una variabile interpretando pero'
la virgola come separatore di campo, come dire
che potrei leggere il resto del testo su una seconda
variabile, ma non e' il nostro caso. Basta sostituire
Input #1, str_in        con
Line Input #1, str_in
Ciao
Lorenzo