Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.003 c
2-1298569806
RMan
2011-02-24 20:50
2011.06.05
Прозрачное неактивное окно


2-1294930060
Scott Storch
2011-01-13 17:47
2011.06.05
загрузка dll из ресурса


15-1297841206
И. Павел
2011-02-16 10:26
2011.06.05
Явамастер


2-1299013317
vasya
2011-03-02 00:01
2011.06.05
Мерцание в TCustomControl


3-1260280989
noob_one
2009-12-08 17:03
2011.06.05
Где хранятся домены в Interbase 7.5 ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский