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

Вниз

Автоматизация процесса   Найти похожие ветки 

 
Patric ©   (2008-02-11 21:23) [0]

Есть код программы которая посылает POST запрос на сервер.
Проблема в том, что для отправки нужно нажать на кнопку формы, когда нужен файл который выполнит эту функцию автоматически и закроется.
Т.е требуется максимально автоматизировать процесс.
Заранее спасибо!

[code]
unit Unit2;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IdCustomTransparentProxy, IdSocks, IdHTTP, IdBaseComponent,
 IdComponent, IdTCPConnection, IdTCPClient, StdCtrls;

type
 TForm2 = class(TForm)
   Button1: TButton;
   IdHTTP1: TIdHTTP;
   procedure Button1Click(Sender: TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form2: TForm2;
   response :TStringList;
   POSTData: TStringList;

implementation

{$R *.dfm}
 
procedure TForm2.Button1Click(Sender: TObject);
begin
POSTData := TStringList.create;
POSTData.add("modem_log_st_poe=&hang_up_st_poe=Disconnect&message=");
IdHTTP1.Post("http://192.168.0.1/Status.htm/st_poe.cgi" ,POSTData);
end;

end.
[/code]


 
ketmar ©   (2008-02-11 21:30) [1]

а) зачем спрашивать сразу на куче форумов?
б) если задавать вопрос по-русски, вероятность получить ответ больше.

---
Understanding is not required. Only obedience.


 
vegarulez ©   (2008-02-11 21:44) [2]

Patric ©   (11.02.08 21:23)  - Уроки по делфи почитай для начала (таймер, потоки)

[1]
a) видать афтар хочет чтобы тему быстрее в баньку отправили.
б) чел хочет готовую прогу... при минимуме юзания мозга...

> нужен файл который выполнит эту функцию автоматически и
> закроется.

Если ты так вопрос сразу ставишь, то тогда тебе на комерцию с указанием предполагаемой цены за работу...


 
Patric ©   (2008-02-11 21:49) [3]


> а) зачем спрашивать сразу на куче форумов?
> б) если задавать вопрос по-русски, вероятность получить
> ответ больше.


1. Что имеется ввиду под "кучей форумов"?
2. Кажется суть вопроса изложена предельно ясно.

Поясняю:

Здесь выложен код программы которая запускается->Создает форму->Ждет нажатия на кнопки либо закрытия.

Нужен код программы выполняющий ту же функцию автоматически при "загрузки"/"выполнении"/"двойном клике" наконец.
Не нужна сама форма (т.е GUI), а нужно выполнение самой функции при старте после выполнения которой программа должна закрыться/выгрузиться.
Надеюсь понятно объяснил задачу=)


 
vegarulez ©   (2008-02-11 21:55) [4]

вопрос не правильно ставишь...

> Нужен код

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


 
ketmar ©   (2008-02-11 22:07) [5]

>[3] Patric © (2008-02-11 21:49:00)
>Что имеется ввиду под «кучей форумов»?

самоочевидно, что это копипаст вопроса с какого-то форума, который понимает bbcode. иначе ты бы озадачился рассмотрением окошка ввода вопроса здесь и увидел, какие тэги там вставляются.

---
Understanding is not required. Only obedience.


 
{RASkov} ©   (2008-02-11 22:12) [6]

> [5] ketmar ©   (11.02.08 22:07)

Sherlock Holmes :)


 
Patric ©   (2008-02-11 22:15) [7]


> >[3] Patric © (2008-02-11 21:49:00)
> >Что имеется ввиду под «кучей форумов»?
> самоочевидно, что это копипаст вопроса с какого-то форума,
>  который понимает bbcode. иначе ты бы озадачился рассмотрением
> окошка ввода вопроса здесь и увидел, какие тэги там вставляются.
>


1. Привычка- т.к на многих форумах используются эти теги ( можешь поискать точную копию=) )

В FAQ http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619531&n=16 дан пример, на его основе получился такой код:

