Форум: "Основная";
Текущий архив: 2015.03.15;
Скачать: [xml.tar.bz2];
ВнизСовместимость Delphi Enterprise 7 и Embarcadero RAD Studio 2010 Найти похожие ветки
← →
Pcrepair © (2012-02-22 22:42) [0]Добрый день!
есть простой код
procedure TForm1.Delete(T: TStringList; LeftLimit: String; RightLimit: String);
var
s: AnsiString;
index1, index2, len, i: integer;
begin
len := Length(RightLimit);
index1 := AnsiPos(LeftLimit, s);
while (index1 <> 0) do
begin
index2 := index1;
i := 1;
while (i <> Length(RightLimit) + 1) do
begin
Inc(index2);
if s[index2] = RightLimit[i] then
Inc(i)
else
i := 1;
end;
Delete(s, index1, index2 - index1 + 1);
index1 := AnsiPos(LeftLimit, s);
end;
end;
Который удаляет символы в файле
Проблема:
Borland Delphi Enterprise Version 7.0 (Build 4.453) - компиляция в норме
Embarcadero RAD Studio 2010 Version 14.0.3513.24210 - выдает ошибку:
if s[index2] = RightLimit then //в этом месте
отладчик пишет:
E2015 Operator not applicable to this operand type
Вопросы:
1. как такое можеть быть, ведь код простейший
2. что делать с RAD Studio 2010. чтоб все заработало
Поиск ничего дельного не дал
Всем спасибо
← →
DVM © (2012-02-22 22:59) [1]
> if s[index2] = RightLimit then //в этом месте
s, LeftLimit и RightLimit приведи к одному типу, либо string либо ansistring
← →
Pcrepair © (2012-02-22 23:04) [2]Помогло! все сделал string
Спасибо
← →
Германн © (2012-02-23 01:10) [3]У меня в старой программе до сих пор куча таких "недопортированных" процедур.
Портирование из 16-ти битной Дельфи в 32-битную было проще, чем портирование из Ansi в Юникод. Там хоть тип Char не менялся.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2015.03.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c