|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как проверять каждый символ в Edid
Всем привет. Я недавно в 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; If end Then begin; |
#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'); If end Then begin; Последний раз редактировалось AND_REY, 25.12.2011 в 20:13. |
#5
|
|||
|
|||
Хорошо, спасибо. А как в этот же тексте, то есть в тексте из Edit выловить eeee lklk ikik? То есть у нас eeee это пробел, lklk это !(восклицательный), а ikik это ?(вопросительный)
|
#6
|
|||
|
|||
у меня почему-то не работает обратное. То есть зашифровать текст. Вот, посмотри, где я ошибаюсь?
PHP код:
|
#7
|
||||
|
||||
Код:
While n <= Length(Edit1.Text) Do If end Then begin; Последний раз редактировалось AND_REY, 25.12.2011 в 22:06. |
#8
|
|||
|
|||
Не получается...не выводит в Label(
|
#9
|
||||
|
||||
Скинь проект посмотрю отредактирую.
If end Then begin; |
#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 If end Then begin; |
#14
|
|||
|
|||
f9 работает. Запускается. Блин, ща попробую новый проект сделать!
|
#15
|
|||
|
|||
неа, создал новый проект, скопировал код с того, тоже не компилируется(( попробую переустановить delphi
|