Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
VB6: Passaggio dati
mercoledì 01 aprile 2009 - 11.30
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Sig. Travis
Profilo
| Junior Member
104
messaggi | Data Invio:
mer 1 apr 2009 - 11:30
Ciao ragazzi,
ho un problemino che non riesco a risolvere e/o trovare la causa, ma forse è colpa della mia ignoranza in materia:
costruisco un array di stringhe tutte formattate ad una lunghezza di 48 caratteri ed in un ciclo For/Next le passo una alla volta ad una funzione che provvede a stamparle in un file di testo.
Ho inserito delle trace che in fase di test mi tengono traccia durante la costruzione delle stringhe ed effettivamente prima di essere inviate alla funzione di scrittura, sono perfette; nel file tali stringhe vengono scritte decurtate di un carattere.
Quale potrebbe essere la causa? Devo inserire degli apici?
Grazie,
Ciao\G
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 1 apr 2009 - 12:25
in che modo apri e scrivi il file?
se stai usando ad esempio la modalità Random e scrivendo con la Put molto probabilmente sbagli a definire la lunghezza della riga di scrittura per cui ti taglia tutto a seconda di quello che hai definito nella Len
Vincenzo
Programmatore sbilenco
Sig. Travis
Profilo
| Junior Member
104
messaggi | Data Invio:
mer 1 apr 2009 - 15:00
Purtroppo non sono io che gestisco il file, però orientativamente essendo un dispositivo contabile, il file viene creato ed aperto all'apertura della giornata contabile e di conseguenza chiuso.
Non so come viene gestita l'operazione di chiusura però tutti gli altri dispositivi che utilizzano questo file scrivono righe di 48 caratteri senza alcun problema; ho più idea che si possa trattare di una questione di Line Feed. Tu che pensi?
Grazie,
Ciao\G
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 1 apr 2009 - 15:50
>Purtroppo non sono io che gestisco il file, però orientativamente essendo un dispositivo contabile, il file viene creato ed aperto all'apertura della giornata contabile e di conseguenza chiuso.
Ma tu con che istruzione scrivi nel file? immagino Print... e come sai che file è, da qualche parte hai il numero file?
Penso che dovresti aprirlo sempre in Append e scrivere no?
>Non so come viene gestita l'operazione di chiusura però tutti gli altri dispositivi che utilizzano questo file scrivono righe di 48 caratteri senza alcun problema; ho più idea che si possa trattare di una questione di Line Feed. Tu che pensi?
E' possibile che all'interno della riga magari hai qualche byte che taglia la riga e va a capo, ma se così fosse aprendo fisicamente il file con un editor (in caso di file sequenziale) dovresti accorgertene subito. Oppure qualcosa del genere mi capitava scrivendo con Put una variabile dichiarata con Type.. dove i campi stringa che non valorizzavo a volte (e non so perchè non sempre) piuttosto che space contenevano zero binario.
cmq..bisognerebbe vedere il codice per capire
Vincenzo
Programmatore sbilenco
Sig. Travis
Profilo
| Junior Member
104
messaggi | Data Invio:
gio 2 apr 2009 - 09:23
Ciao Vin,
il file viene aperto al 100% in append, è un file giornaliero e conosco la tipologia in quanto viene scritto in un folder apposito che raccoglie le movimentazioni giorno per giorno su ogni singolo file.
Con l'editor di testo ho appurato che l'ultimo carattere che gli dico di scrivere, viene sovrascritto con un line feed, ma non chiedermi perchè; ho così provato ad aggiungere un caratter blank al termine della costruzione delle stringhe e MIRACOLO! ora funziona.
Grazie per l'attenzione,
Ciao\G
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !