Newsgroup: it.comp.aiuto
Titolo: Copiare 1 file alla riga x di un altro file

Salve a tutti.
Sto progettando x un esame all'uni un emulatore delle istruzioni mmx
per 8086; praticamente sto traducendo le istruzioni mmx usando delle
macro in assembly 8086. E fin qui tutto ok (anzi, se qualcuno avesse
suggerimenti o link da propormi, sarebbero bene accetti).
Il problema č far girare questo emulatore.
In genere un emulatore prende un file contenente, oltre alle altre,
anche le istruzioni da emulare; traduce queste ultime e poi esegue il
file.
Visto che le macro che uso io vanno dichiarate in un punto particolare
del file .asm, io pensavo di scrivere tutte le macro in un secondo
file, e poi copiare il contenuto di quest'ultimo file alla riga x del
primo file, riga dove vanno dichiarate le macro.
Per fare questo pensavo a un file batch, o a qualcosa in c++. Perň non
so da dove cominciare...
Col file batch si potrebbe fare cosě: creare un terzo file, opiare in
questi il contenuto del primo file fino alla riga x, poi copiare il
contenuto del secondo file (quello delle macro) e infine copiare quel
che resta del primo file; questo terzo file č quello che deve essere
eseguito. Il problema č dirgli di copiare proprio a quella riga x...
Avete dei suggerimenti? Aiutatemi, pls, devo consegnare giovedě!
Grazie mille
Fabio
--
Occhio all'antispam:
pick...@TOGLIMIsitoverde.com

"Fabio A."
Il wsh farebbe al caso tuo
Function ReadFile(strFilePath)
  Set fso = CreateObject("Scripting.FileSystemObject")
  CONST ForReading = 1
  Dim fso, f
  'get Text file read in
  Set f = fso.OpenTextFile(strFilePath, ForReading)
  ReadFile =   f.ReadAll
End Function
Ecc..........
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMe
XP/EN-US/scrdoc56en.exe
--
Fosco

 Avete dei suggerimenti?
Utilizza un edito esadecimale e copia manualmente il contunuto del file byte
per byte.
Ciao!
--
Marco "DUFF" Palermo
Marco...@SPAMHotmail.com
http://www.marcoduff.cjb.net
http://www.cribiobot.cjb.net

On Sun, 10 Mar 2002 01:20:04 +0100, "MarcoDuff"
<Marco...@SPAMHotmail.com> wrote:
	Ciao
Forse non ho capito bene, ma alla riga del primo file
fai un copia incolla dell'altro file  .
	Ciao Giorgio

 fai un copia incolla dell'altro file  .
Dipende quello che devi fare.
L'editor esadecimale ti permette di copiare i comandi in linguaggio
macchina...


Ho risolto con il c++. A chi interessa posso mandare il file, che
opera come segue:
apre un file, lo scorre riga per riga e contemporaneamente copia tali
righe in un file di output; questo fino a che non trova una certa
stringa; qui apre il secondo file e lo appende, 1 rigo alla volta in
coda al file di output.
Quando questo secondo file è terminato, torna ad appendere in coda al
file di output la parte rimanente del primo file.
Ciao e grazie cmq delle vostre risposte


Ciao!
	Ciao
Io programmo normalmente in assembler ,ma non mi sognerei mai
di fare qualcosa (che non sia la modifica di una stringa) con l'editor
esadecimale.
In questo caso poi non saprei cosa fare ,salvo quello che avevo 
indicato e che, come quasi sempre succede, ..non si sa come
sia andata a finire !!!  
	Ciao Giorgio

 esadecimale.
Con le poche informazioni date e da quello che ho capito, credo che sia
l'unica cosa fattibile.
A quanto ho capito neil file vi erano dati, e quindi, tremite editor, si
indivuduano i dati che servono e si copiano.
Alla fine è proprio quello che ha fatto tramite programma c.


indivuduano i dati che servono e si copiano.
Come avevo spiegato (forse sono stato poco chiaro) dovevo fare un
emulatore di istruzioni MMX che girasse su 8086. Ho utilizzato delle
macro assembly 8086, di modo che ogni chiamata a un'istruzione MMX
chiami la relativa macro.
Il problema era che, essendo un emulatore, le macro non possono stare
nel file scritto dall'utente, ma l'emulatore si deve preoccupare di
dichiararle al posto giusto nel file utente.
Il posto giusto è dopo la stringa "codice segment". Il programma C,
oltre ad alcuni fronzoli, fa proprio questo:
legge una riga del file utente e la copia nel file di output;
se la riga non contiene la stringa "codice segment" legge e copia la
riga successiva;
Se invece trova la stringa, allora apre il file delle macro e lo
copia, riga per riga, dopo codice segment nel file di output,
dopodichè torna al file utente e ne copia nel file di output la parte
rimanente.
Alla fine prende il file di output, lo compila e lo esegue.
Essendo un emulatore, tutto questo dev'essere fatto in automatico, non
potevo fare copia e incolla ;-)


 potevo fare copia e incolla ;-)
Adesso ho capito, sorry! ;-)
