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

    [Delphi] memorizzare lines in Tmemo

    ciao a tutti...
    volevo tenere in memoria le lines di un tmemo in modo tale che al riavvio del sistema, il Tmemo mi visualizza i dati che avevo scritto prima di spegnere il pc.
    Nelle applicazioni passate, dato che mi serviva stampare (su file *.rtf) delle relazioni di calcolo, utilizzavo "savedialog" per memorizzare le stringhe quindi, ora, nn mi viene in mente come fare per risolvere il problema di cui vi ho chiesto suggerimenti...
    grazie mille a tt !
    carmelo
    Dubitare di se stesso è il primo segno dell'intelligenza (Ugo Ojetti)

  2. #2
    la proprietà Lines di un TMemo è un TString, puoi quindi usare il suo metodo SaveToFile.
    ciao
    sergio

  3. #3
    ciao e grazie per la risposta...
    questo cmq lo sapevo anche io però non volevo utilizzare questo controllo perchè non volevo creare nessun file di testo aggiuntivo.
    Non ci sn dei metodi per salvare il testo in memoria senza file aggiuntivi?
    ty mille
    carmelo
    Dubitare di se stesso è il primo segno dell'intelligenza (Ugo Ojetti)

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da carmelo81
    ciao e grazie per la risposta...
    questo cmq lo sapevo anche io però non volevo utilizzare questo controllo perchè non volevo creare nessun file di testo aggiuntivo.
    Non ci sn dei metodi per salvare il testo in memoria senza file aggiuntivi?
    ty mille
    carmelo
    Forse ti manca un cavillo: quando il sistema si riavvia tutta la memoria viene cancellata. Tutta. Altrimenti a cosa servono gli hard disk?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da carmelo81
    Non ci sn dei metodi per salvare il testo in memoria senza file aggiuntivi?
    Ammesso che sia possibile - per quanto così come è già stato detto se si riavvia la macchina si perdono comunque i dati - non capisco perché non dovresti creare file in cui memorizzi valori che desideri conservare.

    Cosa c'è di blasfemo nel salvare in file di testo... un testo?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  6. #6
    ciao...
    in effetti ho cambiato idea sul da farsi per memorizzare le note e richiamarle ad ogni avvio dell'applicazione, io ho fatto cosi ma da dei problemi:

    procedure TForm1.FormActivate(Sender: TObject);
    begin
    memo1.Lines.LoadFromFile(note);
    end;

    procedure TForm1.Memo1Change(Sender: TObject);
    begin
    note := ExtractFilePath(Application.ExeName)+'Note.txt'
    end;

    i problemi sono:
    1) all'avvio dell'applicazione mi da l'errore "cannot open file". forse non trova il file note.txt?

    2) [note := ExtractFilePath(Application.ExeName)+'Note.txt']: questo mi salva in automatico il file o devo a prescindere salvare il file *.txt con il comando savetofile?
    grazie per l'aiuto
    ciau
    Dubitare di se stesso è il primo segno dell'intelligenza (Ugo Ojetti)

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da carmelo81
    i problemi sono:
    1) all'avvio dell'applicazione mi da l'errore "cannot open file". forse non trova il file note.txt?
    Ovvio: hai definito il percorso del file nell'evento OnChange del TMemo!

    Originariamente inviato da carmelo81
    2) [note := ExtractFilePath(Application.ExeName)+'Note.txt']: questo mi salva in automatico il file o devo a prescindere salvare il file *.txt con il comando savetofile?
    Se sei a questo punto, allora credo che tu debba fare 1, 10, 100 passi indietro prima di metterti a lavorare con Delphi e con la libreria VCL per realizzare l'applicazione che ti sei prefissato.

    Non puoi andare per tentativi senza comprendere il codice che stai scrivendo. Nella Guida in linea trovi tutte le indicazioni per conoscere il significato di ciascuna procedura, classe o membro della classe utilizzato. Posizionati su ExtractFilePath e premi F1, fai lo stesso con Application.ExeName e scoprirai quello che stai realmente facendo.

    Se non possiedi la conoscenza minima dei rudimenti del linguaggio, non puoi cimentarti in qualcosa che vada oltre a questo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  8. #8
    segui i consigli di Alka, se vuoi circoscrivere la azione di salvataggio e recupero ti consiglio di inserire due pulsanti nel form, con uno carichi le tue note e con l'altro le salvi.
    Nel metodo OnClick dei due pulsanti dovrai inserire

    memo1.Lines.LoadFromFile(mio_path_assoluto + '\' + 'note.txt');
    in quello che carica il file

    memo1.Lines.SaveToFile(mio_path_assoluto + '\' + 'note.txt');
    in quello che salva il file

    mio_path_assoluto è una stringa del tipo
    mio_path_assoluto := 'c:\Documents';
    // o altra a tuo piacimento per esempio ricavata utilizzando ExtractFilePath e Application.ExeName

    usa il debugger ed inserisci i controlli che vuoi verificando di volta in volta
    ciao
    sergio

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 © 2024 vBulletin Solutions, Inc. All rights reserved.