Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

несколько вариантов кода IdHTTP: что выбрать?   Найти похожие ветки 

 
Pcrepair ©   (2012-06-10 20:01) [0]

Добрый день
Одну и ту же процедуру на делфи можно написать разными способами:
Вариант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; прикручивать (хотя конечно если делать класс будет еще сложне)


 
Sha ©   (2012-06-10 20:12) [1]

вот какие проблемы бывают, если спрашивать на трех форумах,
теперь придется в трех местах выяснять, какой вариант лучше )


 
Anatoly Podgoretsky ©   (2012-06-10 20:21) [2]

> Sha  (10.06.2012 20:12:01)  [1]

Самое смешно если ответы будут везде разные


 
brother ©   (2012-06-10 20:25) [3]

1 и 2 варианты - одно и тоже, 3 вариант - подходит, если потом работать со стримом, а тебе, как я понимаю, нужен string,
значит пользуй 1 вариант и не заморачивайся...


 
Юрий Зотов ©   (2012-06-10 21:32) [4]

Причем пишется в 1 строку и без лишних переменных.


 
Сергей М. ©   (2012-06-10 22:50) [5]

Притом что +[4] ни в одном из вариантов Memo1.Clear нафих не нужен


 
Германн ©   (2012-06-11 00:55) [6]


> Sha ©   (10.06.12 20:12) [1]
>
> вот какие проблемы бывают, если спрашивать на трех форумах

На сей раз вроде только тут. Или в данном случае автор пытается использовать ДМ в качестве третейского судьи по каким-то более ранним вопросам?



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
3-1280406421
Alekcey
2010-07-29 16:27
2013.03.22
raised exception ... in module IDODBC32.DLL


15-1343205350
Eu
2012-07-25 12:35
2013.03.22
До какого числа Double точно хранит целые?


2-1328770345
Gu
2012-02-09 10:52
2013.03.22
Cmd


15-1339143768
Scott Storch
2012-06-08 12:22
2013.03.22
знатокам английского


2-1330073361
NieL
2012-02-24 12:49
2013.03.22
проверка перед добавлением