Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 3123»
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Подмена символов
Подмена символов
LiadeДата: Вторник, 03.02.2009, 18:35 | Сообщение # 1
Ранг 1
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Привет всем!
Мне нужна помощь
в форме должны быть два поля TEdit, и один Button. Вводишь в первый TEdit текст, нажимаешь на Button и во втором окне выводится тот же текст, но с замененными символами (то есть "а" заменяется на "е", "н" на "г" и т.д.) Помогите пожалуйста новичку, я уже совсем отчаялся sad
p.s. при поиске в гугл, мною была найдена вот эта статья, но я мало чего в ней понял((
 
AdminДата: Вторник, 03.02.2009, 19:09 | Сообщение # 2
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Чтобы обратиться к одному символу строки делаем так:
s[1]:='A'
символ под номером 1 будет изменен на A;
Также можно и брать из строки в другую
s1[1]:=s2[3];

Пробегаеш в цикле и все.


Не оказываю помощь через личные сообщения и ICQ
 
LiadeДата: Вторник, 03.02.2009, 19:48 | Сообщение # 3
Ранг 1
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Спасибо, что быстро ответил!
дело в том, что я совсем новичек, скачал delphi 7 пару дней назад, еще почти совсем ничего там не понимаю, не мог бы ты объяснить мне по пунктам пожалуйста?
 
EkzДата: Вторник, 03.02.2009, 19:50 | Сообщение # 4
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
Code
for i:=1 to length(edit1.text) do
case edit1.text[i] do
'a': edit1.text[i]:='e';
'н': edit1.text[i]:='г' ;
и так далее

Писал прямо здесь, так что синтаксис сам поправишь, если что.
 
EkzДата: Вторник, 03.02.2009, 19:53 | Сообщение # 5
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
Quote (Liade)
объяснить мне по пунктам пожалуйста?

Счас будет тебе инструкция))
 
AdminДата: Вторник, 03.02.2009, 19:58 | Сообщение # 6
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Ekz, ошибку сделал, хотя не страшно. end забыл у case smile
Это я не для тебя, а для Liade. Чтобы не мучился искать ошибку.

Кстати Liade, знаеш паскаль? синтаксис, основы? Можеш почитать учебник на сайте у меня, доступно все писал, должно быть легко


Не оказываю помощь через личные сообщения и ICQ
 
EkzДата: Вторник, 03.02.2009, 20:08 | Сообщение # 7
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
ВОт. клискаем по кнопке два раза, чтбы появилась процедура
Code
procedure TForm1.Button1Click(Sender: TObject);

и в ней пишем код. Вот что должно получится

Code


procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
s:=edit1.Text;    //записываем содержимое Edit'а в переменную
For i:=1 to length(Edit1.text) do         //цикл от 1 до длины Edit'а
  begin
   case s[i] of           //В завасимости от того, какая буква будет в i'йном элементе строки s делаем
    'а': s[i]:='е';       //Если "а" то меняем на "е"
    'н': s[i]:='г';       //Если "н" то меняем на "г"
   end;
  end;
  edit2.Text:=s;        // Полученную строку записываем в Edit2
end;

end.
 
EkzДата: Вторник, 03.02.2009, 20:09 | Сообщение # 8
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
А вот готовая программа, реализующая этот пример
Прикрепления: 6851191.rar(6Kb)
 
LiadeДата: Вторник, 03.02.2009, 20:13 | Сообщение # 9
Ранг 1
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
почти совсем ничего незнаю:(, так же как что делать с
Quote (Liade)
for i:=1 to length(edit1.text) do
case edit1.text[i] do
'a': edit1.text[i]:='e';
'н': edit1.text[i]:='г' ;
и так далее
 
EkzДата: Вторник, 03.02.2009, 20:15 | Сообщение # 10
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
ты выше смотри, я уже все и код полный и саму прогу выложил
 
LiadeДата: Вторник, 03.02.2009, 20:24 | Сообщение # 11
Ранг 1
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Спасибо! все работает!
столкнулся со следующей проблемой: нужна многострочность, то есть чтобы при нажатии на enter переходило на следущую строчку
 
EkzДата: Вторник, 03.02.2009, 20:33 | Сообщение # 12
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
Вместо TEdit используй TMemo
 
LiadeДата: Вторник, 03.02.2009, 20:43 | Сообщение # 13
Ранг 1
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
А чтобы в окошке TMemo не было текста при запуске программы (или чтобы он исчезал при выборе окошка)?

Сообщение отредактировал Liade - Вторник, 03.02.2009, 20:45
 
AdminДата: Вторник, 03.02.2009, 20:57 | Сообщение # 14
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
свойство Lines помойму.

Не оказываю помощь через личные сообщения и ICQ
 
LiadeДата: Вторник, 03.02.2009, 21:02 | Сообщение # 15
Ранг 1
Группа: Проверенные
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
все!! спасибо всем большое!!!
 
Форум » Все о Delphi » Начинающим » Подмена символов
Страница 1 из 3123»
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz