Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2020, 12:41   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье Удалить из строки все, кроме чисел.

Здравствуйте!
Скажите, пожалуйста, почему при вызови функции выходит ошибка?: [dcc32 Error] Unit1.pas(117): E2035 Not enough actual parameters

Код:

function TForm1.DelChar(S: String; Ch: Char): String;
begin
  for Ch:='а' to 'я' do S:= StringReplace(S, Ch,'',[rfReplaceAll]);
  Result:=S;
end;
.........
  myVar:=DelChar(' г7н7н67T');
Женя32 вне форума Ответить с цитированием
Старый 26.05.2020, 13:10   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
(S: String;         Ch: Char)


(' г7н7н67T')
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.05.2020, 15:36   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Aleksandr H., я думаю тут в другом дело:
Код:
function TForm1.DelChar(S: String): String;
var Ch: Char;
P.S. Регистрация: 12.09.2008 - более 10 лет заниматься Делфи и такие вопросы задавать?

Последний раз редактировалось Arigato; 26.05.2020 в 15:39.
Arigato вне форума Ответить с цитированием
Старый 26.05.2020, 17:01   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Человек простой, вижу ошибку
Код:
Not enough actual parameters
- смотрю количество аргументов которые передаются в процедуру
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.05.2020, 19:58   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Ему второй аргумент не нужен, а нужна локальная переменная. Ну и само решение неполное. Надо удалить все символы, кроме цифр. А там только маленькие русские буквы удаляются.
Arigato вне форума Ответить с цитированием
Старый 26.05.2020, 20:45   #6
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Код:
  function DelChar(S: String): String;
  var
    Ch: Char;
  begin
    for Ch := 'а' to 'я' do
    begin
      S := StringReplace(S, Ch, '', [rfReplaceAll]);
    end;
    Result := S;
  end;
...
myVar := DelChar(' г7н7н67T');
так точно только цифры останутся
Код:
  function DelChar2(s: String): String;
  var
    I: Integer;
  begin
    for I := Length(s) downto 1 do
    begin
      if not CharInSet(s[I], ['0'..'9']) then Delete(s, I, 1);
    end;
    Result := s;
  end;

Последний раз редактировалось Shouldercannon; 26.05.2020 в 20:58.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Написал программу по считыванию трех чисел и определению образуют ли они геометрическую прогрессию. Все работает, кроме чисел 0.1 0.01 и 0.001. donald knut Помощь студентам 3 06.12.2019 13:33
Удалить на листе все кроме сводной таблицы ольгаг Microsoft Office Excel 0 03.06.2016 07:37
Как удалить все строки кроме первой, после автофильтра myosotis Microsoft Office Excel 2 30.01.2013 19:31
удалить все кроме выбранного цвета Cayman Microsoft Office Excel 15 26.03.2012 07:00
Delphi. найти последовательность всех чисел от 1 до n, кроме чисел с одинаковыми цифрами bayda06 Помощь студентам 7 01.07.2010 18:18