обучаюсь программированию, надеюсь на понимание и помощь в решении задач.

6 views
Skip to first unread message

Nurbek

unread,
Apr 17, 2010, 12:37:18 AM4/17/10
to itpotcast
обучаюсь программированию. хочу сделать приложение-будильник, для
напоминания сотрудникам нашей организации за какие дни надо загрузить
отчеты на сервер. При этом программа должна отслеживать за какие дни
загрузка отчетов не производилась и просить пользователя отправить их.
Прога может и не очень серьезная, но интересно было бы осуществить
идею. Буду признателен за советы.
И по мере продвижения буду выкладывать все, что получилось на суд
обществу.

Только никак не могу выбрать среду разработки. Использовать ли Дельфи,
на котором у меня есть какой никакой опыт или же приступить к созданию
приложения вместе с изучением VS 2008.

--
Subscription settings: http://groups.google.com/group/itpotcast/subscribe?hl=en

Вадим Глебов

unread,
Apr 18, 2010, 10:04:27 AM4/18/10
to itpo...@googlegroups.com
2010/4/17 Nurbek <nurbe...@gmail.com>
обучаюсь программированию. хочу сделать приложение-будильник, для
напоминания сотрудникам нашей организации за какие дни надо загрузить
отчеты на сервер. При этом программа должна отслеживать за какие дни
загрузка отчетов не производилась и просить пользователя отправить их.

В чем проблема? здесь описано решение, но не описана проблема. Опиши пожалуйста проблему.
 
Прога может и не очень серьезная, но интересно было бы осуществить
идею. Буду признателен за советы.

Серьезность  - мера человеческого восприятия. Чтобы получить ответ, нужно задать вопрос.
 
И по мере продвижения буду выкладывать все, что получилось на суд
обществу.

Напоминаю, что важно сделать то что нужно заказчику, в срок и с максимальным качеством. 
 
Только никак не могу выбрать среду разработки. Использовать ли Дельфи,
на котором у меня есть какой никакой опыт или же приступить к созданию
приложения вместе с изучением VS 2008

Для быстрого создания прототипа будущего функционала естественно использовать знакомую среду, однако итоговое приложение может быть реализовано в другой среде.

Nurbek

unread,
Apr 19, 2010, 12:30:49 PM4/19/10
to itpotcast
В данный момент заказчик - это я. Поэтому сроки не ограничены. Но
конечно затягивать с решением тоже не собираюсь. На начальном этапе
есть проблема типа приложения, то есть что нужно создать: простое
*.ехе приложение и добавить его в автозагрузку как процесс или же
создавать службу. Честно говоря, понятия о службах очень мало. Но для
начала не хочется заморачиваться на малознакомых функциях и начать все
с привычных алгоритмов.

Вадим Глебов

unread,
Apr 19, 2010, 12:33:15 PM4/19/10
to itpo...@googlegroups.com


2010/4/19 Nurbek <nurbe...@gmail.com>

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

А какой способ оповещения ты собираешься использовать?

Нурбек Карагулов

unread,
Apr 19, 2010, 12:36:53 PM4/19/10
to itpo...@googlegroups.com
С помощью MessageBox со стандартными кнопками ОК и Отмена.

Вадим Глебов

unread,
Apr 19, 2010, 12:41:48 PM4/19/10
to itpo...@googlegroups.com
2010/4/19 Нурбек Карагулов <nurbe...@gmail.com>

С помощью MessageBox со стандартными кнопками ОК и Отмена.

А какие еще есть варианты информирования?

Нурбек Карагулов

unread,
Apr 19, 2010, 12:53:39 PM4/19/10
to itpo...@googlegroups.com
Есть несколько, но я с ними вообще не знаком.

19 апреля 2010 г. 22:41 пользователь Вадим Глебов <vgl...@gmail.com> написал:

Вадим Глебов

unread,
Apr 19, 2010, 1:06:05 PM4/19/10
to itpo...@googlegroups.com


2010/4/19 Нурбек Карагулов <nurbe...@gmail.com>

Есть несколько, но я с ними вообще не знаком.

Наверное можно проинформировать любым удобным пользователю способом, например по электронной почте, ICQ, по телефону (потребуется оборудование для компьютерной телефонии). Это я к тому, что у тебя есть приложение - информатор задача которого доставить сообщение, а есть приложение - контроллер, которое принимает решение об оповещении и характере сообщения.

Нурбек Карагулов

unread,
Apr 19, 2010, 1:26:23 PM4/19/10
to itpo...@googlegroups.com
Не совсем так. Интернета на наших точках нет. Соединение устанавливается посредством обычного модема через телефонную линию со скоростью ~24Кбит/сек. Предполагается, что приложение будет установлено в каждом компьютере. Например в 10:00 часов должно выводиться сообщение каждое утро с информацией о еще не отправленных отчетах. Для этого, видимо, требуется система слежения. Как это реализовывать пока понятия не имею.

(в дальнейшем планируется автоматизация отправки отчетов без участия сотрудника. а пока только оповещение.)

Вадим Глебов

unread,
Apr 19, 2010, 2:04:43 PM4/19/10
to itpo...@googlegroups.com


