Newsgroup: it.comp.lang.delphi
Titolo: ridirezione di un file in un altro

Salve a tutti quanti, sto cercando un modo (senza eseguire comandi DOS
dall'interno dell'applicazione) per fare una cosa tipo:
type file1 > file2
cioe', da dentro la mia applicazione vorrei redirigere un file in un
altro, esattamente come farebbe quel comando fatto da una shell di DOS.
(si potrei sfruttare copyfile, ma mi piacerebbe poter gestire la cosa
diversamente).
suggerimenti ?
Grazie

 diversamente).
in sostanza sovrascrivere file2 con file1
cosa intendi per diversamente?
ci sono diversi modi
Ciao
V.

 diversamente).
xche farsi le seghe mentali? :-)
A.

 xche farsi le seghe mentali? :-)
è il piacere della complessità fine a sè stessa. Un pò come quelli che usano 
Linux per dire "lo so usare", e per dimostrarlo fanno dopo una tonnellata di 
comandi console quello che in Windows non sarebbe nemmeno necessario fare, 
come ricompilare il kernel per installare un driver, o risolvere i conflitti 
di decine di pacchetti su svariati applicativi diversi dopo l'installazione 
di una beta buggata del KDE ;-D
Avalon 

Avalon ha scritto:

Guarda io uso Linux e praticamente SOLO linux........e tutto quel che
dici non e' assolutamente vero.
Uso la mia bella Ubuntu e mi trovo piu' agiato di chiunque utilizzi
windows ...... oltre ad avere un sistema graficamente migliore, cosa
che Forse gli utenti vedranno con "svista".
La cosa bella di Linux e' che *CHI VUOLE*, puo' anche ricompilarsi il
kernel, cosa che in passato ho fatto perche' mi interessava sapere come
fare, ma questo non e' un obbligo, ma una libera scelta che un utente
puo' decidere di fare o meno.
Comunque quando lavori su dei server o dispositivi particolari, la
possibilita' di ricompilare il kernel e' una potenzialita'
impareggiabile, ma stiamo parlando di utilizzi particolari dove sono
necessarie operazione di configurazioni particolari e particolarmente
raffinate.
La mia domanda era rivolta a cercare di capire come fare una cosa, tipo
come leggere un file (a prescindere dal suo formato) ed effetturare una
ridirezione.
Il tutto per capire come funzionano le cose in Delphi, poiche' quando
uso un prodotto mi piace averne la visuale piu' globale e completa
possibile !
Poi c'e' chi si accontenta di usare le funzioni precostruite, ma sapere
come funzionano certe cose un poco piu' a "basso livello", potrebbe
risultare necessario in situazioni particolari e comunque male non fa
sapere una cosa in piu' !!!
Ciao

PS:
In Linux i comandi da Shell non sono un obbligo, ma sono una
possibilità in più; a volte li uso perche' piu' veloci del
corrispettivo grafico e la stessa cosa mi vale anche quando
(disgrazziatamente) mi tocca lavorare su macchine windows, peccato che
il terminale DOS sia dannatamente piu' scomodo della BASH di Linux !
In merito, ti risponde la stessa microsoft, la quale ha ben deciso di
creare una nuova shell dei comandi proprio per sopperire a questa
mancanza !
La shell e' comoda e utile, tan'e' che la uso anche sotto MacOS-X, il
sistema operativo grafico per eccellenza ........ ma quando le cose le
conosci e le sai sfruttare ne riconosci il valore, e non diciamo quelle
banalita' assurde ed errate che una shell dei comandi e' roba del
passato, poiche' se cosi' fosse forse la microsoft non avrebbe
investito nello sviluppo di una shell che potesse in un qualche modo
eguagliare le shell Unix e la Apple non sarebbe passata ad un sistema
UnixLike inserendo di default la Bash !!!

 xche farsi le seghe mentali? :-)
Perche' mi piace conoscere sempre qualche cosa in piu' !
Mi interessava piu' che altro come leggere un file ( a prescindere dal
suo tipo ) e poi come effettuare la ridirezione di quanto letto.
Quindi la mia domanda e' scomponibile in due:
1) come leggere un file su disco a prescindere dal suo tipo ?
2) come ridirigere un "qualche-cosa" su di un file ?
(dove nell'unione del punto 1 e 2 quel "qualche-cosa" risulterebbe
essere quanto letto nel punto 1)
grazie ciao

Valter Buccinà ha scritto:

posso scomporre in due la mia domanda:
1) leggere il contenuto di file1 a prescindere dal suo tipo (se ascii,
binario o chicchessia)
2) ridirigere un "qualche-cosa" su un file
(quel qualche-cosa potrebbe essere quanto letto al punto 1)
Grazie
Ciao

 male non fa sapere una cosa in piu' !!!
domanda peregrina e tendenziosa ;-) : che te ne fai del basso livello quando 
il futuro (già abbastanza presente, peraltro) è .NET dove il basso livello 
te lo scordi?
Che il basso livello abbia un fascino non c'è alcun dubbio. Erano belli i 
tempi in cui si programmava in assembly sugli home, lavorando direttamente 
su aree di memoria e interrupt, ma è un'epoca tramontata già da tempo. Poi, 
per carità, c'è ancora chi, per hobby e passione sviluppa programmi per ZX81 
(su google ne trovi almeno uno che fa uscire giochi con cadenza periodica), 
ma non credo proprio che ci mangi :-D
Avalon 

 2) come ridirigere un "qualche-cosa" su di un file ?
usi una variabile di tipo "file of byte" e con le funzioni seek(), read() e 
write() vi accedi byte per byte a piacimento.
Avalon 

 ma non credo proprio che ci mangi :-D
Che forse non tutti lavorano su applicazioni direttamente mirate
all'utente (gestionali et simili).
e comunque:   .NET no grazie (se possibile lo evito), al massimo uso
Python o Java !
Ciao

 (quel qualche-cosa potrebbe essere quanto letto al punto 1)
TStream?
-- 
Mauro Falzari
Da una firma:
  "QûAñÐø LuÑgØ îL §ËñTiêRø ÐeLLå SûÃ ËsîStêNzÅ
  Lâ VøŠtRâ AñiMä ñØn vêÐrÅ Più dUê PãiÅ Ð'iMpRÕntË,
  nØñ GîÕitË pÊn§ãnDø K'iÕ ÅßßIâ §mêSsØ Ði T¤rMêÑtärVî,
  ßêN§ì VøLtãtÊvi ÅD ØSsËrvÅRê Lã v¤§tRâ ŠäLMã
  Kê hÅ §mêSsø ËtêrÑáMêNtË Ði LåsCîÃrË ImpR¤Ñtê. . . †"

altro, esattamente come farebbe quel comando fatto da una shell di DOS.
La tua domanda non ha senso.  Fare un redirect ha senso *proprio*
perché stai usando la shell.  Da programma puoi semplicemente
limitarti a copiare un file su un altro e per farlo esistono vari
metodi (leggere e scrivere un file, usare una funzione dell'API,
copiare uno stream sull'altro, ecc...).