Per la scrittura di file di testo, oltre alle routine standard ereditate dal buon vecchio Pascal, puoi utilizzare anche la classe TStringList, la stessa che viene adottata dal controllo TMemo per contenere il proprio testo.
Attraverso il costruttore Create, si crea un'istanza della classe; il metodo Add aggiunge righe di testo includendo un ritorno a capo, richiamandolo ogni volta che è necessario. In alternativa, è possibile definire il testo da salvare impostandolo nella proprietà Text direttamente.codice:var S: TStringList; begin S := TStringList.Create; try S.Add('...'); // ... S.SaveToFile('Filename.txt'); finally S.Free; end; end;
Quando l'operazione è completa, il metodo SaveToFile permette di riversare il testo all'interno del file avente il nome specificato come parametro.
E' una soluzione maggiormente object oriented per il salvataggio di testo, sempre "plain", s'intende, cioè senza formattazione...puro ASCII.
Se desideri salvare file .DOC, in tal caso ti servono componenti in grado di manipolare quel formato di file; in generale, si ricorre all'uso dei componenti di OLEAutomation (pagina "Servers" della Palette dei Componenti), ma l'applicazione di riferimento (Word, in questo caso) DEVE essere installata. In alternativa a questi componenti, ne esistono altri gratuiti e Open Source: TurboPower OfficePartner.
Si tratta di un formato (DOC) proprietario, pertanto servono componenti di automazione in grado di conoscerlo e salvare in modo appropriato documenti in tale formato.
Secondo me, per le tue esigenze si adatterebbe meglio un semplice file HTML, con il quale puoi riprodurre tabelle, stili e altro ancora...tutto quello che ti serve.
Trattandosi sempre di un file ASCII, potresti gestire tutto con la StringList memorizzando testo contenente gli elementi di markup (i tag) che servono per differenziare la formattazione dei contenuti, anche se esistono componenti in grado di rendere forse più semplice questo compito, ad esempio il TPageProducer (pagina "Internet" della Palette dei Componenti), che fa parte della tecnologia WebBroker di cui dispone Delphi.
Se la risposta non ti soddisfa, definisci meglio il tuo problema e le tue necessità.
Ciao!![]()

Rispondi quotando