TArray.BinarySearch не находит строки с двойными кавычками "
От: HAXT  
Дата: 17.06.17 08:56
Оценка:
Добрый день,
Подскажите пожалуйста по Delphi програмке

Почему то TArray.BinarySearch не находит строки в которых присутствует символ "
Такая же проблема замечена с методом TStringList.IndexOf

Как обойти это ограничение ?

var
      i: integer;
      idx: integer;
      outFoundIndex: integer;
      oldValues: TArray<String>;
      newValues: TArray<String>;
      oldValue : String;
      newValue : String;
      restValue : String;
      dummy : String;
      str : String;
begin
      oldValue := '123,455,""333';
      newValue := '123,455,""333,777';

      oldValues := VarToStr(oldValue).Split([',']);
      newValues := VarToStr(newValue).Split([',']);
      with TStringList.Create do
      begin
        Delimiter := ',';
        for i := Low(oldValues) to High(oldValues) do
        begin
          if not TArray.BinarySearch<string>(newValues, oldValues[i], outFoundIndex) then
            Add(newValues[i]);
        end;
        restValue := DelimitedText;
      end;
end.
Отредактировано 17.06.2017 8:57 HAXT . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.