Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2009, 19:17   #1
ant-igorevich
Подтвердите свой е-майл
 
Регистрация: 25.11.2009
Сообщений: 7
Сообщение Delphi.Задача в форме.

Я думал над этой задачей,но не смог решить.Помогите пожалуйста кто может!

Написать функцию, которая будет проверять, является ли строка правильным идентификатором, удовлетворяющим требованиям Паскаля. Напомним, вкратце правила построения имен. Всякое имя может содержать от 1 до 127 литер; первой литерой должна быть буква (строчная или прописная); любая другая литера (начиная со второй) может быть буквой, цифрой (от 0 до 9) или знаком подчеркивания. Если обнаружена ошибка, необходимо выдать сообщение, квалифицирующее ее.
ant-igorevich вне форума Ответить с цитированием
Старый 25.11.2009, 20:14   #2
UnChanter
Пользователь
 
Аватар для UnChanter
 
Регистрация: 14.12.2008
Сообщений: 65
По умолчанию

Код:
function pr(s:string):boolean;
var
 i:integer;
 b:boolean;
begin
 b:=true;
 if not (s[1] in ['a'..'z','A'..'Z','а'..'я','А'..'Я','0'..'9']) then  b :=false;
 if not b then
  begin
   b:=false;
   Form1.Memo1.Lines.Add('ошибка в символе №1');
  end else
   for i:=2 to length(s) do
    if not (s[i] in ['a'..'z','A'..'Z','а'..'я','А'..'Я','0'..'9','_']) then
      begin
        b:=false;
        Form1.Memo1.Lines.Add('ошибка в символе №'+IntToStr(i));
      end;
 result:=b;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 f:boolean;
begin
memo1.lines.clear;
 f:= pr(Edit1.text);
 if f=true then Memo1.Lines.Add('строка является правильным идентификатором') 
 else Memo1.lines.add('строка не является правильным идентификатором'); 
 
end;
Вложения
Тип файла: zip 111.zip (5.8 Кб, 12 просмотров)

Последний раз редактировалось UnChanter; 25.11.2009 в 22:49. Причина: Исправление недочётов
UnChanter вне форума Ответить с цитированием
Старый 25.11.2009, 20:39   #3
ant-igorevich
Подтвердите свой е-майл
 
Регистрация: 25.11.2009
Сообщений: 7
По умолчанию

Этот код надо привязать к кнопке?а как подключить ещё и Edit,чтобы с него программа читала?(можно подробнее,я просто плохо шарю...)
ant-igorevich вне форума Ответить с цитированием
Старый 25.11.2009, 21:11   #4
UnChanter
Пользователь
 
Аватар для UnChanter
 
Регистрация: 14.12.2008
Сообщений: 65
По умолчанию

Цитата:
Сообщение от ant-igorevich Посмотреть сообщение
Этот код надо привязать к кнопке?а как подключить ещё и Edit,чтобы с него программа читала?(можно подробнее,я просто плохо шарю...)
нет, этот код не надо привязывать к кнопке,а просто скопируйте его в поле кода.
а по нажатию на кнопки:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 f:boolean;
begin
memo1.lines.clear;
 f:= pr(Edit1.text);
 if f=true then Memo1.Lines.Add('строка является правильным идентификатором') 
 else Memo1.lines.add('строка не является правильным идентификатором'); 
 
end;
PS: просмотрел что код для delphi, немножко поменял вывод ошибок. Теперь если есть ошибка в каком-нибудь символе, то результат выводится в компонент Memo1
UnChanter вне форума Ответить с цитированием
Старый 25.11.2009, 22:19   #5
ant-igorevich
Подтвердите свой е-майл
 
Регистрация: 25.11.2009
Сообщений: 7
По умолчанию

Что-то не компилируется...может я в чём-то ошибся...
У вас получилось скомпилировать?

P.S:Пишет ошибку в строке функции Memo1.Lines.Add('ошибка в символе №1');
не могу разобраться,поставил ";" после false,но всё равно не получается...
ant-igorevich вне форума Ответить с цитированием
Старый 25.11.2009, 23:26   #6
ant-igorevich
Подтвердите свой е-майл
 
Регистрация: 25.11.2009
Сообщений: 7
По умолчанию

Спасибо большое за помощ!!!)
ant-igorevich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дерево выражения, записанного в постфиксной форме Delphi Римма1990 Помощь студентам 0 20.04.2009 20:49
Задача по Delphi 7 StudentMarat Помощь студентам 4 16.04.2009 16:37
Консоль+поле ввода в форме в Delphi KatT Помощь студентам 0 01.06.2008 16:08
Задача в Delphi Oksana11 Помощь студентам 3 22.12.2007 00:12