2010/4/19 Нурбек Карагулов <nurbe...@gmail.com>

Не совсем так. Интернета на наших точках нет. Соединение устанавливается посредством обычного модема через телефонную линию со скоростью ~24Кбит/сек. Предполагается, что приложение будет установлено в каждом компьютере. Например в 10:00 часов должно выводиться сообщение каждое утро с информацией о еще не отправленных отчетах. Для этого, видимо, требуется система слежения. Как это реализовывать пока понятия не имею.

Если устанавливается соединение, то явно для информационного обмена, а информационный обмен подразумевает обмен сообщениями, значит по установленному соединению сервер может отправить информационное сообщение-напоминание пользователю. Какими сообщениями производится обмен?

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

Нурбек Карагулов

unread,
Apr 19, 2010, 10:59:50 PM4/19/10
to itpo...@googlegroups.com
ОС Windows XP. Похоже я собрался изобретать велосипед? Плохо. Только
хотелось бы самому попробовать.

20.04.10, Вадим Глебов<vgl...@gmail.com> написал(а):

--
Отправлено с моего мобильного устройства

Нурбек Карагулов

unread,
Apr 20, 2010, 11:29:20 AM4/20/10
to itpo...@googlegroups.com
Но тут есть некоторые уникальные, я считаю, функции по определению дат отчетов к отправлению. Или такие программы тоже уже существуют?

Nurbek

unread,
Apr 20, 2010, 11:35:51 AM4/20/10
to itpotcast
> Если устанавливается соединение, то явно для информационного обмена, а
> информационный обмен подразумевает обмен сообщениями, значит по
> установленному соединению сервер может отправить информационное
> сообщение-напоминание пользователю. Какими сообщениями производится обмен?

а что если соединение одностороннее? То есть Сервер только принимает
входящие звонки от точек, для получения от них отчетов. Иначе говоря,
сервер открыт для подключений, но не может подключаться к точкам.


>
> Если же речь идет о том, чтобы напомнить пользователю установить соединение,
> то тогда нужно выдать пользователю будильник, а вариантов уже созданных
> будильников, оповещателей, автодозванивалок по расписанию в сети
> предостаточно. Какая операционная система у пользователя?

кроме будильника необходима функция, которая сообщала бы за какие
числа надо загрузить отчеты.


>
> (в дальнейшем планируется автоматизация отправки отчетов без участия
>
> > сотрудника. а пока только оповещение.)
>

Вадим Глебов

unread,
Apr 20, 2010, 11:43:09 AM4/20/10
to itpo...@googlegroups.com


2010/4/20 Nurbek <nurbe...@gmail.com>

> Если устанавливается соединение, то явно для информационного обмена, а
> информационный обмен подразумевает обмен сообщениями, значит по
> установленному соединению сервер может отправить информационное
> сообщение-напоминание пользователю. Какими сообщениями производится обмен?

а что если соединение одностороннее? То есть Сервер только принимает
входящие звонки от точек, для получения от них отчетов. Иначе говоря,
сервер открыт для подключений, но не может подключаться к точкам.

Соединение устанавлвает клиент, но корреспонденцию получает с сервера и отображает пользователю, аналогично модели "почтовый ящик до востребования"

>
> Если же речь идет о том, чтобы напомнить пользователю установить соединение,
> то тогда нужно выдать пользователю будильник, а вариантов уже созданных
> будильников, оповещателей, автодозванивалок по расписанию в сети
> предостаточно. Какая операционная система у пользователя?

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

Вадим Глебов

unread,
Apr 20, 2010, 11:53:40 AM4/20/10
to itpo...@googlegroups.com


2010/4/20 Нурбек Карагулов <nurbe...@gmail.com>

Но тут есть некоторые уникальные, я считаю, функции по определению дат отчетов к отправлению. Или такие программы тоже уже существуют?
Как я понимаю очет о неотправленных отчетах формируется из разности двух множеств из множества дат вычитается множество дат за котоые отчеты отправлены. Это достаточно специфичная функция системы, однако существуют огромное количество готовых к инсталляции, распостраняемых бесплатно информационных систем для автоматизации различных областей человеческой деятельности. Советую поискать. 

Если не секрет, то о какой системе идет речь?

Вадим Глебов

unread,
Apr 20, 2010, 12:04:30 PM4/20/10
to itpo...@googlegroups.com
Кто сказал, что свой велосипед это плохо? Плохо выходит когда действие не имеет цели. Конструирование собственного велосипеда позволит лучше понять как устроены велосипеды вообще, принцип их дейсвия, взаимоотношение компонентов и механизмов, позволи увидеть подводные камни строительства велосипедов.

Если ты взялся за создание ПО, то во главу угла нужно ставить достижение цели наименьшими усилиями и за кратчайшее время. Потому что ПО это не художественное произведение, любоваться им никто не будет, ПО скорее рабочая лошадка, чем раньше начнет использвоваться тем скорее пойдет процесс его улучшения, тем больше пользы пользователям принесет.

2010/4/20 Нурбек Карагулов <nurbe...@gmail.com>

Nurbek

unread,
Apr 20, 2010, 1:06:24 PM4/20/10
to itpotcast
> Клиентское приложение во время сеанса обмена может получить на сервере отчет
> о недостающих отчетах  и отобразить пользователю.

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

