![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Решил написать загрузчик картинок для сайта hostingkartinok.com
Собственно код Код:
var Form1: TForm1; bas:TStringList; Код:
var gt:string; begin bas:= TStringList.Create; bas.Add('multipart/form-data'); bas.Add('name='+edit1.text); bas.Add('type='+edit2.text); bas.Add('value="Загрузить"'); gt:=form1.IdHTTP1.Post('http://hostingkartinok.com/',bas); Надо чтоб после загрузки избражения появлялась его ссылка в едите(мемо ), Но как это реализовать незнаю.. Подскажите как , если что подправьте где нитак ЗЫ. с сетью начал работать недавно так что не пинайте ![]() |
#2
|
|||
|
|||
![]() В ответ на твой запрос ты получишь страничку, где будет указан адрес загруженных картинок. Тебе надо будет ее распарсить (например, с помощью MSHTML) и получить из соотв. тега этот адрес.
|
#3
|
|||
|
|||
![]() Вроде так тег?
Код:
<a href='http://_____'>< Но я не пойму как выбрать тект между ними в едит(мемо)? можете подсказать как выдрать? |
#4
|
||||
|
||||
![]() сперва две функции:
Код:
function GetBefore(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,1,pos(substr,str)-1) else result:=''; end; function GetAfter(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,pos(substr,str)+length(substr),length(str)) else result:=''; end; Код:
memo1.lines.text:=GetBefore('"></LABEL></DIV></DIV>',GetAfter('URL</SPAN><INPUT type="text" size="92" onclick="this.select();" value="', ПЕРЕМЕННАЯ С ТЕКСТОМ СТРАНИЦЫ) Последний раз редактировалось Admin, Сегодня в 10:32. |
#5
|
|||
|
|||
![]() Код:
procedure host1; function GetBefore(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,1,pos(substr,str)-1) else result:=''; end; function GetAfter(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,pos(substr,str)+length(substr),length(str)) else result:=''; end; begin memo1.lines.text:=GetBefore('"></LABEL></DIV></DIV>',GetAfter('URL</SPAN><INPUT type="text" size="92" onclick="this.select();" value="', ПЕРЕМЕННАЯ С ТЕКСТОМ СТРАНИЦЫ) //это строка ошибка говорит end; procedure TForm1.Button1Click(Sender: TObject); var gt:string; begin bas:= TStringList.Create; bas.Add('multipart/form-data'); bas.Add('name='+edit1.text); bas.Add('type='+edit2.text); bas.Add('value="Загрузить"'); gt:=form1.IdHTTP1.Post('http://hostingkartinok.com/',bas); host1; end; end. В чем я ошибся? и как решить? |
#6
|
||||
|
||||
![]() OMG WTF
Код:
function GetBefore(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,1,pos(substr,str)-1) else result:=''; end; function GetAfter(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,pos(substr,str)+length(substr),length(str)) else result:=''; end; procedure TForm1.Button1Click(Sender: TObject); var gt:string; begin bas:= TStringList.Create; bas.Add('multipart/form-data'); bas.Add('name='+edit1.text); bas.Add('type='+edit2.text); bas.Add('value="Загрузить"'); gt:=form1.IdHTTP1.Post('http://hostingkartinok.com/',bas); begin memo1.lines.text:=GetBefore('"></LABEL></DIV></DIV>',GetAfter('URL</SPAN><INPUT type="text" size="92" onclick="this.select();" value="', gt); host1; end; end. Последний раз редактировалось Admin, Сегодня в 10:32. |
#7
|
|||
|
|||
![]() Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Memo1: TMemo; Button1: TButton; IdHTTP1: TIdHTTP; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; bas:TStringList; implementation {$R *.dfm} function GetBefore(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,1,pos(substr,str)-1) else result:=''; end; function GetAfter(substr, str:string):string; begin if pos(substr,str)>0 then result:=copy(str,pos(substr,str)+length(substr),length(str)) else result:=''; end; procedure TForm1.Button1Click(Sender: TObject); var gt:string; begin bas:= TStringList.Create; bas.Add('multipart/form-data'); bas.Add('name='+edit1.text); bas.Add('type='+edit2.text); bas.Add('value="Загрузить"'); gt:=form1.IdHTTP1.Post('http://hostingkartinok.com/',bas); begin memo1.lines.text:=GetBefore('"></LABEL></DIV></DIV>',GetAfter('URL</SPAN><INPUT type="text" size="92" onclick="this.select();" value="', gt); end; end. memo1.lines.text:=GetBefore('"></LABEL></DIV></DIV>',GetAfter('URL</SPAN><INPUT type="text" size="92" onclick="this.select();" value="', gt); // ошибка в чем? |
#8
|
|||
|
|||
![]() memo1.lines.text:=GetBefore('"></LABEL></DIV></DIV>',GetAfter('URL</SPAN><INPUT type="text" size="92" onclick="this.select();" value="', gt);
А где еще одна закрывающая скобка? Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#9
|
||||
|
||||
![]() hugolom, а разве ваш код для загрузки картинки рабочий?
|
#10
|
|||
|
|||
![]() Вот смотрю что нет..
Может поможете сделать его рабочим? |
#11
|
||||
|
||||
![]() 1. браузер + сниффер
2. идем на hostingkartinok.com и смотрим какие запросы идут 3. реализуем с помощью idhttp + TIdMultiPartFormDataStream |
#12
|
|||
|
|||
![]() мне нужно без браузера
|
#13
|
||||
|
||||
![]() Платите и сделают вам без лишних для вас телодвижений...
|
#14
|
|||
|
|||
![]() Если я бы хотел это, то давно вы создал тему в услугах платных.
но мне охото самому научиться, делать это гет\пост запросами! я думал это будет просто... |
#15
|
||||
|
||||
![]() товаришь pesi хочет тебе сказать что браузер+снифер нужны для того что бы узнать что и как надо отправлять серверу, а не предлагает тебе поставить в прогу браузер
![]() Последний раз редактировалось Admin, Сегодня в 10:32. |