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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2013, 01:00   #1
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию Отправа idhttp get без формы

Можно ли? вот если в окне winapi создать компонент idhttp например, можно так? вот окно создаю на вин-апи:
Код:
program Project1; 

uses 
 Windows, 
 Messages; 

{$APPTYPE GUI} 

var hWindow : HWND; 
 WndClass : TWndClass; 
 msgMessage : TMSG; 
const 
 sClassName = 'HelloWorld'; 

procedure ShowMessage(Str : PCHAR); 
begin 
 MessageBox(0,Str,'Message',MB_OK); 
end; 

function HelloWordWndProc(Window: HWnd; AMessage, WParam, 
 LParam: Longint): Longint; stdcall; export; 
var 
 AMsg : TMessage; 
 hdcHDC : HDC; 
 PaintStruct : TPaintStruct; 
 Rect : TRect; 
begin 
 AMsg.Msg := AMessage; 
 AMsg.WParam := WParam; 
 AMsg.LParam := LParam; 
 AMsg.Result := 0; 
 case AMessage of 
 WM_PAINT : begin 
 hdcHDC := BeginPaint(Window,PaintStruct); 
 GetClientRect(Window,Rect); 
 DrawText(hdcHDC,'Hello World!', -1,Rect, 
 DT_SINGLELINE or DT_CENTER or DT_VCENTER); 
 EndPaint(Window,PaintStruct); 
 end; 
 WM_DESTROY : PostQuitMessage(0); 
 else 
 HelloWordWndProc := DefWindowProc(Window, AMessage, WParam, LParam); 
 Exit; 
 end; 
 Result := AMsg.Result 
end; 

begin 
WndClass.style := CS_HREDRAW or CS_VREDRAW; 
WndClass.lpfnWndProc := @HelloWordWndProc; 
WndClass.cbClsExtra := 0; 
WndClass.cbWndExtra := 0; 
WndClass.hInstance := hInstance; 
WndClass.hIcon := LoadIcon(0,{IDI_APPLICATION}IDI_INFORMATION); 
WndClass.hCursor := LoadCursor(0,IDC_ARROW); 
WndClass.hbrBackground := HBRUSH(GetStockObject(WHITE_BRUSH)); 
//WndClass.hbrBackground := HBRUSH(WHITE_BRUSH); 
WndClass.lpszMenuName := nil; 
WndClass.lpszClassName := sClassName; 

if RegisterClass(WndClass) <> 0 then 
 begin 
 hWindow := CreateWindow(sClassName, 'Program N 1', 
 WS_OVERLAPPEDWINDOW, 
 CW_USEDEFAULT,CW_USEDEFAULT, 
 CW_USEDEFAULT,CW_USEDEFAULT, 
 0,0, 
 hInstance,nil); 
 if hWindow <> 0 then 
 begin 
 ShowWindow(hWindow, CmdShow); 
 UpdateWindow(hWindow); 
 while GetMessage(msgMessage,0,0,0) do 
 begin 
 TranslateMessage(msgMessage); 
 DispatchMessage(msgMessage); 
 end; 
 Halt(msgMessage.wParam); 
 end 
 else 
 MessageBox(0,'Cannot create window','Error',MB_OK); 
 end 
 else 
 MessageBox(0,'Cannot register class','Error',MB_OK); 
end.
Так как отправить idhttp запрос без Forms в uses?
igrok111 вне форума Ответить с цитированием
Старый 16.06.2013, 01:27   #2
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

в uses idHTTP а дальше думаю разберешься.
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 16.06.2013, 01:36   #3
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Alex2009 Посмотреть сообщение
в uses idHTTP а дальше думаю разберешься.
не разберусь, уже пробывал. удалял формс, добавлял айди-хттп. Сначало ошибку выдает: Undeclared identifier: 'TForm'. Потом я удалил строчку:TForm1 = class(TForm). Ошибка теперь: Declaration of tform1 missing or incorrect class Просто компонент idhttp надо на форму кидать, я только так пока умею. Как без этого обойтись?
вот дальше что писать?
Код:
program Project2;

uses
  IdHTTP;

{$R *.res}

begin

end.

Последний раз редактировалось igrok111; 16.06.2013 в 01:40.
igrok111 вне форума Ответить с цитированием
Старый 16.06.2013, 02:07   #4
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

короче понял, но теперь ошибка:
Код:
program Project2;
uses
  IdHTTP;
var
    idhttp1:  TIdHTTP;
{$R *.res}
begin
idhttp1.Create(nil);
idhttp1.HandleRedirects:=True;
idhttp1.Get('http://google.ru');
idhttp1.Free;
end.
вылетает с:
igrok111 вне форума Ответить с цитированием
Старый 16.06.2013, 02:27   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

ууу, вам не кодить надо, а книги читать.

idHTTP1:=TidHTTP.Create(nil);
так правильно надо создавать этот класс
Человек_Борща вне форума Ответить с цитированием
Старый 16.06.2013, 03:19   #6
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
ууу, вам не кодить надо, а книги читать.

idHTTP1:=TidHTTP.Create(nil);
так правильно надо создавать этот класс
еще вопрос. после выполнения кода программа сразу же закрываеться(из процесов исчезает). Как сделать что б не выходила?
igrok111 вне форума Ответить с цитированием
Старый 16.06.2013, 03:38   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от igrok111 Посмотреть сообщение
еще вопрос. после выполнения кода программа сразу же закрываеться(из процесов исчезает). Как сделать что б не выходила?
прописать это в коде как не странно.

программа делает то что вы написали, а не то что хотите.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.06.2013, 03:46   #8
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
прописать это в коде как не странно.

программа делает то что вы написали, а не то что хотите.
что прописать-то? я только начал без формы писать, ничего не шарю)))
igrok111 вне форума Ответить с цитированием
Старый 16.06.2013, 09:48   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
что прописать-то?
что программе НАДО делать после того как она сделала все прописанное в ней.
begin
idhttp1:=Tidhttp.Create(nil);
idhttp1.HandleRedirects:=True;
idhttp1.Get('http://google.ru');
idhttp1.Free;
end.

Для форм это обычно показывать некую форму и ждать пока пользователь ее закроет.
Цитата:
Код:
 ShowWindow(hWindow, CmdShow); 
 UpdateWindow(hWindow); 
 while GetMessage(msgMessage,0,0,0) do
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 16.06.2013, 09:51   #10
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
program Project2;
uses
  IdHTTP,dialogs;
var
    idhttp1:  TIdHTTP;
{$R *.res}
begin
idhttp1:=Tidhttp.Create(nil);
idhttp1.HandleRedirects:=True;
idhttp1.Get('http://google.ru');
idhttp1.Free;
while true do
showmessage('Я не закрывающееся программа');
end.
Кольша вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TServerSocket без формы god110 Работа с сетью в Delphi 11 10.02.2010 14:24
Скачать файлы с интернета без idhttp jekaz Помощь студентам 2 27.01.2010 19:22
Как узнать вес HTML-странички без загрузки - idhttp.head(url); Gonzo Работа с сетью в Delphi 6 07.11.2009 18:20
Авторизация по IdHTTP без имени компонента tuftel Работа с сетью в Delphi 11 17.03.2009 04:20
Программа без формы Чугусов Общие вопросы Delphi 3 14.02.2009 14:56