Инкрементация строкового поля
Свойства text элемента управления является строкой, в свою очередь являющейся массивом символом. Вы не можете осуществить преобразование символа в строку. Тем не менее, вы можете получить доступ ко всем символам строки через их индекс.
Попробуйте это:
var s: string; begin s := RevField.text; s[1] := chr(ord(s[1]) + 1); RevField.text := s; end;
Здесь кроется 2 проблемы:
Для увеличения значения вам необходимо извлекать символы из строки.
Хотя вы можете получить доступ к отдельным символам через выделение подстроки, данный метод не срабатывает у некоторых свойств, таких как, например, свойство TStringField Text.
Лучшим решением, по-видимому, будет написание специфической функции. Например, в случае, если revision-символ всегда является конечным символом строки, функция могла бы выглядеть следующим образом:
function IncrementTrailingVersionLetter(Str: string): string; begin Str[Length(Str)] := Char(Ord(Str[Length(Str)]) + 1); IncrementTrailingVersionLetter := Str; end; и использовать ее следующим образом: with RevField do Text := IncrementTrailingVersionLetter(Text);
Взято с https://delphiworld.narod.ru