![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Всем привет. Я недавно в delphi. Вот решил написать простую программу. Вообщем вот: пользователь вводит в поле Edit какой-то текст. По нажатию кнопики Button, программа должна проверить текст, введенный в поле, на наличие символов и вывести результат в Label.
Допустим пользователь ввел 1a2b3c. Каждые два символа обозначают какую-то букву(типа шифровки): 1a:= a 2b:= р 3c:= o Причем, если ввел 1a3c, то вывести в label ao, если 3с2b, то op и т.д. вообщем своя шифровка) ВОПРОС: как сделать так, что бы программа проверяла каждые два символа?? Я так понимаю что нужен цикл. Я работал два года в языке pawn, так что общие понятия программирования знаю))) Последний раз редактировалось Scooby_Do, 25.12.2011 в 18:47. |
|
#2
|
||||
|
||||
|
Вроде так, может и проще можно:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Const
M: Array[1..3] of String = ('1a', '2b', '3c');
Z: Array[1..3] of String = ('а', 'р', 'о');
Var
S: String;
n, i: Integer;
begin
n:= 1; Label1.Caption:= '';
While n < Length(Edit1.Text) Do
begin
S:= Copy(Edit1.Text, n, 2);
For i:= 1 To 3 Do if S = M[i] Then Label1.Caption:= Label1.Caption + Z[i];
Inc(n, 2);
end;
end; |
|
#3
|
|||
|
|||
|
Спасибо огромное. Я так понял, что бы добавлять свои символы и их значения, надо просто прописать их в
PHP код:
|
|
#4
|
||||
|
||||
|
Да правильно.
Еще надо поменять For i:= 1 To 3 Do... вместо 3 к-во символов в массиве. Можно еще не по 2 сравнивать а по 3 и больше. Для этого надо сменить Код:
S:= Copy(Edit1.Text, n, 2); Inc(n, 2); Причем в соотведствие можно и так написать: Код:
M: Array[1..3] of String = ('1a', '2b', '3c');
Z: Array[1..3] of String = ('Привет', 'не знаю', '177');Последний раз редактировалось AND_REY, 25.12.2011 в 20:13. |
|
#5
|
|||
|
|||
|
Хорошо, спасибо. А как в этот же тексте, то есть в тексте из Edit выловить eeee lklk ikik? То есть у нас eeee это пробел, lklk это !(восклицательный), а ikik это ?(вопросительный)
|
|
#6
|
|||
|
|||
|
у меня почему-то не работает обратное. То есть зашифровать текст. Вот, посмотри, где я ошибаюсь?
PHP код:
|
|
#7
|
||||
|
||||
|
Код:
While n <= Length(Edit1.Text) Do Последний раз редактировалось AND_REY, 25.12.2011 в 22:06. |
|
#8
|
|||
|
|||
|
Не получается...не выводит в Label(
|
|
#9
|
||||
|
||||
|
Скинь проект посмотрю отредактирую.
|
|
#10
|
|||
|
|||
|
PHP код:
и ещё, как в сделать так, что бы результат выводил не в Label, а в Memo. Memo1.Name и просто Memo не работает((( |
|
#12
|
|||
|
|||
|
Спасибо огромное. Вот появилась ещё одна проблема....ппц...не компилируется. Ошибок-то нет: я нажимаю на Compile(ctrl+f9) и ни чего не происходит. Debag работает. Может это из-за пиратской версии Delphi или из-за того что я её не активировал)
Последний раз редактировалось Scooby_Do, 26.12.2011 в 21:03. |
|
#13
|
||||
|
||||
|
Просто F9 нажми посмотри вообще запускается в среде.
У меня Windows 7 64bit хотя я думаю не в этом проблема. Создай чистый проект и скопируй туда код может так запустится. На всяк случай Coder v1.0.rar |
|
#14
|
|||
|
|||
|
f9 работает. Запускается. Блин, ща попробую новый проект сделать!
|
|
#15
|
|||
|
|||
|
неа, создал новый проект, скопировал код с того, тоже не компилируется(( попробую переустановить delphi
|