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

Вниз

запрос   Найти похожие ветки 

 
bumb   (2011-02-28 13:28) [0]

Всем Добрый день. Есть программа которая получает от сервера список справочников
procedure TForm1.Button1Click(Sender: TObject);
var
 stringstream: TStringStream;
begin
 stringstream:=TStringStream.Create("");
 try
   stringstream.WriteString("input_xml=<?xml version="1.0" encoding="windows-1251"?>");
   stringstream.WriteString("<document>");
   stringstream.WriteString("<function name="catalogGetList">");
   stringstream.WriteString("<param name="login">ivanov</param>");
   stringstream.WriteString("<param name="pass">dfgfd4gfdsadqwerghjki79a4fa6dfc</param>");
   stringstream.WriteString("<param name="idEmployer">807</param>");
   stringstream.WriteString("</function>");
   stringstream.WriteString("<client name="SomeProgram" version="1.0"/>");
   stringstream.WriteString("</document>");
   IdHTTP1.Request.ContentType:="application/x-www-form-urlencoded";
   IdHTTP1.Request.ContentLength:=stringstream.Size;
   stringstream.Position:=0;
   Memo1.Text:=IdHTTP1.Post("http://xxx.xxx.xxx.xxx/api/functions.php", stringstream);
 finally
   stringstream.Free;
 end;


У меня вопрос в том, как создать справочники у себя на компе, такие же как полученные от сервера? У меня также есть прога чтобы создать с нуля справочник у себя на компе, но задача такая что нужна создать точно такую же, как на сервере. Как это сделать?


 
Dennis I. Komarov ©   (2011-02-28 13:41) [1]

Ничего у тебя нет, есть только некий Post к серверу, и вероятно некий контент, который он вернет, если изволит.


 
bumb   (2011-02-28 13:57) [2]

Програмка проверена, работает. Вопрос в том как создать справочники у себя на компе, такие же как полученные от сервера?


 
sniknik ©   (2011-02-28 14:01) [3]

> нужна создать точно такую же, как на сервере. Как это сделать?
легко!
договариваешься с админами а сервере и например получаешь ежедневный бэкап базы.
или они открывают тебе доступ серверной базы на чтение, без http.
или они/программисты той конторы пишут для тебя скрипты которые возвращают структуру/данные базы по http.
или расширивают раздел по ftp куда будут складировать нужное тебе, и ты будешь забирать.
или открывают тебе доступ по RDP (удаленный рабочий стол), и ты там сам собираешь нужное, и передаешь в расшарку своей машины.

вариантов масса в общем, но главное, вначале нужно договориться...


 
bumb   (2011-02-28 14:06) [4]

Доступа на чтение у меня есть. Также есть прога на создания у себя на компе справочников.

procedure TForm1.Button3Click(Sender: TObject);
var
 stringstream: TStringStream;
begin
 stringstream:=TStringStream.Create("");
 try
   stringstream.WriteString("input_xml=<?xml version="1.0" encoding="windows-1251"?>");
   stringstream.WriteString("<document>");
   stringstream.WriteString("<function name="catalogCreate">");
   stringstream.WriteString("<param name="login">qwerty</param>");
   stringstream.WriteString("<param name="pass">hghghgdhg5a743jhjha0e4a801fc3</param>");
   stringstream.WriteString("<param name="idEmployer">456</param>");
   stringstream.WriteString("<param name="name"><![CDATA[novaya]]></param>");
   stringstream.WriteString("<param name="iddepartment">323</param>");
   stringstream.WriteString("<param name="idsystem">0</param>");
   stringstream.WriteString("<param name="recordtype">0</param>");
   stringstream.WriteString("<param name="quotient">0</param>");
   stringstream.WriteString("<param name="visible">0</param>");
   stringstream.WriteString("</function>");
   stringstream.WriteString("<client name="SomeProgram" version="1.0"/>");
   stringstream.WriteString("</document>");
   IdHTTP1.Request.ContentType:="application/x-www-form-urlencoded";
   IdHTTP1.Request.ContentLength:=stringstream.Size;
   stringstream.Position:=0;
   Memo1.Text:=IdHTTP1.Post("http://xxx.xxx.xxx.yyy/api/functions.php", stringstream);
 finally
   stringstream.Free;
 end;
end;


Но она создает справочник с нуля, а мне нужна такая же, как полученная от сервера


 
sniknik ©   (2011-02-28 14:19) [5]

> Доступа на чтение у меня есть.
ну так считай данные, да залей их в справочники созданные у себя на компе. в чем проблема?


 
bumb   (2011-02-28 14:24) [6]

проблема в том что сервер Один, а компьютеров несколько. И Справочников около 20ти. Поэтому нужна прога которая сразу же из полученного списка создаст справочник на любом компе


 
sniknik ©   (2011-02-28 14:26) [7]

