Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.11.2015, 19:31
username12 username12 вне форума
Прохожий
 
Регистрация: 11.10.2015
Сообщения: 8
Версия Delphi: delpphi 10
Репутация: 10
По умолчанию Выдает ошибки, что делать?

Задача звучит так
Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран группы с четным количеством символов
Код:
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
86
87
88
89
90
91
unit Unit1;
  
interface
  
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
  
type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Memo1: TMemo;
    Button1: TButton;
    procedure FormActivate(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  
var
  Form1: TForm1;
  
implementation
  
{$R *.dfm}
//Обработка события активизации формы
procedure TForm1.FormActivate(Sender: TObject);
begin
ComboBox1.SetFocus; //передача фокуса в ComboBox1
end;
  
procedure TForm1.FormCreate(Sender: TObject);
begin
  
end;
  
//Обработка события нажатия левой кнопки мыши
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin //если нажата клавиша Enter
ComboBox1.Items.Add(ComboBox1.Text); //строка из окна редактирования заносится в      // список выбора
ComboBox1.Text:=' '; //очистка окна редактирования
end;
end;
  
procedure TForm1.Button1Click(Sender: TObject);
begin
var
 CPos: word;
  SPos: word;
begin
  SPos := 1;
  with Edit1 do
    for CPos := 1 to Length(Text) do
      if Text[CPos] <> Text[CPos+1]
        then
          begin
            if ((CPos-SPos+1) mod 2) = 0
              then
                ListBox1.Items.Add(Copy(Text, SPos, CPos-SPos+1));
            SPos := CPos+1;
end;
  
procedure TForm1.ComboBox1Click(Sender: TObject);
var
st:string;
n,i,nst,ind:integer;  a:array [1..3] of char;  b:boolean; s:real;
begin
n:=0;    //n-число слов в строке
ind:=0;
nst:= ComboBox1.ItemIndex; // определение номера выбранной строки
st:= ComboBox1.Items[nst]; //занесение выделенной строки в переменную st
for i:=1 to Length(st) do
begin
n:=length('st');
end;
If (n MOD 2) =0 then
  
memo1.Lines.add('Четное')
else
memo1.Lines.add('Нечетное');
end;
end.
Ответить с цитированием
  #2  
Старый 02.11.2015, 19:42
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,553
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

3-хдневный бан. Учимся задавать вопросы корректно: указывать где ошибки и не создавать кучу тем...
Ответить с цитированием
  #3  
Старый 02.11.2015, 20:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,095
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ошибка, например, может возникать тут (во второй приведенной строке, но условие ошибки - в первой строке; ошибка - выход за пределы массива):
Код:
1
2
for CPos := 1 to Length(Text) do
      if Text[CPos] <> Text[CPos+1]
Так же в ComboBox1Click написан код, который, по факту ничего полезного не делает:
Код:
1
2
3
4
for i:=1 to Length(st) do
begin
n:=length('st');
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025