Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Delphi 7] come inserire testo in un file dopo averlo creato

    dopo questa operazione

    FileCreate(path) voglio aprire il file ed inserirci del testo.

    come fare?

    edit:

    ho provato cosi ma non va... mi da un errore di i/o

    codice:
    if (FileCreate(path+nomefile))<>-1 then
    begin
    AssignFile(myFile, path+nomefile);
         rewrite(MyFile);
        testo := InputBox('Testo','Inserire testo da scrivere nel file','');
       Writeln(MyFile,testo);
      CloseFile(myFile);
    end;

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Se non erro, è sufficiente la funzione Rewrite ad aprire il file e scriverci dentro, senza effettuare una FileOpen prima.

    Ad ogni modo, io preferisco evitare l'uso di queste funzioni obsolete e sfruttare le classi TMemoryStream o TFileStream per quanto riguarda la scrittura di file binari, oppure usare la classe TStringList per aggiungere linee di testo in memoria e salvarle attraverso il metodo SaveToFile.

    Un esempio
    codice:
    var
      S: TStringList;
    begin
      S := TStringList.Create;
      try
        S.Add('riga 1');  
        S.Add('riga 2');  
        S.Add('riga 3');  
        S.SaveToFile('nomefile.txt');
      finally
        S.Free;
      end;
    end;
    Non ho verificato il codice ma dovrebbe essere anche sintatticamente corretto.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    io ho una stringa testo con dentro il testo da inserire e ho il path del del file txt!... nn ho mica capito bene cs intendi

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da DragonFire
    io ho una stringa testo con dentro il testo da inserire e ho il path del del file txt!... nn ho mica capito bene cs intendi
    In tal caso, ti basta prendere il mio esempio e sostituire le chiamate al metodo Add con qualcosa del tipo
    codice:
    S.Text := MioTesto;
    e passare al metodo SaveToFile (che salva il testo su file) il nome scelto, appunto, per il file di destinazione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    codice:
     
    if (FileCreate(path+nomefile))<>-1 then
                 begin
                 if chk_testo.Checked=true then
                   begin
                       S := TStringList.Create;
                       s.Clear;
                      testo := InputBox('Testo','Inserire testo da scrivere nel file','');
                         try
                            s.Text := testo;
                            S.SaveToFile(path+nomefile);
                         finally
                            s.Free;
                         end;
                   end;
    xkè mi da l'errore dicendomi k il file è già utilizzato da un altro processo?

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da DragonFire
    xkè mi da l'errore dicendomi k il file è già utilizzato da un altro processo?
    La funzione FileCreate è da sradicare dal tuo codice: non serve. Il metodo SaveToFile fa tutto: crea il file, scrive il testo al suo interno e lo chiude.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Capito

    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.