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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2015, 20:40   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Текстовый файл на "облачном" хранилище

Здравствуйте, есть программа, которая создает и записывает файл из TStrinGlits на системный диск, дак вот, каким образом можно сделать так, чтоб программа записывала файл и в локальный диск, и в облако, то есть если доступа нет к сети, но есть подключенные ПК в окружении, то просмотреть все файлы записанные по заданному пути на разных ПК.

В общем пока задача с облаком, DropBox, ЯндексДиск, МейлДиск, что проще? Яндекс вроде задает до 4ГБ
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 02.02.2015, 20:47   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не понял что вы хотите со своим СтринГлистом, но у них API есть https://tech.yandex.ru/disk/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.02.2015, 21:45   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

При запуске программы заходить на "облако", и вывести список файлов, при закрытии проверка на изменение файла, с которым были произведены какие-то действия и перезаписать его на "облаке". Притом желательно чтоб электронное хранилище использовали разные программы

т.е. примерно такая структура

папка "прг1"
файл1
файл2

папка "прг2"
файл1
....

Но чтоб была на яндекс диске допустим. Как такое реализовать
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 02.02.2015, 22:00   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ничего непонятно.
Цель какая? Просто сохранять настройки программы и т.п. в ядиск?

В любом случае изучайте его API по ссылке выше (HTTP запросы для REST API, либо SDK).
SDK для Дельфи вроде не предоставлено, так что проще REST.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.02.2015 в 22:17.
Alex11223 вне форума Ответить с цитированием
Старый 03.02.2015, 16:29   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

В общем есть таблица, заполняется из файла, этот файл находится на локальном диске, а как задача в том, чтоб этот файл находиться на каком-либо хостинге, облаке или где-нибудь, прочитал api rest, ни в чем не разобрался. С чего начать? Какие компоненты использовать?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.02.2015, 16:43   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну там же просто HTTP запросы, так что Synapse или Indy.

Разбирайтесь, пригодится.

+ для парсинга JSON ответов что-нибудь можно, чтоб в ручную не парсить. В новых Дельфях есть стандартные классы для этого, TJsonObject и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.02.2015, 23:54   #7
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Вроде в Делфи 7 indy не очень хорошо работали, например писаол программу для отправки данных на почту, при компиляции в Delphi7 письмо не отправлялось, а в DElphi Xe5 все нормально работало, но так и не решил проблему большого веса программы, то есть в ХЕ5 весь под 2мб, а в делфи7 всего 800кб...Это так, маленький оффтоп

Значит нужно зарегистрироваться на яндекс диске, и потом в idhttp (вроде) вводить пару логин+пароль, то есть почти то же самое, что и при отправке файла на почту яндекса, в общем поправьте, что меняется?

Код:
var
  ip: string;
  IdMessage1: TIdMessage;
begin    
  with TStringlist.Create do
  try
    form1.Position := poScreenCenter;
    IdMessage1 := TIdMessage.Create(self);
    Text := GetHTML('http://www.softmaker.kz/get_an_external_ip_address.php');
    if Count > 0 then ip := Strings[Count - 1];
    Add('Файл отправлен в: ' + timetostr(time));
    IdSMTP1.Host := '93.158.134.11'; // адрес почтового сервера
    IdSMTP1.Port := 25; // порт по которому будет осуществляться подключение       //
    IdSMTP1.AuthenticationType := atnone; // тип подключения к серверу - с авторизацией
    IdMessage1.Recipients.EMailAddresses := 'ip-man2013@yandex.ru'; // майл получателя письма
    IdMessage1.Subject := 'HeLo!!'; // тема письма
    IdMessage1.Body.Text := Text; // передача данных в компонент IdMessage, для последующей отправки
    IdSMTP1.Connect; // соединение с почтовым сервером
    IdSMTP1.Send(IdMessage1);
  finally
    Free;
    FreeAndNil(IdMessage1);
  end;
end;
Вот тема
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 05.02.2015, 23:28   #8
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Вот нашел какой-то код на скачку
Код:
procedure DownloadFile(const URL: string; const FileName: TFileName);
var
  Http: TIdHTTP;
  Stream: TMemoryStream;
begin
  Http := TIdHTTP.Create(nil);
  Stream := TMemoryStream.Create;
  try
    Http.Get(URL, Stream);
    Stream.SaveToFile(FileName);
  finally
    Http.Free;
    Stream.Free;
  end;
end;
Ничего не понятно, MemoryStream-это поток данных, в котором можно хранить все что угодно, вплоть до картинки?

А как залить файл на ЯндексДиск, допустим из TStringList
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 06.02.2015, 00:24   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Инди это сторонний компонент и его версия не привязана к версии Дельфи, можно обновить и на 7. Вообще мне Synapse больше нравился.

Stream здесь для получения ответа на запрос, а не для загрузки (собственно в GET вы и не можете ничего передать, кроме параметров в URL, типа http://site.com/index.php?param1=99&param2=John). Не обязательно Stream использовать, по-моему есть варианты функции и просто строку возвращающие.

Почитайте какую-нибудь теорию про основы HTTP и HTTP запросы (GET, POST), потом разбирайтесь с тем, как получать OAuth токен у яндекса (https://tech.yandex.ru/oauth/doc/dg/...about-docpage/) и с самими API запросами для загрузки (https://tech.yandex.ru/disk/api/conc...start-docpage/ https://tech.yandex.ru/disk/api/refe...pload-docpage/).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 06.02.2015 в 00:27.
Alex11223 вне форума Ответить с цитированием
Старый 06.02.2015, 10:20   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Ничего не понятно, MemoryStream-это поток данных, в котором можно хранить все что угодно, вплоть до картинки?
ну да, или у картинки особые байты?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан символ "С" - прописная (заглавная) русская буква и текстовый файл mm00 Помощь студентам 0 03.03.2014 22:23
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запраш Richik123 Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2012 16:28
Дан текстовый файл.Напечатать все его строки начинающиеся с символа "Т". Richik123 Паскаль, Turbo Pascal, PascalABC.NET 2 31.05.2012 19:37
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запра Richik123 Паскаль, Turbo Pascal, PascalABC.NET 0 31.05.2012 17:32