Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c