Newsgroup: it.comp.lang.visual-basic
Titolo: R: come si usano i file?

 ordinato secondo il campo Data?
Immagino che il problema sia legato ad un errore nella memorizzazione del
file, in particolare al numero del record che intendi memorizzare.
Ti ricordo che la sinatssi dell'istruzione PUT (supposto che tu abbia aperto
il file in modalità RANDOM) è
PUT #idFile, numeroRecord, variabile
Quello dell'ordinamento è un problema più complesso in quanto devi crearti
tu una routine di ordinamento. La soluzione più semplice è a mio avviso
quella di utilizzare un database che ti consente poi di reperire le
informazioni nell'ordine che preferisci. In teoria potresti usare il
database per memorizzare i record della giornata, gli dici di ordinarteli e
poi genere il file
Ciao Bruno

tu una routine di ordinamento. La soluzione piů semplice č a mio avviso


 con PUT a me salva sempre e solo una riga.
Per scrivere con Put su un file devi prima posizionarti con Seek nel punto del file
dove vuoi scrivere il tuo record...
Se ho capito bene, devi fare un file di LOG delle tue transazioni.
Ora, se le transazioni vengono eseguite da una sola stazione di lavoro, avranno
per forza delle date sequenziali, quindi le puoi scrivere su un file in Append
semplicemente con una routine di questo tipo:
____________________
Sub AddLog(riga as String)
On Error GoTo problema
    Dim libero As Integer
    libero = FreeFile
    Open App.Path & "\Transazioni_log.txt" For Append As #libero
    Print #libero, riga
    Close libero
    Exit Sub
problema:
    MsgBox " Errore " & Err.Number & "  " & Err.Description & vbCrLf & Err.Source & _
    " " & " nella routine AddLog, testo: " & riga
    Err.Clear
    Resume Next
End Sub
____________________
Richiamandola cosě:
____________________
Sub Transazione()
Dim TestoDaScrivere As String ' dichiari la stringa da scrivere
'
'
'
'
'qui c'č la routine che accetta i dati e/o effettua la transazione
'ho fatto l'ipotesi che la tua Type si chiami TypeTransazione ;-)
'
'
'
' Riempi la stringa con i dati che devi registrare
TestoDaScrivere = TypeTransazione.Data & VbTab
TestoDaScrivere = TestoDaScrivere & TypeTransazione.Valuta & VbTab
TestoDaScrivere = TestoDaScrivere & TypeTransazione.Quantita & VbTab
TestoDaScrivere = TestoDaScrivere & TypeTransazione.Cambio & VbTab
TestoDaScrivere = TestoDaScrivere & TypeTransazione.Controvalore
AddLog TestoDaScrivere ' e la mandi alla routine di scrittura
___________________
Se invece il tuo programma gestisce degli accessi concorrenti, la cosa č piů
complicata, e devi utilizzare un meccanismo di ordinamento oppure un sistema
di "semafori".
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi sul
    Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------
Real E-address: 
gaet...@hotmail.com

Salve a tutti..
Una problema che per voi probabilmente e una cazzate ma per me e
incomprensibile
Sto facendo un prog per un cambiavalute e devo registrare giornalmente
su un file le informazioni di ogni transazione
Ho fatto una type con questi campi:
data
Valuta
quantita
cambio
controvalore
e devo salvere il tutto su file. Usando PUT pero` il file che viene
fuori ha sempre una sola riga ( relativa all'ultimo salvataggio ) come
faccio a fare in modo che il file abbia tutte le transazioni e sia
ordinato secondo il campo Data?
Es:   mi serve un file fatto cosi:
21/08/1999 DEM 100 980 98000
21/08/1999 USA 100 1800 180000
22/08/1999 DEM 100 980 98000  e cosi` via
con PUT a me salva sempre e solo una riga...
spero possiate aiutarmi....
shift...@tisacalinet.it
  ( togliere le XXXXX )
Grazie

...
