|
Тема
|
bug в TStream.SaveToFile ?
|
|
Автор |
Maнитy (тайнствен) |
Публикувано | 30.10.01 18:35 |
|
Следния примерен код дава странни резултати:
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
| |
Тема
|
Re: bug в TStream.SaveToFile ?
[re: Maнитy]
|
|
Автор |
Shveik (Администратор) |
Публикувано | 30.10.01 23:30 |
|
Здрасти Маниту приательо,
много време мина от както не сме се виждали за нещастие..
как са жените, пиенето и .... т.н.
Да минем на въпроса това което искаш да направиш става така:
Write(Pointer(StrVar)^, Length(StrVar));
По време на байт експо ще идвам в София как да се свържа с теб .. бих искал да се видим имам доста работи да ти казвам.. пък и да пием по една бира :))) с две жени.
Чао
Дори и да не можеш - ТРЯБВА.
Щом трябва значи МОЖЕШ.
| |
Тема
|
Re: bug в TStream.SaveToFile ?
[re: Shveik]
|
|
Автор |
Maнитy (тайнствен) |
Публикувано | 31.10.01 12:18 |
|
Ужасно се радвам на появата ти майне фройнд, издирвам те като хипар марихуана, но ето че успях, благодаря ти и за съвета, почти си прав, но ме наведе на правилната посока, използвайки междинното звено TStringStream и посочения от теб трик стана :-)
Погледни си и пощата, ако не успееш днес (от утре в дира не работят мейловете, освен ако не си си платил разбира се) ме намери на 963 38 80 в офиса през деня
Поздрави и усмивки, чакам те в голямо село да изпием по едно пиво за твое и мое здраве
...may the source be with you
| |
|
|
|
|