[code]
program Phttp22222;

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IdCustomTransparentProxy, IdSocks, IdHTTP, IdBaseComponent,
 IdComponent, IdTCPConnection, IdTCPClient, StdCtrls;

{$R *.res}
type

IdHTTP1: TIdHTTP;
 var
    response :TStringList;
   POSTData: TStringList;
begin
 Application.Initialize;
 Application.MainFormOnTaskbar := True;
 Application.Title := "HTTP request";
 Application.Run;

POSTData := TStringList.create;
POSTData.add("modem_log_st_poe=&hang_up_st_poe=Disconnect&message=");
IdHTTP1.Post("http://192.168.0.1/Status.htm/st_poe.cgi" ,POSTData);
application.Destroy;
end.
[/code]

Не понимяю почему POST запрос не отправляется корректно/вообще не отправляется.

ps. А вы всегда критикуете и воспринимаете заданный вопрос новичка  с сарказмом?


 
ketmar ©   (2008-02-11 22:27) [8]

>[7] Patric © (2008-02-11 22:15:00)
>вы всегда критикуете и воспринимаете заданный вопрос новичка с сарказмом?

лично я всегда, когда вопрос задают русскими словами, но не по-русски.

также я слабо понимаю, зачем новичок лезет писать сетевые программы, не удосужившись для начала выучить Delphi. твой же пост [7] показывает лишь умение выдёргивать заклинания и портить их в силу непонимания. ты не выучил даже языка и VCL, не разобрался с основами, но уже хочешь писать что-то сложнее, чем 2+2. «начинающим» — это не «невежам», это «начинающим».

---
Understanding is not required. Only obedience.


 
vegarulez ©   (2008-02-11 22:31) [9]

в этом случае кетмар прав 100%


 
Anatoly Podgoretsky ©   (2008-02-11 22:39) [10]

> Patric  (11.02.2008 21:49:03)  [3]

Нет


 
Patric ©   (2008-02-11 23:26) [11]

Без углубления в основы Delphi получилось написать программу сложнее 2x2, так как нужно было автоматизировать реконнект рутера (стандартно это выполняется через Web browser). Рутеру посылается POST запрос после чего компьютер получает  новый IP.

Если скомпилировать файл с данным кодом то чтобы послать POST запрос надо юзеру нажать на одну единственную кнопку.

Столкнулся с такой проблемой:
Невозможно написать bat файл который бы смог автоматизировать задачу т.к требуется непосредственное взаимодействие формы с юзером. Пытался модифицировать код так чтобы не создавалось форма, кнопка итд- не вышло. Нужен код, скомпилировав который можно получить exe (который в свою очередь можно выполнить из CMD-> тем самым послав POST запрос рутеру).

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

ps. Из-за коротких сроков не вижу возможности разовраться/выучить Delphi на "5", однако эта идея достойна внимания в будущем!


 
ketmar ©   (2008-02-12 00:23) [12]

>[11] Patric © (2008-02-11 23:26:00)
>Из-за коротких сроков не вижу возможности разовраться/выучить Delphi на
>"5", однако эта идея достойна внимания в будущем!

яхонтовый, не надо на «5», достаточно хотя бы на «3». а пока я не вижу даже на «1».

>Пытался модифицировать код так чтобы не создавалось форма, кнопка итд- не
>вышло

логично. так, как ты делаешь — и не выйдет. потому что ты не знаешь основ. не учись бегать, пока не научишься ходить.

для начала копать в сторону «console applications». потом в сторону Synapse/ICS, как более подходящих для консольных приложений.

---
Understanding is not required. Only obedience.



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

Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.064 c
15-1202038145
Галинка
2008-02-03 14:29
2008.03.09
Вопрос к преподавателям


2-1202576588
Дмитрий
2008-02-09 20:03
2008.03.09
Права доступа и реестр.


15-1200865358
TStas
2008-01-21 00:42
2008.03.09
Беда с флешкой


2-1202796912
жорик
2008-02-12 09:15
2008.03.09
открыт ли файл


2-1202875687
Shousheng
2008-02-13 07:08
2008.03.09
memo добавление текста





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский