[Lazarus-es] comportamiento erratico de TBase64EncodingStream

Carlos German Tejero german_tejero en yahoo.com.ar
Dom Oct 4 00:05:11 CEST 2009


He probado montones de formas, pero de todas me da dos resultados, debe ser
un error o hay algo que no entiendo. Esta es la ultima forma que probe:

procedure TForm1.Button1Click(Sender: TObject);
var
buffer1       : TStringStream;
buffer2       : TStringStream;
EncodeStream : TBase64EncodingStream;
begin
    buffer1 := TStringStream.create('');
    buffer2 := TStringStream.create('');

    EncodeStream := TBase64EncodingStream.Create(buffer1);

    buffer2.WriteString(Utf8ToAnsi(Memo1.Lines.Text));

    buffer2.Position := 0;
    EncodeStream.Write(buffer2, buffer2.size);

    buffer1.Position := 0;
    Memo2.Lines.Text := AnsiToUtf8(buffer1.DataString);

    EncodeStream.free;
    buffer1.free;
    buffer2.free;
end;

para la cadena 'carlos germán tejero' me produce:

kO8TAHDvEwBoPh0A6EkdACj08AH0
cO8TAJDvEwBoPh0A6EkdACj08AH0

de forma intermitente. Siempre cambia el primer y el sexto caracter. Suena
raro. Puedes reportarlo en la lista en ingles a ver si alguien aporta algo
mas.

Saludos.

El 3 de octubre de 2009 00:09, Rafael Bidegain <r.bidegain en gmail.com>escribió:

> Hola!
>
> una vez mas, les pido una opinion para que me ayuden a comprender que
> estoy haciendo mal.
>
> tengo un formulario con (use base64 además de lo usual)
> en el formulario tengo dos componentes TMemo y un boton
> en el primer tmemo el texto cargado es Memo1 (el valor por defecto) en
> el segundo tmemo también tiene el valor por defecto.
>
> en el botón tengo el siguiente código
>
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> buffer       : TMemoryStream;
> EncodeStream : TBase64EncodingStream;
> begin
>     buffer := TMemoryStream.create();
>     EncodeStream := TBase64EncodingStream.Create(buffer);
>     Memo1.Lines.SaveToStream(buffer);
>
>     buffer.position := 0;
>     EncodeStream.Write(buffer, buffer.size);
>
>     buffer.position := 0;
>     Memo2.Lines.LoadFromStream(buffer);
>
>     EncodeStream.free;
>     buffer.free;
> end;
>
> el problema está en que cada vez que presiono el botón obtengo un
> valor distinto.
> por ejemplo estos:
>
> wHGkt4CZ
> gHSkt4CZ
> gHWkt4CZ
> AHakt4CZ
> wHSkt4CZ
>
> he notado que algunas veces los valores que se repiten son solo tres...
>
>
> --
> Rafael Bidegain
>
> Ya que los cuerdos no hablan, hablará el loco.
> (The Fool, Padraic Pearse)
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



-- 
Carlos Germán Tejero
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20091003/6f9aff69/attachment-0002.html>


More information about the Lazarus-es mailing list