Однако ваш вариант неплохо подходит для решения этой задачи.

Вадим Глебов

unread,
Apr 21, 2010, 3:35:04 AM4/21/10
to itpo...@googlegroups.com


2010/4/20 Nurbek <nurbe...@gmail.com>

> Клиентское приложение во время сеанса обмена может получить на сервере отчет
> о недостающих отчетах  и отобразить пользователю.

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

"Калькулятор" или "Генератор отчета" можно расположить на клиенте. Ему доступно множество всех дат за которые должен быть отправлен отчет, а множество отправленных отчетов как раз можно получать от сервера во время сеанса и запоминать локально.

Нурбек Карагулов

unread,
Apr 22, 2010, 12:45:39 AM4/22/10
to itpo...@googlegroups.com
Возможно ли реализовать это независимо от приложения, если коды недоступны?

21.04.10, Вадим Глебов<vgl...@gmail.com> написал(а):

--

Вадим Глебов

unread,
Apr 22, 2010, 3:54:12 AM4/22/10
to itpo...@googlegroups.com


2010/4/22 Нурбек Карагулов <nurbe...@gmail.com>

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

не понял вопроса. Можно реализовать клиент-серверное приложение, которе будет работать через канал связи. Какой канал связи используется, какие протоколы? Если доступен стек tcp/ip, то шанс воспользоваться каналом для клиент-серверного обмена увеличивается.

Нурбек Карагулов

unread,
Apr 23, 2010, 2:09:03 AM4/23/10
to itpo...@googlegroups.com
Понимаете, подключение производится вручную нашим сотрудником.
Поэтому, хотелось сделать напоминание на клиенте без установления
связи.

22.04.10, Вадим Глебов<vgl...@gmail.com> написал(а):

Nurbek

unread,
Apr 24, 2010, 11:16:06 PM4/24/10
to itpotcast
Позвольте объяснить ситуацию, подробнее.

Каждое утро наш сотрудник обязан передавать отчеты о проведенных
операциях за день на сервер. Для этого он осуществляет дозвон и
устанавливает модемное соединение. Но поскольку некоторые из наших
работников забывчивы, мне хотелось сделать приложение напоминалку,
которое должно напоминать работнику загрузить отчеты за все
пропущенные дни. А это нужно выполнить еще до соединения.

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

On 23 апр, 12:09, Нурбек Карагулов <nurbek.k...@gmail.com> wrote:
> Понимаете, подключение производится вручную нашим сотрудником.
> Поэтому, хотелось сделать напоминание на клиенте без установления
> связи.
>

> 22.04.10, Вадим Глебов<vgle...@gmail.com> написал(а):
>
> > 2010/4/22 Нурбек Карагулов <nurbek.k...@gmail.com>

Вадим Глебов

unread,
Apr 26, 2010, 10:44:39 PM4/26/10
to itpo...@googlegroups.com


2010/4/25 Nurbek <nurbe...@gmail.com>

Позвольте объяснить ситуацию, подробнее.

Каждое утро наш сотрудник обязан передавать отчеты о проведенных
операциях за день на сервер. Для этого он осуществляет дозвон и
устанавливает модемное соединение.

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

По расписанию можно запускать приложение ремайндер, которое и напомнит и покажет какие отчеты нужно отправить.
 

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

Однако стоит разобраться с тем как работает система. Как минимум нужно получить информацию - множество дат за которые отчеты отправлены указанным сотрудником.

Для реализации задумки нужны приложения:
* Ремайндер
* Локальное зеркало сервера
* Сервер

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

Локальное зеркало сервера запущено в фоновом режиме, обнаруживает наличие связи до сервера и запрашивает информацию об отправленных отчетах пользователя указанного в настройках.

Сервер подключается к БД системы отчетов и получает из нее информацию об отправленных отчетах. На запрос зеркала или ремайндера (интерфейсы зеркала и сервера идентичны) выдает информацию об отправленных отчетах указанного в запросе пользователя.
 

Nurbek

unread,
Apr 30, 2010, 9:15:07 AM4/30/10
to itpotcast
On 27 апр, 08:44, Вадим Глебов <vgle...@gmail.com> wrote:
> 2010/4/25 Nurbek <nurbek.k...@gmail.com>
я приступил к написанию Ремайндера, только не могу разобраться: с чего
же все-таки начинать?

>
> Локальное зеркало сервера запущено в фоновом режиме, обнаруживает наличие
> связи до сервера и запрашивает информацию об отправленных отчетах
> пользователя указанного в настройках.
>
> Сервер подключается к БД системы отчетов и получает из нее информацию об
> отправленных отчетах. На запрос зеркала или ремайндера (интерфейсы зеркала и
> сервера идентичны) выдает информацию об отправленных отчетах указанного в
> запросе пользователя.

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

Вадим Глебов

unread,
Apr 30, 2010, 2:44:18 PM4/30/10
to itpo...@googlegroups.com


