Newsgroup: it.comp.lang.delphi
Titolo: Dimensione in byte di un txt

E' possibile che non ci sia una funzione che restituisca la dimensione
in byte di un file di testo?
La FileSize() non funziona con i file di testo, tratto dall'help!

 La FileSize() non funziona con i file di testo, tratto dall'help!
Un file è un file, di qualsiasi tipo si tratti... se ti interessa la
dimensione di un file
di testo (es. "documento.txt"), puoi usare la filesize trattando
documento.txt come un
file binario.
L'help ti dice che la filesize non può lavorare con i Textfile, che sono dei
tipi di file trattati
da delphi in maniera differente (anche con funzioni differenti).
Se poi vuoi sapere la dimensione di un textfile già aperto, allora la cosa è
differente.
Ciao, Davide DG

Un file č un file, di qualsiasi tipo si tratti... 
Si' e no. Per i file di testo non tutte le funzioni che operano sui
file sono utilizzabili. I sistemi DOS/Windows considerano differenti i
file binari e i file di testo.
-- 
Andrea Laforgia (ICQ# 87230455) ---------------------------
Non scrivetemi in privato, se non richiesto espressamente.
No replies in private e-mail, unless explicitly requested.
----------------------------------------------------------

var
   SearchRec: TSearchRec;
   i:longint;
begin
   FindFirst('c:\autoexec.bat',faAnyFile,SearchRec);
   i:=SearchRec.Size;
end;
Ciao
Duilio

 file binari e i file di testo.
No... probabilmente mi sono espresso male...
 Intendo : Un file č un "file" (nel senso di "documento" salvato su disco)
qualsiasi cosa tu gli scriva dentro...
Che vadano e vengano _trattati_ in modi differenti
(con differenti funzioni, come avevo scritto del resto...) mi sembrava
abbastanza
chiaro (evidentemente non lo era).
Del resto, un file di "testo"(*) lo puoi trattare come binario a colpi di
blockread (anche
se nella maggior parte dei casi non te ne fai nulla) e viceversa.
* Dal punto di vista del pc un file č un file... dal punto di vista
dell'utente no, cosě č "si e no", no? ;-)
Ciao, Davide DG

 La FileSize() non funziona con i file di testo, tratto dall'help!
certo che se apri il file di testo come file di testo hai delle limitazioni
riguardo l'uso di certe funzioni che ti farebbero comodo in certi casi.
Magari ( con un ciclo while o repeat fino alla fine del file ) leggendo
tutte le righe del file di testo ( oppure vedi le altre funzioni di
lettura ), sommando la dimensione di ognuna di esse risali alla dimensione
totale, ma non mi pare una buona soluzione, almeno per i file di certe
dimensioni. ( è una questione di tempo impiegato per il ciclo )
Oppure puoi aprire il file in altro modo e usare normalmente le altre
funzioni.
Io uso in genere i file binari, ma non mi pare che per i file di testo ci
siano tante scappatoie per risolvere il tuo problema.
Ti saluto.....ciao !!!
Antonio Tarolla

 end;
Comunque c'è anche una GetFileSize...
Ciao :-)
--
Andrea Magni
E-Mail: 
ama...@interac.it

e viceversa.
Oltre al fatto che nella maggior parte dei casi non te ne fai nulla,
e' anche logicamente sbagliato trattarlo a questo modo, perche' hai
l'espansione delle sequenze di "a capo", che puo' variare da sistema a
sistema. Se bisogna preoccuparsi di saltare le sequenze di "a capo"
per recuperare i dati, tanto vale farlo in automatico, leggendolo come


 file di testo.
Vero... ma che c'entra questo col fatto che un file di testo è, in fin dei
conti, un file come
un altro (tuo post iniziale di risposta al mio) ? Non cambiamo discorso per
favore.
Ciao! Davide DG
<<Evviva!! Mi mancava un flame a settimana ;PPP>>

testo" come binario ... è logico (utile) trattarlo come tale.
Secondo me no, fai come ti pare.
Ciao.


 di testo. 
domanda del thread: "Dimensione in byte di un txt"
anche gli "a capo" sono byte come gli altri, o no?
il fatto che da SO a SO questi cambino non centra, vorra' dire che se in
win un file di testo occuperaě *in byte* X, in unix ne occupera'
X - numero "a capo" (se non sbaglio...)
Ciao,
Alan Solo