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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2012, 16:57   #1
Roman1295
Пользователь
 
Регистрация: 06.09.2012
Сообщений: 51
По умолчанию Двойное вхождение буквы в строку.

Решил сделать небольшую игру. Мне надо проверять каждый раз введенную букву, содержится ли она в слове. Всё работает, но вот если в слове 2 и более таких же букв, как их найти?
Код:
]procedure TForm2.Button2Click(Sender: TObject);
begin
if pos(edit1.Text, s) <> 0 then
begin    //Если введенная буква есть в загаданном слове
pozition:=pos(edit1.Text, s); //Позиция буквы в слове
zagad:=Label2.Caption;  //загаданное слово в переменную
delete(zagad, pozition, 1); //удаляем звездочку
Insert(Edit1.Text, zagad, pozition); //вставляем букву
Label2.Caption :=zagad; //Показываем слово с угаданной буквой
end
Roman1295 вне форума Ответить с цитированием
Старый 04.12.2012, 18:19   #2
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

StrUtils.posEx
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 04.12.2012, 19:13   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Либо сканировать в цикле самому
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 04.12.2012, 20:55   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Поле чудес что ли пишите?
Просто пробегитесь по слову циклом и всё.
FaTaL вне форума Ответить с цитированием
Старый 05.12.2012, 09:17   #5
Roman1295
Пользователь
 
Регистрация: 06.09.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Поле чудес что ли пишите?
Просто пробегитесь по слову циклом и всё.
Нет, игра "Виселица". Пробежаться мало, надо еще и заменить найденное.
Roman1295 вне форума Ответить с цитированием
Старый 05.12.2012, 09:38   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Это не проблема, ведь String это массив букв Просто вставь нужную букву в нужное место.
FaTaL вне форума Ответить с цитированием
Старый 05.12.2012, 09:44   #7
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
const TheWord='qwertyqazqsc';
var
  XWord:string;
  Ch:Char;
  i:integer;
begin
  XWord:=StringOfChar('*',Length(TheWord));
  Ch:='q';
  for i:=1 to Length(TheWord) do
    if TheWord[i]=Ch then
      XWord[i]:=Ch;
  Caption:=XWord;
end;
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вхождение подстроки в строку! Edimus Общие вопросы C/C++ 4 04.04.2011 07:50
Удвоить вхождение некоторой буквы в текст dark999 Помощь студентам 2 21.03.2011 12:32
Как определить вхождение подстроки в строку поля? Bendebej SQL, базы данных 3 23.03.2010 12:38
Дан символ C и строка S. Удвоить каждое вхождение символа C в строку S. MrJohanson Помощь студентам 1 10.03.2010 09:51