Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2011, 20:26   #1
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию Типизированные файлы из интернета

Привет, народ. Есть такой вопрос, вот допустим у меня на сервере есть типизированный файл, как бы мне его скачать прямо в память, и потом заполнить переменную - запись. Я умею скачивать сами файлы, но вот как сделать без сохранения на диск не знаю. Подскажите кто может, плз. Надо именно не создовая файла
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 12.09.2011, 20:44   #2
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Если к примеру использовать компонент TIdHTTP для закачки файла, то это будет выглядить примерно так:

Код:
var
  http: TIdHTTP;
  ms: TMemoryStream;
  sl: TStringList;
begin
  http := TIdHTTP.Create(nil);
  ms := TMemoryStream.Create;
  http.get('http://site.com/file.txt', ms);
  http.Free;
  ms.Position := 0;
Все. Ваш файл будет находиться в памяти. А дальше уже делайте с файлом что угодно.

Продолжение.
Код:
  ...
  sl := TStringList.Create;
  sl.LoadFromStream(ms);  
end;
kangreon вне форума Ответить с цитированием
Старый 12.09.2011, 20:46   #3
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Хм, вот именно, что у меня с этим проблем нету, вопрос именно по типизированным файлам, как потом в переменную занести скаченный результат ?! Это я спрашивал
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 12.09.2011, 20:48   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вас не смущает что "типизированные файлы"?
в Делфи этот механизм только для файлов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.09.2011, 20:50   #5
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вас не смущает что "типизированные файлы"?
в Делфи этот механизм только для файлов.
Ну так немного =) Но все же, может есть решение ?
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 12.09.2011, 20:50   #6
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Можите уточнить что за типизированный файл? Какой нибудь пример.
kangreon вне форума Ответить с цитированием
Старый 12.09.2011, 20:53   #7
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

ХМ, вот есть структура:
Код:
type
 ff = packed record
  str: String[10];
 end;
Данная структура записана в файле, на сервере. Что тут не ясного ?
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 12.09.2011, 21:03   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)сохранить во временный файл и его открыть.
2)сохранить в поток, и читать его методами.
выходит примерно так:
Код:
type
 ff = packed record
  str: String[10];
 end;

//------------------------

var f:ff;
     MS:TMemoryStream;
begin
 MS:=TMemoryStream.Create;
 idhttp1.Get(<addr>,MS);
 MS.Position:=0;
 while (MS.Size-MS.Position)>=SizeOf(f) do
  begin
    MS.Read(f,SizeOf(f));
    //чтото делаем со структурой.
  end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.09.2011, 21:07   #9
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Оо, спс. Вот это как раз то, что нужно
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
типизированные файлы Joy1 Паскаль, Turbo Pascal, PascalABC.NET 3 03.07.2012 22:58
Типизированные файлы surf135 Помощь студентам 1 14.06.2010 11:55
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
Типизированные файлы Mizantrop Помощь студентам 1 09.04.2010 02:57