2010/4/30 Nurbek <nurbe...@gmail.com>
Начинать нужно с начала, и разрабатывать сверху вниз.
В первой реализации предлагаю использовать встроенный в WINDOWS функционал запуска задач по расписанию. http://support.microsoft.com/kb/308569/ru
На первом этапе я бы выполнил задачи:
* ремайндер будет отображать напоминание о том что нужно отправить отчет и только.
* средствами мастера назначенных заданий настроить запуск ремайндера по расписанию
* создать инсталлятор, который установит ремайндер и назначит его запуск по расписанию.
* создать деинсталятор


>
> Локальное зеркало сервера запущено в фоновом режиме, обнаруживает наличие
> связи до сервера и запрашивает информацию об отправленных отчетах
> пользователя указанного в настройках.
>
> Сервер подключается к БД системы отчетов и получает из нее информацию об
> отправленных отчетах. На запрос зеркала или ремайндера (интерфейсы зеркала и
> сервера идентичны) выдает информацию об отправленных отчетах указанного в
> запросе пользователя.
в вопросе создания Сервера, честно, говоря я не шарю. никогда не
приходилось еще заниматься этим.
Может быть дадите совет, что можно почитать, чтобы обрести хоть какое-
то представление о Серверных приложениях.

Напомни, какую среду разработки ты планируешь использовать?

В современных средах разработки существуют средства создания вебсервисов. Средой выполнения вебсервиса выступает приложение-вебсервер. В windows XP есть встроенный вебсервер IIS (устанавливается как дополнительный компонент с диска дистрибутива) им можно воспользоваться для размещения вебсервиса.

Нурбек Карагулов

unread,
May 1, 2010, 1:42:17 PM5/1/10
to itpo...@googlegroups.com
Начинать нужно с начала, и разрабатывать сверху вниз.
В первой реализации предлагаю использовать встроенный в WINDOWS функционал запуска задач по расписанию. http://support.microsoft.com/kb/308569/ru
На первом этапе я бы выполнил задачи:
* ремайндер будет отображать напоминание о том что нужно отправить отчет и только.
* средствами мастера назначенных заданий настроить запуск ремайндера по расписанию
* создать инсталлятор, который установит ремайндер и назначит его запуск по расписанию.
* создать деинсталятор
извините, что нужно для создания инсталлятора? я думал, что буду делать все это вручную
 

Напомни, какую среду разработки ты планируешь использовать?
собираюсь использовать Delphi 7

Нурбек Карагулов

unread,
May 2, 2010, 3:01:17 AM5/2/10
to itpo...@googlegroups.com
я сделал Ремайндер.

код приложения:

procedure TForm1.FormCreate(Sender: TObject);
var
 CurrentDay: String;
 Dt: TDateTime;
begin
 Dt := Now;
 CurrentDay:= FormatDateTime('dd-mmmm-yyyy', Dt-1);
 Label1.Caption:='Загрузите отчет за ' + CurrentDay;
end;
простой напоминатель, - как условились.
Только установка в Назначенные задания на запуск по расписанию я сделал пока вручную. Еще программа указывает на дату, за которую нужно загрузить отчет.
 

Nurbek

unread,
May 2, 2010, 3:04:28 AM5/2/10
to itpotcast
Еще программа указывает на дату, за которую нужно загрузить отчет, то
есть на вчерашний день.

Вадим Глебов

unread,
May 2, 2010, 11:24:26 PM5/2/10
to itpo...@googlegroups.com


2010/5/1 Нурбек Карагулов <nurbe...@gmail.com>

Начинать нужно с начала, и разрабатывать сверху вниз.
В первой реализации предлагаю использовать встроенный в WINDOWS функционал запуска задач по расписанию. http://support.microsoft.com/kb/308569/ru
На первом этапе я бы выполнил задачи:
* ремайндер будет отображать напоминание о том что нужно отправить отчет и только.
* средствами мастера назначенных заданий настроить запуск ремайндера по расписанию
* создать инсталлятор, который установит ремайндер и назначит его запуск по расписанию.
* создать деинсталятор
извините, что нужно для создания инсталлятора? я думал, что буду делать все это вручную
 
Для создания исталляторов существует специализированное ПО. Компания NullSoft, распостраняет бесплатно свой продукт NSIS http://nsis.sourceforge.net/Main_Page. Советую разобраться с ним. Создать инсталлятор отностительно несложно, однако работу, которую он будет выполнять - установка, конфигурирование, удаление - стоит того, чтобы его написать.

Напомни, какую среду разработки ты планируешь использовать?
собираюсь использовать Delphi 7

Значит найди статьи как на Delphi 7 создать веб-приложение для IIS, а точнее web service.

Вадим Глебов

unread,
May 2, 2010, 11:26:16 PM5/2/10
to itpo...@googlegroups.com


2010/5/2 Нурбек Карагулов <nurbe...@gmail.com>

Код я анализировать не буду, но количество кода соответсвует функционалу. :-)

Нурбек Карагулов

unread,
May 6, 2010, 8:53:43 AM5/6/10
to itpo...@googlegroups.com
Значит найди статьи как на Delphi 7 создать веб-приложение для IIS, а точнее web service.

что-то я не могу найти никаких статей о создании таких приложений в Дельфи 7 для IIS. Но в Дельфи есть средства для создания веб-сервисов. Поможет ли это мне? Или IIS не примет эту программу?

