Главная страница
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
Время: 1.637 c
2-1333222748
Dima335
2012-03-31 23:39
2013.03.22
custom paint


15-1342013393
kki
2012-07-11 17:29
2013.03.22
как будет по англ.


2-1339054794
Pcrepair
2012-06-07 11:39
2013.03.22
Видимость переменных в разных модулях


15-1336042075
john mc'coffe
2012-05-03 14:47
2013.03.22
java tcp client


2-1346669848
Phoenix_
2012-09-03 14:57
2013.03.22
что будет быстрее