Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / IdHTTP1.Get / 5 сообщений из 5, страница 1 из 1
16.05.2021, 18:59
    #40070651
hamsemc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IdHTTP1.Get
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var
  urlSrt: string;
  WStr: WideString;
  buff: AnsiString;
begin
  ........................
  urlSrt := Form1.IdHTTP1.URL.URLEncode(urlSrt);
  WStr := Form1.IdHTTP1.Get(urlSrt);
  buff := Utf8ToAnsi(WStr); // в итоге тут buff = 5?139
  buff := StringReplace(buff, '?', '', [rfReplaceAll, rfIgnoreCase]);
end;



Подскажите как корректно извлечь данные из IdHTTP1.Get
А то мне приходит в строке число с пробелом типа: "5 139" и от пробела никак не избавится, тока через костыли как показано выше.

Через TStringStream, такая же беда

Код: pascal
1.
2.
3.
4.
5.
    M := TStringStream.Create;
    ........................
    urlSrt := Form1.IdHTTP1.URL.URLEncode(urlSrt);
    Form1.IdHTTP1.Get(urlSrt, M);
    buff := M.DataString;
...
Рейтинг: 0 / 0
16.05.2021, 20:30
    #40070662
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IdHTTP1.Get
hamsemc,

А чем тебе пробел мешает?
...
Рейтинг: 0 / 0
17.05.2021, 03:08
    #40070703
hamsemc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IdHTTP1.Get
ъъъъъ
hamsemc,
А чем тебе пробел мешает?

В число не конвертнёшь с пробелом
...
Рейтинг: 0 / 0
17.05.2021, 09:34
    #40070725
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IdHTTP1.Get
hamsemc
Код: pascal
1.
buff := Utf8ToAnsi(WStr); // в итоге тут buff = 5?139

Если символ при конвертации из Utf8ToAnsi превращается в ? значит это не пробел.

Что выведет
Код: pascal
1.
ShowMessage(IntToStr(Ord(WStr[2])));

?
...
Рейтинг: 0 / 0
21.05.2021, 07:53
    #40071839
hamsemc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IdHTTP1.Get
_Vasilisk_

Что выведет
Код: pascal
1.
ShowMessage(IntToStr(Ord(WStr[2])));

?

Выведет "160"


Так заменяет пробел:
Код: pascal
1.
buff := StringReplace(buff, Chr(160), '', [rfReplaceAll, rfIgnoreCase]);
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / IdHTTP1.Get / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]