Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 7
1

Копировать, вырезать, вставить, удалить

13.04.2016, 01:20. Показов 2506. Ответов 3
Метки нет (Все метки)

Есть задание:
Ввести строку. Подсчитать содержащееся в ней число символов русского алфавита, латинского алфавита и построить строку, содержащую все символы исходной строки, не входящие ни в русский, ни в латинский алфавит, сохраняя порядок их следования. Символы, не входящие не в один из алфавитов заменил на цифры и др.
Есть код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
unit Unit6;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    RadioGroup1: TRadioGroup;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Memo3: TMemo;
    Memo4: TMemo;
    Label4: TLabel;
    Label5: TLabel;
 
    procedure Button2Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button2Click(Sender: TObject);
const ru=['À'..'ß','à'..'ÿ'];
      en=['A'..'Z','a'..'z'];
var s,s1: string;
 i,r,e: integer;
begin
 memo1.Clear;
 memo2.Clear;
 memo3.Clear;
 memo4.Clear;
 
if RadioGroup1.ItemIndex=0 then begin
s:= Edit1.Text;
Memo1.text:=s;
edit1.Clear;
end;
if RadioGroup1.ItemIndex=1 then 
begin
s:= RadioGroup1.Items[1];
Memo1.Lines.Add(s);
end;
if RadioGroup1.ItemIndex=2 then
begin
s:= RadioGroup1.Items[2];
Memo1.Lines.Add(s); 
end;
if RadioGroup1.ItemIndex=3 then
begin
s:= RadioGroup1.Items[3];
Memo1.Lines.Add(s);
end;
 
for i:=1 to length(s) do
begin
if s[i] in ru then
begin
inc(r);
Memo3.Text:=(inttostr(r));
 
end
else
if s[i] in en then
begin
inc(e);
Memo4.text:=(inttostr(e));
end; end;
end; end.
Не получается копировать/вырезать не алфавитные символы и вставить их в свободное поле Memo2?
Миниатюры
Копировать, вырезать, вставить, удалить  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2016, 01:20
Ответы с готовыми решениями:

Вырезать, копировать и вставить
помогите пожалуйста, какая функция в делфи, в частности для MainMenu вырезания, копирования и...

Как сделать функции копировать, вырезать и вставить на Делфи?
Нужно что бы при выборе инструмента выделить, можно было нарисовать прямоугольник и при нажатии на...

Вырезать и вставить код
Как вырезать из спарсенного кода <html> <head><title>Новая...

[Delphi] Копировать / Вставить
В общем мне необходим скрипт(пример), который содержимое Edit без занесения в регистр вставлял в...

3
668 / 558 / 242
Регистрация: 26.11.2012
Сообщений: 2,190
13.04.2016, 04:37 2
Цитата Сообщение от basel Посмотреть сообщение
Не получается копировать/вырезать не алфавитные символы и вставить их в свободное поле Memo2?
Нет кода - поэтому и не получается
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
13.04.2016, 08:29 3
Лучший ответ Сообщение было отмечено basel как решение

Решение

Цитата Сообщение от basel Посмотреть сообщение
Подсчитать содержащееся в ней число символов русского алфавита, латинского алфавита и построить строку, содержащую все символы исходной строки, не входящие ни в русский, ни в латинский алфавит, сохраняя порядок их следования.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var s1:string;
..........................
r:=0;
e:=0;
s1:='';
for i:=1 to length(s) do
if s[i] in ru then  inc(r)
else if s[i] in en then  inc(e)
else s1:=s1+s[i];
Memo3.Text:=inttostr(r);
Memo4.Text:=inttostr(e);
if s1='' then Memo5.Text:='В строке нет символов кроме букв'
else Memo5.Text:=s1;
end;
1
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 7
13.04.2016, 11:33  [ТС] 4
спасибо

Добавлено через 4 минуты
если не знаешь как помочь-не пиши! ехидничать не надо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2016, 11:33

[Excel] скопировать/вырезать диапазон ячеек и вставить
Всем привет! Не получается реализовать Cut и Copy (можно и для Range). Хочу на первом листе Excel...

Копировать и вставить в буфер обмена в активном окне
Здравствуйте. Можно ли как-нибудь иницировать копировать и вставить в буфер обмена в активном окне,...

Копировать/вырезать/вставить
Добрый день и с наступающим. Есть задание - простой текстовый редактор. Сделать его не проблема, но...

Копировать, вырезать, вставить файл или папку
Подскажите как реализовать, методы виндоуса - копировать, вырезать, вставить через прграмму. Т.е....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru