Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Удалить одинарные кавычки / 15 сообщений из 15, страница 1 из 1
02.12.2020, 11:01
    #40023863
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
Здравствуйте.
Знаю что тема стара как мир но побороть своими силами не могу...

Произвожу парсинг страницы для получения дробного числа но все время получаю такое:
Код: pascal
1.
'25.53'



Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
procedure TForm2.Button2Click(Sender: TObject);
var
  AIdHTTP: TIdHTTP;
  List, Result: AnsiString;
  Fin: string;
  i, j: Integer;
  T: Real;
begin
  AIdHTTP := TIdHTTP.Create;
  try
    List := AIdHTTP.Get('http://192.168.0.135');
  except
    Caption := 'Server Error'
  end;
  AIdHTTP.Free;
  Fin := StringReplace(StringReplace(List, #10, '', [rfReplaceAll]), #13, '', [rfReplaceAll]);
  i := pos('.', Fin);
  Result := Copy(Fin, i - 2, 5);
  T := StrToFloat(Result);
end;



Подскажите что делаю не так?

Спасибо.
...
Рейтинг: 0 / 0
02.12.2020, 11:26
    #40023876
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
STestS,

Ты удаляешь перевод на новою строчку #13 и перевод каретки в начало строки #10
А где удаление одинарных кавычек?
...
Рейтинг: 0 / 0
02.12.2020, 11:32
    #40023879
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
Gerasimenko,

Так я пробовал удалять переходы и ничего не происходит...
Код: pascal
1.
  R := (StringReplace(Fin, '''', '', [rfReplaceAll]));


и так
Код: pascal
1.
  R := (StringReplace(Fin, #39, '', [rfReplaceAll]));
...
Рейтинг: 0 / 0
02.12.2020, 11:47
    #40023889
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
STestS,

Ну, если хочешь, что бы ответили: приведи пример содержимого List
...
Рейтинг: 0 / 0
02.12.2020, 11:53
    #40023891
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
Gerasimenko,
Ok

List
Код: pascal
1.
'<!DOCTYPE HTML>'#$D#$A'<html>'#$D#$A'<head></head><body>Temperatura: 23.38 *C</body>'



Fin
Код: pascal
1.
'<!DOCTYPE HTML><html><head></head><body>Temperatura: 23.38 *C</body>'
...
Рейтинг: 0 / 0
02.12.2020, 11:58
    #40023893
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
STestS,

И где там кавычки?
...
Рейтинг: 0 / 0
02.12.2020, 12:06
    #40023902
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
STestS
Gerasimenko,
Ok

List
Код: pascal
1.
'<!DOCTYPE HTML>'#$D#$A'<html>'#$D#$A'<head></head><body>Temperatura: 23.38 *C</body>'



Fin
Код: pascal
1.
'<!DOCTYPE HTML><html><head></head><body>Temperatura: 23.38 *C</body>'


Региональный разделитель у тебя не точка, а запятая.
...
Рейтинг: 0 / 0
02.12.2020, 12:11
    #40023909
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
alekcvp,

Кавычки почему то есть...(
...
Рейтинг: 0 / 0
02.12.2020, 12:11
    #40023910
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
STestS
alekcvp,
Кавычки почему то есть...(

А как ты смотришь значение чтобы определить их наличие?

Если сделать:
Код: pascal
1.
2.
Result := Copy(Fin, i - 2, 5);
ShowMesage(Result);

, то там тоже есть кавычки?
...
Рейтинг: 0 / 0
02.12.2020, 12:12
    #40023911
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
Gerasimenko,

Да, исправил и все получилось!!! Спасибо!!!
Я уже все перепробовал)
...
Рейтинг: 0 / 0
02.12.2020, 12:13
    #40023912
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
alekcvp
STestS
alekcvp,
Кавычки почему то есть...(

А как ты смотришь значение чтобы определить их наличие?
Ему Exception на StrToFloat прилетает
...
Рейтинг: 0 / 0
02.12.2020, 12:14
    #40023914
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
Gerasimenko
Код: pascal
1.
'<!DOCTYPE HTML><html><head></head><body>Temperatura: 23.38 *C</body>'


Региональный разделитель у тебя не точка, а запятая.

А можно капитана в студию?
Как региональный разделитель "запятая" влияет на наличие кавычек, да ещё при том что я в строке однозначно вижу точку?..

UPD: А, всё, допёрло.
...
Рейтинг: 0 / 0
02.12.2020, 12:20
    #40023918
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
alekcvp,
Вот что было до смены символа...



Подскажите почему запятая мешала?
...
Рейтинг: 0 / 0
02.12.2020, 12:29
    #40023919
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
STestS
alekcvp,
Вот что было до смены символа...
Подскажите почему запятая мешала?

На второй картинке кавычки добавляет сообщение об ошибке чтобы отделить значение от остального текста.
Запятая не мешала, StrToFloat() ожидает что Float будет написано в региональном формате, а в России дробная часть от целой отделяется запятой (23,75), а не точкой, как в англоязычных странах (23.75). Соответственно когда она встречала недопустимый символ в строке (точку) - она выдавала ошибку.
...
Рейтинг: 0 / 0
02.12.2020, 12:31
    #40023920
STestS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить одинарные кавычки
alekcvp,

Теперь ясно, спасибо за информацию!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Удалить одинарные кавычки / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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