Daniel Vartanov

unread,
May 6, 2010, 10:52:10 AM5/6/10
to itpo...@googlegroups.com
на этот вопрос ответит гугл

2010/5/6 Нурбек Карагулов <nurbe...@gmail.com>

Нурбек Карагулов

unread,
May 6, 2010, 11:46:00 AM5/6/10
to itpo...@googlegroups.com
Нет, Гугл че-то не может. Я проверял.

6 мая 2010 г. 20:52 пользователь Daniel Vartanov <daniel....@gmail.com> написал:

Вадим Глебов

unread,
May 6, 2010, 11:17:13 PM5/6/10
to itpo...@googlegroups.com


2010/5/6 Нурбек Карагулов <nurbe...@gmail.com>

Значит найди статьи как на Delphi 7 создать веб-приложение для IIS, а точнее web service.

что-то я не могу найти никаких статей о создании таких приложений в Дельфи 7 для IIS. Но в Дельфи есть средства для создания веб-сервисов. Поможет ли это мне? Или IIS не примет эту программу?
Может быть для этих средств не нужен IIS, Если Дельфи позволяет создавать вебсервисы, то возможно этого достаточно.
Средствами Дельфи нужно создать два приложения: Сервер и клиент, найди туториал и создай пробные приложения, получишь представление об их взаимодействии.

Вадим Глебов

unread,
May 6, 2010, 11:20:21 PM5/6/10
to itpo...@googlegroups.com


2010/5/6 Нурбек Карагулов <nurbe...@gmail.com>

Нет, Гугл че-то не может. Я проверял.


Вот что говорит Гугл http://www.google.com/search?hl=en&q=delphi+web+service+tutorial&aq=f&aqi=&aql=&oq=&gs_rfai=
Вполне адекватные результаты, советую почитать.
 

Нурбек Карагулов

unread,
May 9, 2010, 12:16:10 AM5/9/10
to itpo...@googlegroups.com
там говорится про какой-то SOAP server application. стоит ли начинать с него? В с этим знакомы?

7 мая 2010 г. 9:17 пользователь Вадим Глебов <vgl...@gmail.com> написал:

Вадим Глебов

unread,
May 9, 2010, 4:25:35 AM5/9/10
to itpo...@googlegroups.com


2010/5/9 Нурбек Карагулов <nurbe...@gmail.com>

там говорится про какой-то SOAP server application. стоит ли начинать с него? В с этим знакомы?


SOAP протокол вполне подойдет, он был создан для организации взаимодейсвия клиента с сервером.

Нурбек Карагулов

unread,
Jun 7, 2010, 12:07:51 PM6/7/10
to itpo...@googlegroups.com
Итак, я создал прототип, вернее скопировал из книги, клиент-серверное приложение. В итоге его все-таки пришлось положить в веб-узел IIS (Вадим был прав). Приложение я протестировал в LAN. Осталось только написать нужную прогу и попробовать ее в сети через модем. Только одна проблема: эти модемные соединения почему-то не получаются. Причины выясняются. Вот единственная проблема на пути к полезному приложению.

Вадим Глебов

unread,
Jun 7, 2010, 10:58:09 PM6/7/10
to itpo...@googlegroups.com
Привет Нурбек,

Спасибо, что сообщил о своих успехах, всегда приятно, когда удается сделать что-то полезное. Кроме установки модемного соединения нужно еще настроить протокол TCP/IP, это делается двумя основными способами: 
1. статическая настройка
2. DHCP
В первом случае нужно задать значения параметров протокола TCP/IP

2010/6/7 Нурбек Карагулов <nurbe...@gmail.com>

Вадим Глебов

unread,
Jun 7, 2010, 11:01:15 PM6/7/10
to itpo...@googlegroups.com


2010/6/8 Вадим Глебов <vgl...@gmail.com>

Привет Нурбек,

Спасибо, что сообщил о своих успехах, всегда приятно, когда удается сделать что-то полезное. Кроме установки модемного соединения нужно еще настроить протокол TCP/IP, это делается двумя основными способами: 
1. статическая настройка
2. DHCP
В первом случае нужно задать значения параметров протокола TCP/IP

вручную на на клиентской машине так чтобы она при соединении с сервером имела возможность устанавливать TCP соединения до IIS. В случае DHCP параметры TCP/IP задаются в конфиге сервера DHCP

Нурбек Карагулов

unread,
Jun 8, 2010, 11:15:00 AM6/8/10
to itpo...@googlegroups.com
Модемные соединения, по словам инженеров из БГТС, не получались из-за повреждения на кабеле. Связано с каким-то заземлением. А ведь я их две недели уговаривал проверить линию. Они же утверждали, что линия чистая и никого присылать не собираются. И вот наконец-то они прислали человека вчера, но он конечно ничего подозрительного не нашел. Только попросил их сделать какие-то замеры, и выяснилось все! Ну обещали разобраться в течение двух дней. Будем ждать. Они бедняги в итоге чуть ли не орали в трубку. =) (Из этого я извлек урок - никогда не сдаваться). Первым делом протестю прототип, а потом займусь остальным. Спасибо за внимание.

