Newsgroup: it.comp.lang.delphi
Titolo: WantReturns su TStringList

Ciao,
probabilmente le cose più strane capitano a me (o meglio non ci arrivo :p) e
su google non sembra esserci traccia... (la stringa di ricerca (nei ng)
"WantReturns TStringList" non porta a nessun risultato. Almeno faccio un
precedente :p)
Il problema è che quando faccio un LoadFromFile da un TStringList "il
cursore" (la posizione?) mi viene mandato a capo dopo l'ultimo carattere e
cio' non lo voglio assolutamente (mi sballa tutti i calcoli). (me ne sono
accorto copiando il contenuto del TStringList in un memo, mentre se lo
carico da un memo direttamente (con wantreturns a false) non va a capo (e
viceversa))
Tra l'altro facendo un po' di prove ora non sono più tanto sicuro che si
tratti del WantReturns :-/
Cmq sia mi sapete dire se è possibile eliminare questo fastidioso problema?
Grazie mille
PS il file da caricare è di una sola riga e al momento ho arginato il
problema con .Strings[0] ma dovrò lavorare anche con più (n) righe e non
vorrei fare cose tipo "for".

 problema?
Non c'e' alcun problema evidenziato in quanto hai scritto: e' tutto as
designed, compresa la mancanza di una proprieta' WantReturns in
TStringList.
Saluti
Paolo Arosio
-- 
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
 e' che non ci vengono a trovare"


Open Delphi Manual (
http://groups.yahoo.com/group/delphi_open_manual/
)

 due termini assieme... ;-)
...come ho scritto su quando carico con un "LoadFromFile" (o salvo con il
SaveToFile) mi viene come ("come" perchè non ho ancora capito benissimo cosa
succeda in realtà) mandato a capo all'ultimo carattere (si può anche
interpretare come l'aggiunta di un carattere a capo (chr(13)+chr(10) se
vogliamo)).
Questo fatto non mi sta bene in quanto mi sballa tutto il resto. Se io
carico (o salvo) un file, una stinga di testo, la voglio come l'ho scritta
l'ultima volta...
Spero di aver chiarito meglio la situazione :)
byez

 Spero di aver chiarito meglio la situazione :)
Non ho ancora capito se ti manda a capo *ogni* riga e tu non vuoi, oppure se
ti manda a capo solo alla fine del file.
--
Jax
====
L'Inghilterra è una nazione di bottegai. (Napoleone Bonaparte)

 oppure se ti manda a capo solo alla fine del file.
Solo alla fine...
var
T: TStringList;
in pratica con un file di testo di _1 sola riga_  vale questa disuguaglianza
( T.Strings[0] <> T.Text ) ma vale ( T.Strings[0] = 'copia incolla da
file.txt' )
stessa cosa con 2 righe: ( T.Strings[0]+chr(13)+chr(10)+T.Strings[0] <>
T.Text ) ma vale:
memo1.loadfromfile('file.txt');  //con WantReturns = false
(T.Strings[0]+chr(13)+chr(10)+T.Strings[0] = Memo1.lines.text) = true;
e non capisco come mai (e/o dove sbaglio) :-(
Grazie

I/O wrote:
[cut]
Dopo un po' di prove ho appurato che è il ".savetofile()" che aggiunge un
carattere (a capo) in fondo alla stringa... infatti se salvo attraverso un
TStingList una stringa e riapro lo stesso file con un Tmemo vedo che il
cursore è a capo, basta cancellare quel carattere con il backspace e tutto
torna ok (in pratica sono stringhe criptate e un carattere in più sballa
ogni decript).
 Es:
questo da quel carattere in più (è un esempio, non rispecchia il programma
ma rispecchia il problema in pieno):
procedure TForm1.Button1Click(Sender: TObject);
var m1: TStringList;
begin
  M1:=TStringList.Create;
  M1.Clear;
  M1.Text:='Ciao';
  if SaveDialog1.Execute then
    begin
      M1.SaveToFile(SaveDialog1.FileName);
      M1.LoadFromFile(SaveDialog1.FileName);
      Memo1.Lines.Text:=M1.Text;  //Viene visualizzato un risultato simile
a: 'Ciao'+chr(13)+chr(10)
    end;
end;
___________________
mentre questo funziona alla grande:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Text:='Ciao';
  if SaveDialog1.Execute then
    begin
      Memo1.Lines.SaveToFile(SaveDialog1.FileName);
      Memo1.Lines.LoadFromFile(SaveDialog1.FileName); //Viene visualizzata
solamente la stringa 'Ciao' senza il carattere "a capo"
    end;
end;
Non posso usare il Tmemo in quanto in win9x c'è la limitazione dei 64Kb e il
RichEdit mi mette tutti i simboli che servono per i documenti rft (visibili
con il plaintext:= true) e non so' come disattivare l'opzione...
Grazie ancora per l'attenzione :)