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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2007, 17:50   #1
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию TIdMultiPartFormDataStream undeclared identifier

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
IdHTTP1.HandleRedirects := true;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ASource: TIdMultiPartFormDataStream;
begin
  ASource := TIdMultiPartFormDataStream.Create;
  ASource.AddFile('fileupload', OpenDialog1.FileName, '');
  IdHTTP1.Request.Referer := 'http://www.imageshack.us/';
  IdHTTP1.Post('http://www.imageshack.us/', ASource);
  ASource.Free;
end;

end.
При компиляции появляются такие ошибки:
38) Undeclared identifier ‘TIdMultiPartFormDataStream’
40) Missing operator or semicolon
41) Missing operator or semicolon
43) The is no overloaded version of ‘Post’ that can be called with these arguments
44) Missing operator or semicolon

Подскажите пожалуйста что я сделал не так?
celovec вне форума Ответить с цитированием
Старый 18.07.2007, 17:52   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

uses IdMultipartFormData;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.07.2007, 18:13   #3
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Спасибо, запустилось.

Идею наверняка вы понели. Програмка загружает картинки на imageshack.us.
Подскажите, а каким образом теперь вывести в WebBrowser1 вот эти строчку с http://www.imageshack.us/?:
Код:
    <table border="0">
        <tr>
            <td>
                <input type="text" onClick="highlight(this)" style="width: 500px" size="70" value="http://img512.imageshack.us/img512/6259/thevisualsignbyalexdesipr6.jpg"/>
            </td> 
            <td valign="top">
                 Direct link to image
            </td>
        </tr>
    </table>

----
Код:
http://img512.imageshack.us/img512/6259/thevisualsignbyalexdesipr6.jpg
- это линк закаченной картинки.

Последний раз редактировалось celovec; 18.07.2007 в 18:36.
celovec вне форума Ответить с цитированием
Старый 19.07.2007, 09:04   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Тебе надо картинку вывести или HTML код ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 19.07.2007, 11:24   #5
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Квэнди, нужно вывести этот html код:


Код:
 <table border="0">
        <tr>
            <td>
                <input type="text" onClick="highlight(this)" style="width: 500px" size="70" value="http://img512.imageshack.us/img512/6259/thevisualsignbyalexdesipr6.jpg"/>
            </td> 
            <td valign="top">
                 Direct link to image
            </td>
        </tr>
    </table>
celovec вне форума Ответить с цитированием
Старый 19.07.2007, 11:55   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

procedure TextToWebBrowser(Text: string; var WB: TWebBrowser_V1);
var
Document: IHTMLDocument2;
V: OleVariant;
begin
// Документ необходимо создать только один раз за текущую сессию работы
if WB.Document = nil then
WB.Navigate('about:blank');
// Ожидаем создания документа и позволяем обрабатывать все сообщения
while WB.Document = nil do
Application.ProcessMessages;
Document := WB.Document as IHtmlDocument2;
// Вставляем текст (до 2Гб)
{следующие строчки внесены недавно - старый вариант функции не работал под XP}
V := VarArrayCreate([0, 0], varVariant);
V[0] := Text;
Document.Write(PSafeArray(TVarData( v).VArray));
Document.Close;
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 19.07.2007, 12:37   #7
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

А где вы нашли процедуру TextToWebBrowser?
Если просто вставить ваш код пиявляются эти ошибки:
Код:
[Error] Unit1.pas(100): Undeclared identifier: 'IHTMLDocument2'
[Error] Unit1.pas(109): Operator not applicable to this operand type
[Error] Unit1.pas(114): Missing operator or semicolon
[Error] Unit1.pas(115): Missing operator or semicolon
[Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'
celovec вне форума Ответить с цитированием
Старый 19.07.2007, 12:45   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

проверьте чтобы в uses были эти модули ActiveX, SHDocVw, MSHTML, Forms
Вызывайте эту процедуру, передавая ей ваш текст и название вашего Twebbrowser
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 19.07.2007, 13:08   #9
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Цитата:
проверьте чтобы в uses были эти модули ActiveX, SHDocVw, MSHTML, Forms
Разобрался.


Цитата:
Вызывайте эту процедуру, передавая ей ваш текст и название вашего Twebbrowser
Расскажите подробней, как ее вызывать?
celovec вне форума Ответить с цитированием
Старый 19.07.2007, 13:31   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

TextToWebBrowser(<ntrст который необходимо отобразить в браузере>,имя вашего TwebBrowser-а);
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Error] UnitMain.pas(40): Undeclared identifier: 'ShellExecute' Manitu Помощь студентам 9 07.03.2008 18:17
Expected an identifier but string found Maugli-rus Общие вопросы Delphi 3 23.12.2007 20:00