![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
несколько вариантов кода IdHTTP: что выбрать?
Pcrepair © (2012-06-10 20:01:00)Добрый день
Одну и ту же процедуру на делфи можно написать разными способами:
Вариант1
procedure TForm1.Button1Click(Sender: TObject);
var Text : string;
begin
Memo1.Clear;
Text := AnsiLowerCase(UTF8ToString(IdHTTP1.Get(' http://ya.ru/')));
Memo1.Text := Text;
end;
Вариант2
procedure TForm1.Button2Click(Sender: TObject);
var Text1 : string;
begin
Memo1.Clear;
Text1 := IdHTTP1.Get(' http://ya.ru/');
Text1 := UTF8ToString(Text1);
Text1 := AnsiLowerCase(Text1);
Memo1.Text := Text1;
end;
Некоторые еще так предлагают, Вариант3
procedure TForm1.Button3Click(Sender: TObject);
var Text2 : string; mStream : TStringStream;
begin
Memo1.Clear;
mStream := TStringStream.Create;
IdHTTP1 := TIdHTTP.Create(nil);
idHttp1.Get(' http://ya.ru/', mStream);
Text2 := UTF8ToString(mStream.DataString);
Text2 := AnsiLowerCase(Text2);
Memo1.Text := Text2;
mStream.Free;
end;
результат (закачанный код страницы) везде одинаковый
Вопросы:
- какой вариант кода правильный по теории
- какие возможные косяки при использовании вариантов кода
- и для чего вообще нужно было mStream : TStringStream; прикручивать (хотя конечно если делать класс будет еще сложне)
Германн (2012-06-11 00:55:00) [1]
> Sha © (10.06.12 20:12) [1]
>
> вот какие проблемы бывают, если спрашивать на трех форумах
На сей раз вроде только тут. Или в данном случае автор пытается использовать ДМ в качестве третейского судьи по каким-то более ранним вопросам?
Сергей М. (2012-06-10 22:50:00) [2]Притом что +[4] ни в одном из вариантов Memo1.Clear нафих не нужен
Юрий Зотов (2012-06-10 21:32:00) [3]Причем пишется в 1 строку и без лишних переменных.
brother (2012-06-10 20:25:00) [4]1 и 2 варианты - одно и тоже, 3 вариант - подходит, если потом работать со стримом, а тебе, как я понимаю, нужен string,
значит пользуй 1 вариант и не заморачивайся...
Anatoly Podgoretsky (2012-06-10 20:21:00) [5]> Sha (10.06.2012 20:12:01) [1]
Самое смешно если ответы будут везде разные
Sha (2012-06-10 20:12:00) [6]вот какие проблемы бывают, если спрашивать на трех форумах,
теперь придется в трех местах выяснять, какой вариант лучше )