Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Delphi
Перезагрузить страницу Связь Delphi со скриптом на сервере
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
DimkinS DimkinS вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.05.2006
По умолчанию 13.09.2006, 20:58

Помогите плиз!
Я новичек в Delphi, пока что могу писать простейшие проги на делфях.Типа калькулятора, записной книжки и все такое.
Напишите плиз очень просто без всяких наворотов программку для того,чтобы программа выполнила(открыла адрес) скрипт по адресу http://sayt.domen.ru/script.php.
Ответить с цитированием
  (#2 (permalink)) Старый
Fuud Fuud вне форума
Member
 
Сообщений: 4,076
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.09.2004
По умолчанию 13.09.2006, 21:12

на форму кидаешь TWebBrowser.

Код:
  WebBrowser1.Navigate('http://sayt.domen.ru/script.php');
Ответить с цитированием
  (#3 (permalink)) Старый
DimkinS DimkinS вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.05.2006
По умолчанию 13.09.2006, 23:52

Fuud
Вот спасибочки! То что нужно! Огромное сенкс!!!
Можешь дать номер icq или e-mail для связи? А то тут редко кто ответит. А вопросы могут возникнуть.
Ответить с цитированием
  (#4 (permalink)) Старый
IL_Agent IL_Agent вне форума
Member
 
Аватар для IL_Agent
 
Сообщений: 2,015
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.07.2005
По умолчанию 14.09.2006, 00:47

Цитата:
Fuud
Можешь дать номер icq или e-mail для связи? А то тут редко кто ответит. А вопросы могут возникнуть.
Ну почему же редко
Ответить с цитированием
  (#5 (permalink)) Старый
DimkinS DimkinS вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.05.2006
По умолчанию 14.09.2006, 00:49

Такой еще вопрос!
Как сделать,чтобы Label1.Caption стало первой строкой из http://sayt.domen.ru/tekst.txt ???
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
PerfectStranger PerfectStranger вне форума
Member
 
Сообщений: 240
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.05.2006
По умолчанию 14.09.2006, 15:06

Можно с использованием виндовой библиотеки wininet.dll:
Код:
uses ... wininet ...;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  hSession,
  hUrl: HINTERNET;
  ss: string;
  cc: Char;
  dwBytesReaden: DWORD;
begin
  hSession :=
    InternetOpen(PChar(Application.Name), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil,
      0);
  if hSession = nil then
    RaiseLastOSError;

  try
    hUrl := InternetOpenUrl(hSession, 'http://www.google.ru/', nil, 0, 0, 0);
    if hUrl = nil then
      RaiseLastOSError;

    try
      ss := '';
      while InternetReadFile(hUrl, @cc, 1, dwBytesReaden)
      and not (cc in [#10, #13]) do
        ss := ss + cc;

      Label1.Caption := ss;

    finally
      InternetCloseHandle(hUrl);
    end;

  finally
    InternetCloseHandle(hSession);
  end;
end;
Будет нормально работать, только если сервер действительно возвращает текст, а не HTML (на lib.ru, например, несмотря на расширение txt в Url возвращается реально HTML) - в случае HTML получится примерно то же, что возвращается в данном примере с гууууглом: <HTML>....
Ответить с цитированием
  (#7 (permalink)) Старый
LARS LARS вне форума
Member
 
Сообщений: 568
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.06.2005
По умолчанию 14.09.2006, 19:11

Цитата:
Fuud
А то тут редко кто ответит. А вопросы могут возникнуть.
...однако наглежь!!! У человека 8 сообщений, а он так хорошо разбирается, кто как ответит...
Ответить с цитированием
  (#8 (permalink)) Старый
Fuud Fuud вне форума
Member
 
Сообщений: 4,076
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.09.2004
По умолчанию 14.09.2006, 21:43

Спасибо! Хотя я бы на твоем месте извинился - здесь отвечают регулярно, многие заходят по неодному разу в день.

Цитата:
Как сделать,чтобы Label1.Caption стало первой строкой из
На форму кидаем TidHTTP

Код:
var
  s:string;
begin
  s:=IdHTTP1.Get('http://sayt.domen.ru/tekst.txt');
  Label1.Text:=copy(s,1,pos(#13,s));
end;
ps Ты, надеюсь, понимаешь, что тебе никто здесь ничего не должен.
pps Мыло и ася - в личных данных.
ppps Мда...
Ответить с цитированием
  (#9 (permalink)) Старый
DimkinS DimkinS вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.05.2006
По умолчанию 15.09.2006, 01:10

Прошу прощения за клевету.
Но были случаи,когда я уже поднимал такие вопросы,но мне ничего путно и толкого как вы не помогли.
Не верите-сделайте поиск тем по нику.
Спасибо за помощь.
================================================== ==============
Еще вопрос!
Как сделать,чтобы прога была в трее.
И на нажатие ctrl+F1 открывался блокнот.
ctrl+F2 - калькулятор
ctrl+F3 - paint и тд.
Ответить с цитированием
  (#10 (permalink)) Старый
PerfectStranger PerfectStranger вне форума
Member
 
Сообщений: 240
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.05.2006
По умолчанию 15.09.2006, 08:56

Цитата:
Прошу прощения за клевету.
Но были случаи,когда я уже поднимал такие вопросы,но мне ничего путно и толкого как вы не помогли.
Не верите-сделайте поиск тем по нику.
Спасибо за помощь.
================================================== ==============
Еще вопрос!
Как сделать,чтобы прога была в трее.
И на нажатие ctrl+F1 открывался блокнот.
ctrl+F2 - калькулятор
ctrl+F3 - paint и тд.
А может лучше поискать такую прогу готовую (н-p, MKey), а то самому делать сложно получается: вопросы тут задавать, ходить потом проверять, ответили или не ответили, если не ответили - расстраиваться, а вдруг еще не правильно ответили - зря только время тратить на набор не работающего кода... :-)
Ответить с цитированием
  (#11 (permalink)) Старый
SH@DOW SH@DOW вне форума
Member
 
Сообщений: 2,085
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.09.2002
По умолчанию 15.09.2006, 11:27

Статья из Delphi World

Иконка на TrayBar
Код:
unit shellUnit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus;

const
  WM_MYICONNOTIFY = WM_USER + 123;

type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    RestoreItem: TMenuItem;
    N1: TMenuItem;
    FileExitItem1: TMenuItem;
    HideItem: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure RestoreItemClick(Sender: TObject);
    procedure HideItemClick(Sender: TObject);
    procedure FileExitItem1Click(Sender: TObject);
  private
    { Private declarations }
    ShownOnce: Boolean;
  public
    { Public declarations }
    procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY;
    procedure WMSYSCOMMAND(var msg: TMessage); message WM_SYSCOMMAND;
    procedure RestoreMainForm;
    procedure HideMainForm;
    procedure CreateTrayIcon(n: Integer);
    procedure DeleteTrayIcon(n: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
uses ShellApi, shlobj, registry;

procedure TForm1.WMICON(var msg: TMessage);
var
  P: TPoint;
begin
  case msg.LParam of // обработка обратных сообщений
    WM_LBUTTONUP: //по нажатию левой клавиши, WM_RBUTTONUP по правой
      begin
        GetCursorPos(p);
        SetForegroundWindow(Application.MainForm.Handle);
        PopupMenu1.Popup(P.X, P.Y);
      end;
    WM_LBUTTONDBLCLK: RestoreItemClick(Self); //как Default
  end;
end;

procedure TForm1.WMSYSCOMMAND(var msg: TMessage);
begin
  inherited; //обработка минимизирвания окна, не сворачевается а скрывается
  if (Msg.wParam = SC_MINIMIZE) then
    HideItemClick(Self);
end;

procedure TForm1.HideMainForm;
begin
  //при сокрытии окна
  Application.ShowMainForm := False;
  ShowWindow(Application.Handle, SW_HIDE);
  ShowWindow(Application.MainForm.Handle, SW_HIDE);
end;

procedure TForm1.RestoreMainForm;
var
  i, j: Integer;
begin
  Application.ShowMainForm := True;
  ShowWindow(Application.Handle, SW_RESTORE);
  ShowWindow(Application.MainForm.Handle, SW_RESTORE);
  if not ShownOnce then
  begin
    for I := 0 to Application.MainForm.ComponentCount - 1 do
      if Application.MainForm.Components[I] is TWinControl then
        with Application.MainForm.Components[I] as TWinControl do
          if Visible then
          begin
            ShowWindow(Handle, SW_SHOWDEFAULT);
            for J := 0 to ComponentCount - 1 do
              if Components[J] is TWinControl then
                ShowWindow((Components[J] as TWinControl).Handle,
                  SW_SHOWDEFAULT);
          end;
    ShownOnce := True;
  end;

end;

procedure TForm1.CreateTrayIcon(n: Integer);
var
  nidata: TNotifyIconData;
begin
  with nidata do
  begin
    cbSize := SizeOf(TNotifyIconData);
    Wnd := Self.Handle; //HWND вашего окна (окна принимающего обратные сообщения)
    uID := 1; // номер значка
    uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; //обрабатываемые флаги
    uCallBackMessage := WM_MYICONNOTIFY;
    hIcon := Application.Icon.Handle;
      // то откуда сдергивается значек это может быть и ImageList и т.д.
    StrPCopy(szTip, Application.Title);
      // всплывающая строка, может быть любой string главное с нулевым окончанием
  end;
  Shell_NotifyIcon(NIM_ADD, @nidata); // добавление значка
end;

procedure TForm1.DeleteTrayIcon(n: Integer);
var
  nidata: TNotifyIconData;
begin
  with nidata do
  begin
    cbSize := SizeOf(TNotifyIconData);
    Wnd := Self.Handle;
    uID := 1;
  end;
  Shell_NotifyIcon(NIM_DELETE, @nidata); // удаление значка
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ShownOnce := False;
  CreateTrayIcon(1);
  HideItem.Enabled := False;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DeleteTrayIcon(1);
end;

procedure TForm1.RestoreItemClick(Sender: TObject);
begin
  RestoreMainForm;
  //если убрать ремарку то при показывании основного окна значек исчезает
  //DeleteTrayIcon(1);
  RestoreItem.Enabled := False;
  HideItem.Enabled := True;
end;

procedure TForm1.HideItemClick(Sender: TObject);
begin
  HideMainForm;
  CreateTrayIcon(1);
  HideItem.Enabled := False;
  RestoreItem.Enabled := True;
end;

procedure TForm1.FileExitItem1Click(Sender: TObject);
begin
  Close;
end;

end.

{Также есть еще такая фигня Shell_NotifyIcon(NIM_Modify, @nidata) позволяет
менять уже установленный значек, не прибегая к его убиванию и построению заново}
Ответить с цитированием
  (#12 (permalink)) Старый
Fuud Fuud вне форума
Member
 
Сообщений: 4,076
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.09.2004
По умолчанию 15.09.2006, 19:50

Цитата:
И на нажатие ctrl+F1 открывался блокнот.
Код:
RegisterHotKey
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите со скриптом shmeaogorl PHP 4 19.01.2012 16:56
Проблема со скриптом Helen8221 Любые вопросы от новичков 2 12.09.2011 16:35
Помогите разобраться со скриптом. Shadow_01 PHP 0 22.05.2011 15:14
Помогите со скриптом INI Веб-программирование 1 02.11.2008 13:38
Как правильно работать со скриптом Aledorik Perl 5 24.11.2006 15:56
Управление cgi скриптом HBiT Perl 1 14.07.2006 18:18
Связь Delphi с интернетом DimkinS Delphi 8 19.05.2006 23:13
Помогите со скриптом плз... Илья1204 PHP 3 17.07.2005 19:12
Как можно в Delphi организовать связь между двумя компьютерами для передачи строк SpaceShark Delphi 7 27.01.2005 22:50
Глюк со скриптом новостей jenyok PHP 13 29.09.2004 19:17
FTP и PHP , помогите со скриптом mr.god PHP 1 14.12.2003 17:05
Помогите со скриптом!!! Kirill PHP 7 29.11.2003 16:54



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов