Ри
Ритуська

Помогите найти ошибку в программном коде (среда паскаль, Lazarus)

Задача : Создать Windows-приложение (форму и модуль проекта) , в котором используются строки.
Дана строка, в которой имеются несколько букв а. Найдите порядковый номер первой и последней из них.

Компилятор ругается на ...a then writeln // (!!!)

Листинг:
unit zadanie3;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ListBox1: TListBox;
procedure Edit1KeyPress(Sender: TObject; var Key: char);
procedure FormActivate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
// Обработка события активизации Формы
procedure TForm1.FormActivate(Sender: TObject);
begin
Edit1.SetFocus; // передача фокуса ввода Edit1
end;
// Обработка события ввода символов и нажатия клавиши Enter
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
if key=#13 then // если нажата клавиша Enter то
begin // строка из редактируемого текстового поля
ListBox1.Items.Add(Edit1.Text); // заносится в список выбора
Edit1.Text:=''; // очистка текстового поля
end;
end;
// обработка события нажатия клавиши «мыши» в списке выбора
procedure TForm1.ListBox1Click(Sender: TObject);
var
st: string;
n, i, nst, ind: integer;
begin
n:=0; // n содержит букву а
ind:=0;
nst:=ListBox1.ItemIndex; // определение номера буквы
st:=ListBox1.Items[nst]; // nst присваивается выбранный номер
for i:=1 to Length(st) do // просмотр всех символов строки
case ind of
a then writeln(‘Порядковый номер первой буквы а – n’) // (!!!!)
begin
b, c, d,…writeln(‘Не буква а’)
end;
Label3.Caption:= IntToStr(n); //вывод номера первой и последней буквы a в Label3
end;
initialization
{$I unit1.lrs}
end.

НГ
Наталья Гойда

case ind of
a: writeln(‘Порядковый номер первой буквы а – n’) ;
else writeln(‘Не буква а’) ;
end;
не понятно что ты хочешь от программы но както так. Давно на делфи непишу.

ПА
Павел Антонович

Странная задача. Если у тебя строка состоит только из букв а, то тебе нужно просто посчитать длину строки и вывести её. Это будет последняя а. У первой а индекс будет - 0.
Насчет ошибки - переменная инд числового типа.

ОГ
Ольга Гофман

Синтаксис Паскаля не пробовали учить? Почитайте про конструкцию case-of.

Похожие вопросы
Ошибка в коде на Паскале.
Помогите найти ошибку (паскаль)
Ошибка в коде.. . Паскаль
помогите найти ошибку паскале
ребят помогите пожалуйста найти ошибку в коде на паскале (код небольшой)
lazarus где ошибка ???
перевод кода из паскаля на Си не найти ошибку.
программный код. среда lazarus
помогите найти ошибку в коде турбо паскаль
Помогите найти ошибку в коде Паскаль