Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Dicembre 27, 2013, 09:22:37 am

Titolo: Mettere una stringa in un TStream
Inserito da: bonmario - Dicembre 27, 2013, 09:22:37 am
Ciao a tutti,
credo di aver provato tutte le combinazioni possibili, ma senza ottenere nessun risultato ...
Qualcuno mi sa dire come posso mettere il contenuto di una stringa in un TStream?

Grazie in anticipo, Mario
Titolo: Re:Mettere una stringa in un TStream
Inserito da: bonmario - Dicembre 27, 2013, 09:55:33 am
Casomai servisse a qualcuno in futuro, grazie a San Google, ed al fatto di aver trovato le parole corrette con cui fare la ricerca, ho trovato ...
Codice: [Seleziona]
Function StringToStream(const AString: string): TStream;
begin
  Result := TStringStream.Create(AString);
end;

Ciao, Mario
Titolo: Re:Mettere una stringa in un TStream
Inserito da: xinyiman - Dicembre 27, 2013, 12:16:08 pm
Bisogna poi solo ricordarsi di liberare lo spazio allocato dallo TStream
Titolo: Re:Mettere una stringa in un TStream
Inserito da: Stilgar - Dicembre 27, 2013, 12:26:06 pm
bonmario,
  per piazzare il contenuto di una stringa in uno stream, se non puoi usare il metodo di TStream per scrivere le stringhe ...
Codice: [Seleziona]
stream.write(string[1],length(string));
Se interessa solo il contenuto della stringa, senza altri controlli.

Codice: [Seleziona]
stream.write(length(string), sizeof(longint));
stream.write(string[1],length(string));

Se interessa vere anche la lunghezza ...
Il codice è scritto a memoria ;)

Poi basta fare un seek alla posizione 0 dello stream ;)

Stilgar