> Также есть прога на создания у себя на компе справочников.
если имеется в виду код ниже, то это post запрос на сервер, а не создание "справочника с нуля" у себя на компе.
и да в ответе может быть какая то структура, по которой может и можно что то создать, но ... на кой оно здесь? к вопросу код отношения не имеет.
скорее имеет та часть протокола, здесь не показанного, где получаются данные в придачу к структуре.


 
sniknik ©   (2011-02-28 14:29) [8]

> проблема в том что сервер Один
это не проблема... оно так работает, что один сервер обрабатывает кучу запросов с клиентов. а локальные справочники это проблемы на синхронизацию и т.д.

> а компьютеров несколько.
смешно. в инете сервера с миллионами клиентов работают, и ничего. не проблема.


 
bumb   (2011-02-28 14:34) [9]

Забивать каждый справочник отдельно займет очень много времени. Ответ на пост запрос списка справочников от сервера такой

<?xml version="1.0" encoding="windows-1251"?>
<document><info><api_version>1.0</api_version><time>14:30:17</time><execution_time>0.0676891803741</execution_time></info><result value="0"><catalogs><catalog><id>44</id><name><![CDATA[test]]></name></catalog><catalog><id>37</id><name><![CDATA[Адреса контактов]]></name></catalog><catalog><id>12</id><name><![CDATA[Адреса рассылки файлов из библиотеки]]></name></catalog><catalog><id>11</id><name><![CDATA[Адресная книга]]></name></catalog><catalog><id>7</id><name><![CDATA[Банк]]></name></catalog><catalog><id>3</id><name><![CDATA[Валюта]]></name></catalog><catalog><id>29</id><name><![CDATA[Вид Поступления]]></name></catalog><catalog><id>42</id><name><![CDATA[Виды работ]]></name></catalog><catalog><id>6</id><name><![CDATA[Города]]></name></catalog><catalog><id>2</id><name><![CDATA[Должности]]></name></catalog><catalog><id>20</id><name><![CDATA[Клиентская задача]]></name></catalog><catalog><id>9</id><name><![CDATA[Компании]]></name></catalog><catalog><id>8</id><name><![CDATA[Контакты]]></name></catalog><catalog><id>1</id><name><![CDATA[Налог]]></name></catalog><catalog><id>38</id><name><![CDATA[Подразделения]]></name></catalog><catalog><id>5</id><name><![CDATA[Продукты]]></name></catalog><catalog><id>35</id><name><![CDATA[Резолюции]]></name></catalog><catalog><id>24</id><name><![CDATA[Состояние]]></name></catalog><catalog><id>4</id><name><![CDATA[Страны]]></name></catalog><catalog><id>36</id><name><![CDATA[Темы документов]]></name></catalog><catalog><id>34</id><name><![CDATA[Типы документов]]></name></catalog></catalogs></result></document>


 
bumb   (2011-02-28 14:38) [10]

То есть здесь указаны справочники, которые есть на сервере. Проблема не в том, что сервер не осилит или что-то вроде этого. На каждый компьютер нужно забить справочники. Отдельно. И если делать это по одному, то на это уйдет много времени. Хотелось бы чтобы при нажатии button-а, такие же справочники как на сервере, создались на всех отдельно взятых компьютерах.


 
Dennis I. Komarov ©   (2011-02-28 15:07) [11]

Человек не понимает, что мухи и котлеты надо есть отдельно.
...

> ...вроде этого. На каждый компьютер нужно забить справочники.
>  Отдельно.
И если ...

Можно к этому подробный комментарий. Начиная с того, что есть справочник, и каким ключем его надо забивать?


 
sniknik ©   (2011-02-28 15:12) [12]

> Ответ на пост запрос списка справочников от сервера такой
ну вот по нему можешь заполнить данные запрашиваемой таблички - id и name... если это не все поля/данные, для "как на сервере" то начинай читать ветку с начала.


 
bumb   (2011-02-28 15:16) [13]

Справочник забивается вручную. В нашем случае справочник - это на подобии глоссария и словаря. Справочники бывают разные - это и контакты, и адреса, и тд. На каждый компьютер каждый справочник в данный момент приходится делать отдельно, то есть отдельно контакты, отдельно адреса и тд. А на сервере все данные уже есть, и с помощью запроса можно получить список. проще говоря, нужно "скопировать" справочник на сервере через delphi, то есть сделать на каждый комп такой же


 
Dennis I. Komarov ©   (2011-02-28 15:21) [14]


> В нашем случае справочник - это на подобии глоссария и словаря.
>  Справочники бывают разные - это и контакты, и адреса, и
> тд. На каждый компьютер каждый справочник в данный момент
> приходится делать отдельно, ...

Алле, мне до лампочки чего там в этом справочнике есть и может быть, ты ответь что есть справочник физически?


 
Плохиш ©   (2011-02-28 15:23) [15]


> Хотелось бы чтобы при нажатии button-а, такие же справочники
> как на сервере, создались на всех отдельно взятых компьютерах.
>

