|
Тема
|
bug в TStream.SaveToFile ?
|
|
Автор |
Maнитy (тайнствен) |
Публикувано | 30.10.01 18:30 |
|
Следния примерен код дава странни резултати:
var
TmpStream : TMemoryStream;
IntVar : Integer;
ByteVar : Byte;
StrVar : String; //в Delphi6 -> AnsiString, null терминиран
begin
IntVar := 1000;
ByteVar := 100;
StrVar := 'що не става да му!';
TmpStream := TMemoryStream.Create;
with TmpStream do
begin
Write(IntVar, SizeOf(IntVar));
Write(ByteVar, SizeOf(ByteVar));
Write(StrVar, Length(StrVar));
SaveToFile(Path);
Free;
end;
end;
... имам чувството, че TStream (TMemoryStream е негов наследник) грешно конвертира стрингове или трябва преди това да конвертирам в Byte тип ръчно, но как.. изключвам възможността знак по знак, бавно и глупаво, би трябвало сам да го прави, а Integer и Byte типовете се записват коректно, освен това в самия stream мисля, че стринга се записва коректно, но след записа става каша в файла почему ?
Моля спешно помогнете
...may the source be with you <P ID="edit"><FONT class="small"><EM>Редактирано от Maнитy на 30.10.01 18:31.</EM></FONT></P>Редактирано от Maнитy на 30.10.01 18:31.
| |
Тема
|
Re: bug в TStream.SaveToFile ?
[re: Maнитy]
|
|
Автор |
Shveik (Администратор) |
Публикувано | 30.10.01 23:26 |
|
Здрасти Маниту приательо,
много време мина от както не сме се виждали за нещастие..
как са жените, пиенето и .... т.н.
Да минем на въпроса това което искаш да направиш става така:
Write(Pointer(StrVar)^, Length(StrVar));
По време на байт експо ще идвам в София как да се свържа с теб .. бих искал да се видим имам доста работи да ти казвам.. пък и да пием по една бира :))) с две жени.
Чао
Дори и да не можеш - ТРЯБВА.
Щом трябва значи МОЖЕШ.
| |
Тема
|
Re: bug в TStream.SaveToFile ?
[re: Shveik]
|
|
Автор |
SDR () |
Публикувано | 31.10.01 12:14 |
|
az pak obicham da go prawq taka:
sz:=length(str);
s.write(sz,sizeof(sz));
s.write(str[1],sz);
a posle si go chetesh:
s.read(sz,sizeof(sz));
setlength(str,sz);
fillchar (str,sz,0);//towa tuka e shtoto wednaj mi prawishe AV pri podoben sluchaj
s.read(s[1],sz);
| |
Тема
|
Re: bug в TStream.SaveToFile ?
[re: SDR]
|
|
Автор |
Maнитy (тайнствен) |
Публикувано | 31.10.01 12:38 |
|
Туй добре, но когато имаш 2MB текст и отгоре става меча услуга, но както отгороворих на Швейк в програмисти трика който сработи при мен е с междинно трансформиране в TStringStream и неговия метод, все пак благодаря и на двамата, ако почуствате суша в гърлата си, аз съм насреща с пиво почерпка
...may the source be with you
| |
|
|
|
|