8 июня 2010 г. 9:01 пользователь Вадим Глебов <vgl...@gmail.com> написал:



--
С наилучшими пожеланиями!
Нурбек

Нурбек Карагулов

unread,
Jun 10, 2010, 8:10:44 PM6/10/10
to itpo...@googlegroups.com
Ремонт кабеля не помог. В чем причина неизвестно. Если кто-то с этим
сталкивался, помогите разобраться в чем дело, пожалуйста.

08.06.10, Нурбек Карагулов<nurbe...@gmail.com> написал(а):

--

Отправлено с моего мобильного устройства

С наилучшими пожеланиями!
Нурбек

Вадим Глебов

unread,
Jun 10, 2010, 11:04:26 PM6/10/10
to itpo...@googlegroups.com


2010/6/11 Нурбек Карагулов <nurbe...@gmail.com>

Ремонт кабеля не помог. В чем причина неизвестно. Если кто-то с этим
сталкивался, помогите разобраться в чем дело, пожалуйста.


Есть два пути: нужно найти специалиста, который наладит соединение, либо самостоятельно начать искать истинную причину неполадки. А начать нужно с чтения документации, чтобы понять что должно происходить при соединении, далее определить что происходит на самом деле, теперь можно увидеть разницу, которая может показать на причину и подсказать решение.

Нурбек Карагулов

unread,
Jun 17, 2010, 10:23:26 AM6/17/10
to itpo...@googlegroups.com
у меня две проблемы:
- как в папке вычислить самый последний загруженный файл с одинаковым расширением;
- и каким образом из текста из этого файла выделить необходимый фрагмент, то есть есть строка длиной 99 символов(и в разных файлах количество это может изменяться, в зависимости от получаемых данных), из этого текста нужно выделить текст даты для вычислений.

11 июня 2010 г. 9:04 пользователь Вадим Глебов <vgl...@gmail.com> написал:

Вадим Глебов

unread,
Jun 17, 2010, 11:18:37 PM6/17/10
to itpo...@googlegroups.com


2010/6/17 Нурбек Карагулов <nurbe...@gmail.com>

у меня две проблемы:
- как в папке вычислить самый последний загруженный файл с одинаковым расширением;

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

 
Универсальный ответ для парсинга текстовых файлов - "регулярные выражения" http://ru.wikipedia.org/wiki/Регулярные_выражения. Товарищ Гугл сообщает, что он знает где взять для дельфи регулярные выражения: http://www.google.kg/search?hl=ru&safe=off&q=delphi+regexp&aq=0&aqi=g10&aql=&oq=delphi+reg&gs_rfai=

Нурбек Карагулов

unread,
Jun 20, 2010, 1:03:17 AM6/20/10
to itpo...@googlegroups.com
Спасибо, с регулярными выражениями я разобрался.

Теперь насчет имен файлов.

у меня две проблемы:
- как в папке вычислить самый последний загруженный файл с одинаковым расширением;

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

А что если взять название файла как элемент для вычислений. Дело в том, что оно состоит из текста+день-месяц+текст. Проблема в том, что при копировании дата создания файла меняется. И так из папки в папку дата может меняться.

Вадим Глебов

unread,
Jun 20, 2010, 11:06:05 PM6/20/10
to itpo...@googlegroups.com


2010/6/20 Нурбек Карагулов <nurbe...@gmail.com>
Спасибо, с регулярными выражениями я разобрался.

Теперь насчет имен файлов.

у меня две проблемы:
- как в папке вычислить самый последний загруженный файл с одинаковым расширением;

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

А что если взять название файла как элемент для вычислений. Дело в том, что оно состоит из текста+день-месяц+текст. Проблема в том, что при копировании дата создания файла меняется. И так из папки в папку дата может меняться.

Тоже вариант, файлы можно называть примерно так: 2010-06-21-file.ext, и применить строковую сортировку для имен фалов.

Нурбек Карагулов

unread,
Jun 26, 2010, 10:17:23 AM6/26/10
to itpo...@googlegroups.com
Получилось! Программа делает именно то, что нужно: смотрит в папку и выбирает последний файл по названию.

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

21 июня 2010 г. 9:06 пользователь Вадим Глебов <vgl...@gmail.com> написал:

Вадим Глебов

unread,
Jun 27, 2010, 11:13:44 PM6/27/10
to itpo...@googlegroups.com


2010/6/26 Нурбек Карагулов <nurbe...@gmail.com>

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

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

Пусть программы выдает корректное сообщение об ошибке "не удалось установить соединение с сервером, повторите отправку позже", пользователю нужно объяснить как вести себя при получении данного сообщения. Это простая реализация позволит запустить систему в эксплуатацию и проверить есть ли проблема на самом деле. Возможно есть другие более важные проблемы, которые ты не как разработчик не заметил, пользователи начав эксплуатировать систему расскажут тебе, что их не устраивает.

Нурбек Карагулов

unread,
Jun 28, 2010, 9:25:08 AM6/28/10
to itpo...@googlegroups.com
Что-то программулька моя перестала работать. Что прога, что прототип. Обе не работают по сети. Не могут найти *.xml-файл. Никак не пойму что делать с ними.

