Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.21;
Скачать: CL | DM;

Вниз

TFileStream   Найти похожие ветки 

 
Николай Быков ©   (2002-10-10 14:59) [0]

Объясните что это такое, в каких случаях нужен, как с ним работать. Только не посылайте в хелп.


 
qube ©   (2002-10-10 15:01) [1]

Класс для работы с файлами. Рекомендуется как альтернатива blockread/blockwrite. А как работать -- в хелп.


 
Rouse_ ©   (2002-10-10 15:02) [2]

Для работы с файлом в памяти, для пересылки файла по сети

Желаю успехов


 
lO3ep   (2002-10-10 21:49) [3]

TFileStream Например
Сохранение объекта элемента коллекции, переопределяется метод Store
procedure TКакой-тоОбъектПотомокTCollectionItem.Store(Name:String);
var
S: TFileStream;
begin
Error:="";
try
S:=TFileStream.Create(Name,fmCreate);
except
begin
Error:="Could not open file :"+Name;
exit;
end;
end;
if S=nil then exit;
R:=Self.Get_Какой-тоОбъектПотомокTCollectionItem(Name);
if R=nil then exit;
R.Store(S);
S.Destroy;
end;

Если по сети то - TMemoryStream

procedure WriteStringToStream(Stream: TStream; S: string);
var
i,j:integer;
begin
j:=length(s);
Stream.Write(j,sizeof(integer));
for i:= 1 to length(s) do
begin
Stream.Write(s[i],sizeof(char));
end;
end;

procedure TForm4.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
MS: TMemoryStream;
Err: string;
Res: integer;
begin
....
Command:=Socket.ReceiveText;
MS:=TMemoryStream.Create;
MS.Clear;
WriteStringToStream(MS,"ERROR");
WriteStringToStream(MS,"Incorrect table name: "+Tab_Name);
MS.Position:=0;
ServerSocket1.Socket.Connections[0].SendStream(MS);
......
end;

посмотри еще
\Delphi\Demos\Internet\Chat - очень понятный пример


 
Kotka ©   (2002-10-10 23:42) [4]

У меня есть исходники моей программки PatchMaker, которые я выложил специально для ознакомления с этим классом. Это здесь: http://kotka.by.ru/Programmists/howto.htm


 
Николай Быков ©   (2002-10-11 14:29) [5]

А если у меня есть record с динамическими массивами то это то что мне нужно или нет?


 
MBo ©   (2002-10-11 14:36) [6]

>это то что мне нужно или нет?
это один из вариантов, причем IMHO очень удобный


 
Pumpkin   (2002-10-11 14:38) [7]

2Николай Быков © (10.10.02 14:59)
> Объясните что это такое

Тебе же qube сказал.
Это тебе вместо AssignFile, Reset, Rewrite, BlockRead, BlockWrite и т.д.
Дальше TFilestrem -> F1


 
Zemal ©   (2002-10-11 15:03) [8]

TStream - класс предоставляющий поля и методы для возможности работы с очередью данных... ну типа поток данных :)... примерно как река течёт... :) вот-с... Этот класс имеет абстрактные методы для управления этим потоком данных (неважно какой поток и откуда он идёт - из файла или с сетевого адаптера :) ). Эти абстрактные методы должны быть обязательно перекрыты в наследниках, а именно методы чтения и записи куда-то (например участок памяти, файл и т.д.)... От этого класса, который сам по себе бесполезен для программиста, пораждены стандартные классы для обработки потока-файла или потока-памяти или... ну и т.д. можешь создать своего потомка этого класса и описать методы чтения и записи... например с USB-порта видео поток перехватывать... гы-гы :) это уже твои проблемы :)... для работы с потоком используется понятие позиция (см. свойство Position: Int64), есть также процедуры и функции перемещения по потоку и др. в общем в деталях долго описывать... это тебе к литературе надо обратиться :). Понятие потока я кажется понятно описал, а там сам посмотри как он реализован в модуле Classes ищи... он там описан (и все его потомки тоже там... посмотри, будет интересно :) ).



Страницы: 1 вся ветка

Текущий архив: 2002.10.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
4-69058
Alx2
2002-09-06 14:54
2002.10.21
Глючит RichEdit1.Perform(EM_CHARFROMPOS,0,0)


6-68894
bnn
2002-08-19 10:15
2002.10.21
Зависание TNMFTP.List


1-68705
KidMan
2002-10-10 21:57
2002.10.21
Список файлов в ComboBox например


4-69074
ElectHp
2002-09-05 14:04
2002.10.21
МЫшкин Клик!!!


3-68645
Ramzes
2002-09-26 21:27
2002.10.21
Password -> Paradox