Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Ника))
41 / 41 / 20
Регистрация: 08.12.2010
Сообщений: 340
1

RadioGroup

04.10.2013, 17:49. Просмотров 1533. Ответов 12
Метки нет (Все метки)

Как написать программу для удаления нечетных символов, через нажатие в RadioGroup первого пункта, в Edit1. И еще что бы при нажатии второго пункта введеное слово в Edit писалось на оборот , к примеру : 'Нет' выбрал 2-ю точку и ответ в Label1 вывелся "теН".
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2013, 17:49
Ответы с готовыми решениями:

RadioGroup
procedure TForm1.Button1Click(Sender: TObject); const g=9.8; var h,t:real;...

RadioGroup
Разработайте приложение из главной и одной немодальной подчиненной формы. На...

if radioGroup
Почему не компилит мой быдло код? if RadioGroup1.ItemIndex = 0 then...

Radiogroup
Здравствуйте, имеется 2 radiogroup, в каждом по 2 строчки, как написать условие...

Radiogroup items
Добрый день! Скажите, можно ли менять количество и состав элементов элемента...

12
NIKOLAYY
821 / 719 / 339
Регистрация: 22.09.2012
Сообщений: 5,000
04.10.2013, 22:23 2
Цитата Сообщение от Ника)) Посмотреть сообщение
при нажатии второго пункта введеное слово в Edit писалось на оборот , к примеру : 'Нет' выбрал 2-ю точку и ответ в Label1 вывелся "теН".
Это реверс. Можно так-

Delphi
1
2
3
4
5
procedure TForm1.Button1Click(Sender: TObject);
begin
  if RadioGroup1.ItemIndex = 1 then
    Label1.Caption := AnsiReverseString(Edit1.Text);
end;
А можно и без кнопки если без нее нужно-

Delphi
1
2
3
4
5
6
7
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
    0: ;
    1: Label1.Caption := AnsiReverseString(Edit1.Text);
  end;
end;
1
Ника))
41 / 41 / 20
Регистрация: 08.12.2010
Сообщений: 340
05.10.2013, 18:45  [ТС] 3
Спасибо, но главное разобраться с первым требованием, ни как не могу сделать так что бы выбирало ток четные символы и показывало их в Label1. А нечетные удаляло =)
0
NIKOLAYY
821 / 719 / 339
Регистрация: 22.09.2012
Сообщений: 5,000
06.10.2013, 12:13 4
Цитата Сообщение от Ника)) Посмотреть сообщение
не могу сделать так что бы выбирало ток четные символы и показывало их в Label1.
Можно сделать так- перевести строку string в символьный тип Char в цикле и вывести все кратные символы в лейбл.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  ch: Char;
  i: Integer;
begin
  for i := 1 to Length(Edit1.Text) do
  begin
    ch := Edit1.Text[i]; //разберем строку на символы
    if (ch = '0') or
      (ch = '2') or
      (ch = '4') or
      (ch = '6') or
      (ch = '8') then
      Label1.Caption := Label1.Caption + ch;
  end;
end;
1
Ника))
41 / 41 / 20
Регистрация: 08.12.2010
Сообщений: 340
08.10.2013, 19:14  [ТС] 5
Получается что это выглядит так:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
 ch: Char;
  i: Integer;
begin
case RadioGroup1.ItemIndex of
  0:for i := 1 to Length(Edit1.Text) do
  begin
    ch := Edit1.Text[i]; // выводит четные символы
    if (ch = '0') or
      (ch = '2') or
      (ch = '4') or
      (ch = '6') or
      (ch = '8') then
      Label1.Caption := Label1.Caption + ch;
      end;
  1:Label1.Caption := AnsiReverseString(Edit1.Text);
  end;
 
end;
Но когда запускаю, выдает ошибку после String-это же надо прописать в переменных,но если ни какая переменная не используется в данном случае, что необходимо прописывать?

И еще если запускать программу без 1:Label1.Caption := AnsiReverseString(Edit1.Text); то после всего кода ставиться курсор и пишет внизу :
[Error] Unit1.pas(54): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

