Главная страница
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.063 c
2-1332437524
sasha198407
2012-03-22 21:32
2013.03.22
ошибка Exception EAccessViolation in module Project1.exe


15-1335276392
Anton Nagornyi
2012-04-24 18:06
2013.03.22
Халтура. BASS обработка звука


15-1351936374
xayam
2012-11-03 13:52
2013.03.22
Google App Engine (GAE)


4-1264071675
Омлет
2010-01-21 14:01
2013.03.22
Восстановить путь ключа реестра по HKEY


15-1329061277
Бумбурум
2012-02-12 19:41
2013.03.22
нужен список ключ-значение.