Вадим Глебов

unread,
Jun 28, 2010, 10:59:26 PM6/28/10
to itpo...@googlegroups.com


2010/6/28 Нурбек Карагулов <nurbe...@gmail.com>

Что-то программулька моя перестала работать. Что прога, что прототип. Обе не работают по сети. Не могут найти *.xml-файл. Никак не пойму что делать с ними.
А как они раньше находили этот файл? Сравни пути к файлу: реальный полный путь к файлу и путь, по которому обращается программа. Проверь полномочия доступа к файлу.

А как твоя программа работает с удаленным файлом, для чего твоей программе удаленный файл, расскажи подробнее?

Нурбек Карагулов

unread,
Jun 29, 2010, 1:20:10 PM6/29/10
to itpo...@googlegroups.com


29 июня 2010 г. 8:59 пользователь Вадим Глебов <vgl...@gmail.com> написал:

При запуске на моем компе, то есть на сервере, все работает. Пытаясь запустить оба приложения через LAN напоролся на сообщение от программы, что она не может получить доступ к описанию интерфейса, не удается найти указанный путь: "C:\program files\ ... \*.xml". Я посмотрел. Действительно, через сеть нереально получить доступ к локальному диску на сервере. Только не понятно почему прототип раньше работал без проблем именно с этим путем.

Но проблему я решил.

"Компонент HTTPRIO предназначен для вызова серверов через SOAP" - написано в одном туториале.

В свойствах этого компонента я вместо пути к *.xml - файлу поместил URL для доступа к описанию интерфейса, реализующего необходимую функцию. И все заработало и там тут.

Остались мелкие детали, если правильно оцениваю стоящие передо мной задачи.

СПАСИБО огромное Вадиму Глебову за советы и терпение к моим глупым вопросам. Вы мне очень помогли. Человек реально умеет направлять в нужное русло!

А мне осталось еще решить проблему с коммутируемым доступом. БГТС вообще шевелиться не хочет =)

Вадим Глебов

unread,
Jun 29, 2010, 2:03:31 PM6/29/10
to itpo...@googlegroups.com


2010/6/29 Нурбек Карагулов <nurbe...@gmail.com>
Пожалуйста, однако знай, глупых вопросов на самом деле не бывает, мастерами не рождаются ими становятся, а вообще призвание у меня такое, направлять. Я тоже получил удовольствие от процесса.

А мне осталось еще решить проблему с коммутируемым доступом. БГТС вообще шевелиться не хочет =)


В моей практике был пока только один случай, когда вопросы с БГТС решались в считанные часы/дни, секрет был прост, контора была крупная, могла себе позволить нанять очень опытного и толкового инженера, который полжизни проработал в БГТС и имел связи на техническом уровне на всех центральных станциях. В конторе он отвечал за качество связи, чинил провода, программировал АТС, но самое ценное, то что он реально быстро решал вопросы на стороне БГТС. 

kls

unread,
Jun 30, 2010, 12:39:36 AM6/30/10
to itpotcast
Молодец, теперь почитай это и сделай правильные выводы.
http://habrahabr.ru/blogs/arbeit/96965/

On Jun 30, 1:20 am, Нурбек Карагулов <nurbek.k...@gmail.com> wrote:
> 29 июня 2010 г. 8:59 пользователь Вадим Глебов <vgle...@gmail.com> написал:
>
>
>
> > 2010/6/28 Нурбек Карагулов <nurbek.k...@gmail.com>

Нурбек Карагулов

unread,
Jun 30, 2010, 9:46:12 AM6/30/10
to itpo...@googlegroups.com
В моей практике был пока только один случай, когда вопросы с БГТС решались в считанные часы/дни, секрет был прост, контора была крупная, могла себе позволить нанять очень опытного и толкового инженера, который полжизни проработал в БГТС и имел связи на техническом уровне на всех центральных станциях. В конторе он отвечал за качество связи, чинил провода, программировал АТС, но самое ценное, то что он реально быстро решал вопросы на стороне БГТС. 

 С ним можно как-нибудь связаться? Или сколько могут стоить его услуги - хотелось бы знать для предоставления информации начальству и оценку наших возможностей.


--
С наилучшими пожеланиями!
Нурбек


Нурбек Карагулов

unread,
Jun 30, 2010, 9:50:24 AM6/30/10
to itpo...@googlegroups.com


30 июня 2010 г. 10:39 пользователь kls <kalys....@gmail.com> написал:

Молодец, теперь почитай это и сделай правильные выводы.
http://habrahabr.ru/blogs/arbeit/96965/

Из этой статьи я понял, что абсолютно правильно шел, надеюсь. Задавая вопросы Вадиму, я получал от него лишь общий ответ, а не конкретное решение задачи. Поэтому считаю, в 40 лет не буду локти кусать. 
35C.png

Нурбек Карагулов

unread,
Jun 30, 2010, 10:01:55 AM6/30/10
to itpo...@googlegroups.com
Пусть программы выдает корректное сообщение об ошибке "не удалось установить соединение с сервером, повторите отправку позже", пользователю нужно объяснить как вести себя при получении данного сообщения. Это простая реализация позволит запустить систему в эксплуатацию и проверить есть ли проблема на самом деле. Возможно есть другие более важные проблемы, которые ты не как разработчик не заметил, пользователи начав эксплуатировать систему расскажут тебе, что их не устраивает.

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

