Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.07.2010, 02:43
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
Вопрос Загрузчик картинок (пост)

Решил написать загрузчик картинок для сайта 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  
Старый 29.07.2010, 03:17
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,088
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В ответ на твой запрос ты получишь страничку, где будет указан адрес загруженных картинок. Тебе надо будет ее распарсить (например, с помощью MSHTML) и получить из соотв. тега этот адрес.
Ответить с цитированием
  #3  
Старый 29.07.2010, 16:14
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
По умолчанию

Вроде так тег?
Код:
<a href='http://_____'><


Но я не пойму как выбрать тект между ними в едит(мемо)?

можете подсказать как выдрать?
Ответить с цитированием
  #4  
Старый 29.07.2010, 17:00
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

сперва две функции:
Код:
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  
Старый 29.07.2010, 17:37
hugolom hugolom вне форума
Новичок
 
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
По умолчанию

Код:
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  
Старый 29.07.2010, 17:39
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

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.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:53.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025