Так тут программиста нанимать нужно, а не по форумам шляться.


 
Amoeba_   (2011-03-01 00:24) [16]


> проблема в том что сервер Один, а компьютеров несколько.

Это не проблема, а счастье. А вот если бы было наоборот,  то это бы был бы полнейший ... северный пушистый зверек, как минимум.


 
bumb   (2011-03-01 06:36) [17]


> есть справочник физически?

Что значит есть ли справочник физически?


 
brother ©   (2011-03-01 07:21) [18]

> что есть справочник физически?


 
bumb   (2011-03-01 07:25) [19]

Справочник создан на компьютере.


 
brother ©   (2011-03-01 07:45) [20]

шутишь? ну-ну


 
Slym ©   (2011-03-01 07:45) [21]

bumb   (01.03.11 7:25) [19]
Справочник создан на компьютере.

следовательно количество справочников = количеству компьютеров
и соответственно кнопку приделся нажать столько раз сколько компьютеров :)


 
bumb   (2011-03-01 08:05) [22]

Есть справочники на сервере. они сохранены в программе "SomeProgram". Через запрос я получил их список. Теперь нужно создать такие же справочники на каждом компьютере. но не забивать каждый справочник в отдельности


 
Сергей М. ©   (2011-03-01 09:29) [23]

Клиент безнадежен)


 
sniknik ©   (2011-03-01 10:42) [24]

> Клиент безнадежен)
требуется выезд программиста на дом. для блондинок скидки!


 
Dennis I. Komarov ©   (2011-03-01 10:53) [25]

да, проще застрелить...


 
Капитан очевидность   (2011-03-01 12:59) [26]


>  Вопрос в том как создать справочники у себя на компе, такие
> же как полученные от сервера?


Еще раз - что есть твой справочник на сервере?


 
Inovet ©   (2011-03-01 13:22) [27]

> [9] bumb   (28.02.11 14:34)
> Ответ на пост запрос списка справочников от сервера такой

Хоть бы отформатировал из уважения к читателям, хоть толку от этого ответа не много

<?xml version="1.0" encoding="windows-1251"?>
<document>
 <info>
   <api_version>1.0</api_version>
   <time>14:30:17</time>
   <execution_time>0.0676891803741</execution_time>
 </info>
 <result value="0">
   <catalogs>
     <catalog><id>44</id><name><![CDATA[test]]></name></catalog>
     <catalog><id>37</id><name><![CDATA[Адреса контактов]]></name></catalog>
     <catalog><id>12</id><name><![CDATA[Адреса рассылки файлов из библиотеки]]></name></catalog>
     <catalog><id>11</id><name><![CDATA[Адресная книга]]></name></catalog>
     <catalog><id>7</id><name><![CDATA[Банк]]></name></catalog>
     <catalog><id>3</id><name><![CDATA[Валюта]]></name></catalog>
     <catalog><id>29</id><name><![CDATA[Вид Поступления]]></name></catalog>
     <catalog><id>42</id><name><![CDATA[Виды работ]]></name></catalog>
     <catalog><id>6</id><name><![CDATA[Города]]></name></catalog>
     <catalog><id>2</id><name><![CDATA[Должности]]></name></catalog>
     <catalog><id>20</id><name><![CDATA[Клиентская задача]]></name></catalog>
     <catalog><id>9</id><name><![CDATA[Компании]]></name></catalog>
     <catalog><id>8</id><name><![CDATA[Контакты]]></name></catalog>
     <catalog><id>1</id><name><![CDATA[Налог]]></name></catalog>
     <catalog><id>38</id><name><![CDATA[Подразделения]]></name></catalog>
     <catalog><id>5</id><name><![CDATA[Продукты]]></name></catalog>
     <catalog><id>35</id><name><![CDATA[Резолюции]]></name></catalog>
     <catalog><id>24</id><name><![CDATA[Состояние]]></name></catalog>
     <catalog><id>4</id><name><![CDATA[Страны]]></name></catalog>
     <catalog><id>36</id><name><![CDATA[Темы документов]]></name></catalog>
     <catalog><id>34</id><name><![CDATA[Типы документов]]></name></catalog>
   </catalogs>
 </result>
</document>


 
Плохиш ©   (2011-03-01 15:05) [28]


> Хоть бы отформатировал из уважения к читателям

Где-то в ветке проскакивало "уважение"?



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

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

Наверх




Память: 0.55 MB
Время: 0.007 c
2-1298520472
IPranker
2011-02-24 07:07
2011.06.05
Как объявить SetWindowLongPtr?


2-1298177204
Gu
2011-02-20 07:46
2011.06.05
Версия SQL клиента и сервера - узнать


2-1298670826
TStas
2011-02-26 00:53
2011.06.05
Как у Дельфей переставить папку по умолчанию?


2-1298442017
snl73
2011-02-23 09:20
2011.06.05
Градиентная представление массива данных


2-1298927247
antonn
2011-03-01 00:07
2011.06.05
hook ставится сервисом