Вадим Глебов

unread,
Jun 30, 2010, 11:07:07 PM6/30/10
to itpo...@googlegroups.com


2010/6/30 Нурбек Карагулов <nurbe...@gmail.com>

Пусть программы выдает корректное сообщение об ошибке "не удалось установить соединение с сервером, повторите отправку позже", пользователю нужно объяснить как вести себя при получении данного сообщения. Это простая реализация позволит запустить систему в эксплуатацию и проверить есть ли проблема на самом деле. Возможно есть другие более важные проблемы, которые ты не как разработчик не заметил, пользователи начав эксплуатировать систему расскажут тебе, что их не устраивает.

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

Лучший ответ на вопрос "Как поведет себя пользователь" можно получить на практике дав ему функционал и простые непротиворечивые инструкции по использованию.

Вадим Глебов

unread,
Jun 30, 2010, 11:11:07 PM6/30/10
to itpo...@googlegroups.com


2010/6/30 Нурбек Карагулов <nurbe...@gmail.com>
 С ним можно как-нибудь связаться? Или сколько могут стоить его услуги - хотелось бы знать для предоставления информации начальству и оценку наших возможностей.

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

Вадим Глебов

unread,
Jun 30, 2010, 11:36:41 PM6/30/10
to itpo...@googlegroups.com


2010/6/30 kls <kalys....@gmail.com>

Молодец, теперь почитай это и сделай правильные выводы.
http://habrahabr.ru/blogs/arbeit/96965/

Очень хорошая статья. Я пользуюсь рецептом для решения абстрактных задач: "если за 30 минут самостоятельного поиска я не выхожу из тупика - звоню специалисту, который сможет подсказать направление". Часто бывало, что для нахождения причины  проблемы мне достаточно было начать объяснять коллегам ситуацию.

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

Нурбек Карагулов

unread,
Jul 8, 2010, 10:48:56 AM7/8/10
to itpo...@googlegroups.com
Модемную связь мы наладили. БГТС таки уступил после письма, отписанного к Техническому Директору БГТС. Сегодня эта проблема разрешилась.

У меня появилась возможность протестировать мою прогу. Результаты не внушили оптимизма. Программа ошибок не выдает, нормально запускается, НО не дает дату, за которую надо загрузить отчет. Через браузер я проверил: веб-узел открывается. Путь к интерфейсу тоже доступен. В чем же дело?

Вадим Глебов

unread,
Jul 9, 2010, 10:32:41 AM7/9/10
to itpo...@googlegroups.com


2010/7/8 Нурбек Карагулов <nurbe...@gmail.com>

Модемную связь мы наладили. БГТС таки уступил после письма, отписанного к Техническому Директору БГТС. Сегодня эта проблема разрешилась.

У меня появилась возможность протестировать мою прогу. Результаты не внушили оптимизма. Программа ошибок не выдает, нормально запускается, НО не дает дату, за которую надо загрузить отчет. Через браузер я проверил: веб-узел открывается. Путь к интерфейсу тоже доступен. В чем же дело?

Как правило в мелочах, проверь правильность URL, убедись, что URL который открывается в браузере используется в твоем клиенте, выводи отладочное сообщение в лог или на экран, обязательно обрамленный в стопсимволы, чтобы увидеть пробельные символы в начале и конце строки. И ответь на вопрос все ли в порядке у тебя с URL?

Нурбек Карагулов

unread,
Jul 9, 2010, 10:44:25 AM7/9/10
to itpo...@googlegroups.com
Как правило в мелочах, проверь правильность URL, убедись, что URL который открывается в браузере используется в твоем клиенте, выводи отладочное сообщение в лог или на экран, обязательно обрамленный в стопсимволы, чтобы увидеть пробельные символы в начале и конце строки. И ответь на вопрос все ли в порядке у тебя с URL?
 
с URL все в порядке. Попробую отладочные сообщения. Правда я даже не знаю как это использовать. Пойду погуглю =)

Nurbek

unread,
Aug 12, 2010, 9:58:41 PM8/12/10
to itpotcast
У меня получилось!
Программа работает. Даты выдает. Ну я просто счастлив. =)
Я переделал немножко программу, но кардинально ничего не менял.
Накинул кнопочку активирующую запрос к Серверу и еще пару компонентов.
Только мне не понятно почему не работала первоначальная версия проги.
Ведь логика у них внутри одна и та же.
Но есть подозрение, что ответ на запрос, при запуске программы, просто
не успевал прибыть и программа запускалась без данных для отображения.

P.S. Еще раз спасибо Вадиму за направление и помощь. А впереди есть
планы реализации этой же программы на C# и Java.

Вадим Глебов

unread,
Aug 14, 2010, 5:32:24 AM8/14/10
to itpo...@googlegroups.com
Отлично! Я рад, что у тебя все получилось. Желаю удачи.

2010/8/13 Nurbek <nurbe...@gmail.com>
Reply all
Reply to author
Forward
0 new messages