P.S. в радиогруппе заданно 2 случая =)
0
NIKOLAYY
821 / 719 / 339
Регистрация: 22.09.2012
Сообщений: 5,000
09.10.2013, 14:49 6
В uses добавь StrUtils
Если нужно в переменные прописать то можеш и прописать, если ненужно то:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
  ch: Char;
  i: Integer;
begin
  Label1.Caption :='';
  case RadioGroup1.ItemIndex of
    0: for i := 1 to Length(Edit1.Text) do
      begin
        ch := Edit1.Text[i]; // âûâîäèò Г·ГҐГІГ*ûå ñèìâîëû
        if (ch = '0') or
          (ch = '2') or
          (ch = '4') or
          (ch = '6') or
          (ch = '8') then
          Label1.Caption := Label1.Caption + ch;
      end;
    1: Label1.Caption := AnsiReverseString(Edit1.Text);
  end;
end;
0
Ника))
41 / 41 / 20
Регистрация: 08.12.2010
Сообщений: 340
09.10.2013, 18:46  [ТС] 7
В Uses это есть .
Все равно выдает ошибку после String.
0
NIKOLAYY
821 / 719 / 339
Регистрация: 22.09.2012
Сообщений: 5,000
09.10.2013, 21:41 8
Нормально работает тока проверил. Смотри че в Uses нехватает-

Delphi
1
2
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, StrUtils, ExtCtrls;
0
Ника))
41 / 41 / 20
Регистрация: 08.12.2010
Сообщений: 340
09.10.2013, 22:53  [ТС] 9
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,StrUtils,ExtCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    RadioGroup1: TRadioGroup;
    procedure RadioGroup1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
 ch: Char;
  i: Integer;
begin
case RadioGroup1.ItemIndex of
  0:for i := 1 to Length(Edit1.Text) do
  begin
    ch := Edit1.Text[i]; //âûâîäèò Г·ГҐГІГ*ûå ñèìâîëû
    if (ch = '0') or
      (ch = '2') or
      (ch = '4') or
      (ch = '6') or
      (ch = '8') then
      Label1.Caption := Label1.Caption + ch;
      end;
 
 
end;




Вот и выдает все тоже самое.
0
NIKOLAYY
821 / 719 / 339
Регистрация: 22.09.2012
Сообщений: 5,000
09.10.2013, 23:57 10
Странно, на пробуй исходник
1
Вложения
Тип файла: rar RadioGroup.rar (166.1 Кб, 11 просмотров)
northener
пофигист широкого профиля
3445 / 2342 / 633
Регистрация: 15.07.2013
Сообщений: 13,875
10.10.2013, 00:21 11
Цитата Сообщение от Ника)) Посмотреть сообщение
Вот и выдает все тоже самое.
Для того чтобы паскалевский/дельфийский модуль был богоугодным нужны только две вещи. Начальная строка с волшебным словом unit заканчивающаяся точкой с запятой и заключительная строка - энд с точкой. Все остальное - мирская суета и никому не нужно.
0
Ника))
41 / 41 / 20
Регистрация: 08.12.2010
Сообщений: 340
11.10.2013, 08:20  [ТС] 12
Спасибо Николай, все отлично работает!
0
U-III
58 / 58 / 12
Регистрация: 24.10.2012
Сообщений: 179
11.10.2013, 08:32 13
А если слово длиннее? Вот рабочий пример для любой длинны слова.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
  i: Integer;
begin
case RadioGroup1.ItemIndex of
  0: begin
        Label1.Caption:='';
        for i := 1 to Length(Edit1.Text) do
          if i mod 2 =0 then Label1.Caption := Label1.Caption + Edit1.Text[i];
      end;
  1:Label1.Caption := AnsiReverseString(Edit1.Text);
  end;
 
end;
0
11.10.2013, 08:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2013, 08:32

ADOTable и RadioGroup
Всем здравствуйте! Возникла такая проблема: необходимо что бы по нажатию...

RadioGroup в Delphi
Привет всем Есть компонент радиогрупп и в нем 5 элемента: 0 1 2 3 4 При...

Radiogroup и checklistbox
как сделать через Radiogroup и checklistbox if Edit1.Text <> '' then ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru