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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2017, 20:11   #1
anasttb
Пользователь
 
Регистрация: 24.02.2017
Сообщений: 32
По умолчанию Добавить в программу обработку ошибок.

Если файл содержит более трех строк или в первой строке более 3 слов.
То в другой файл вывести такие данные: некорректные данные.
Так же добавить исправление первых букв в ФИО на большие (если изначально были маленькие)
_____
Совершенно не представляю , как это сделать..
Код:
:
function RusTr(s:string):string;
var
   rus:array of string=('а','б','в','г','д','е','ё','ж' ,'з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х' ,'ц' ,'ч' ,'ш' ,'щ',   'ъ','ь','ы','э','ю' ,'я' );
  trl:array of string=('a','b','v','g','d','e','e','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','kh','tc','ch','sh','shch','`' ,'' ,'y','e','yu','ya');
 i,k:integer;
begin
  Result:='';
  for i:=1 to length(s) do 
  begin
    for k:=0 to 32 do
    begin
      if s[i]=rus[k] then
      begin
        Result:=Result+trl[k];
       break;
      end;
      if LowCase(s[i])=rus[k] then 
      begin
        Result:=Result+UpCase(trl[k][1])+copy(trl[k],2,length(trl[k]));
      end;
     end; 
  end;
end;
  
begin
 var s:=ReadAllLines(ReadlnString('имя входного файла:'));
  s[0]:=s[0].Split((' ,.;!:?').ToCharArray,System.StringSplitOptions.RemoveEmptyEntries).Select(s->RusTr(s)).JoinIntoString(' ');
     Var t:=System.DateTime.Parse(s[1]);
     vAR t1:=System.DateTime.Now;
  s[1]:=inttostr(t1.Year-t.Year-ord((t1.Month<t.Month) or ((t1.Month=t.Month) and (t1.Day<t.Day))));
  if s[2]='Мужской' then 
     s[2]:='Male' 
  else if s[2]='Женский' then 
     s[2]:='Female';
    WriteAllLines(ReadlnString('имя выходного файла:'),s);
end.
---
Вы забыли поставить закрывающий тег [/CODE]
Модератор

Последний раз редактировалось Serge_Bliznykov; 16.05.2017 в 09:42.
anasttb вне форума Ответить с цитированием
Старый 15.05.2017, 18:09   #2
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

Во-первых, правильно оформляй код: ты не закрыл его, из-за чего смотрится убого.
Во-вторых не понятно какие данные вывести?
В-третьих, чтобы поставить заглавную букву используй case of
что-то типа так:
Код:
case a of
'a'..'z':a:=chr(ord(a)-32)end;
Как-то так.
tutejshy вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу на обработку структур в файле (С++) Katrin5 Помощь студентам 1 23.12.2012 13:19
Задачи на Дельфи: одна на обработку матрицы и две на обработку строк ali-4ka Помощь студентам 6 21.03.2012 14:28
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55
Добавить или изменить текст при появлении ошибок подключения Doctor greid Win Api 0 06.11.2009 09:20
Как правильно написать обработку ошибок? dsapa Microsoft Office Excel 2 24.07.2009 07:53