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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 01:21   #1
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию ШРИФТЫ

как уменьшить шрифт без ascii кода и без прописи каждого символа алфавита в отдельности...так же программка не работает если при вводе в командной строке последний символ цифра... объясните если не сложно..

Код:
uses crt;
var s:string;
    i,n:integer;
begin
  write('Введите парметр: ') ;
  readln(s);
  n:=length(s);          //n- присваивает занчение всей длины строки
  for i:=1 to n do
   if s[i] in ['A'..'Z'] then
     begin
      if s[i]='A' then s[i]:='a'; if s[i]='B' then s[i]:='b';
      if s[i]='C' then s[i]:='c'; if s[i]='D' then s[i]:='d';
      if s[i]='E' then s[i]:='e'; if s[i]='F' then s[i]:='f';
      if s[i]='G' then s[i]:='g'; if s[i]='H' then s[i]:='h';
      if s[i]='I' then s[i]:='i'; if s[i]='J' then s[i]:='j';
      if s[i]='K' then s[i]:='k'; if s[i]='L' then s[i]:='l';
      if s[i]='M' then s[i]:='m'; if s[i]='N' then s[i]:='n';
      if s[i]='O' then s[i]:='o'; if s[i]='P' then s[i]:='p';
      if s[i]='Q' then s[i]:='q'; if s[i]='R' then s[i]:='r';
      if s[i]='S' then s[i]:='s'; if s[i]='T' then s[i]:='t';
      if s[i]='U' then s[i]:='u'; if s[i]='V' then s[i]:='v';
      if s[i]='W' then s[i]:='w'; if s[i]='X' then s[i]:='x';
      if s[i]='Y' then s[i]:='y'; if s[i]='Z' then s[i]:='z';
     end
      else if not (s[i] in ['a'..'z']) then begin
                                               delete(s,i,1);
                                               i:=i-1;
                                               n:=length(s);
                                             end;

  writeln(s) ;
end.
Snapper вне форума Ответить с цитированием
Старый 28.11.2010, 11:55   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Для перевода маленьких букв в большие есть функция upcase, а вот наоборот, насколько я знаю нет, но можно сделать так
Код:
for i:=1 to length(st) do
new_st:=nev_st+chr( ord(st[i])+32 );
где st - исходная строка
new_st - новая строка
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 28.11.2010, 19:59   #3
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию

Не робит!!! плиз глянь еще раз....

Код:
                   uses crt;
label metka;
var s,k:string;
    i:integer;
begin
metka:  write('Введите парметр: ') ;
  readln(s);
  for i:=1 to length(s) do
k:=k+chr( ord(s[i])+32 );
  writeln(s) ; goto metka;
end.
оператор удаления убрал чтоб не мешала...
Snapper вне форума Ответить с цитированием
Старый 28.11.2010, 20:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

LowCase еще не отменяли.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.11.2010, 20:31   #5
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию

я кривой надо было не: writeln(s),а writeln(k);***

Последний раз редактировалось Arigato; 28.11.2010 в 21:31.
Snapper вне форума Ответить с цитированием
Старый 28.11.2010, 20:35   #6
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию

Хотя стоп... если прописать в нижнем регистре, то выдает какую-то адабрукадабру....что за?

Последний раз редактировалось Snapper; 28.11.2010 в 20:49.
Snapper вне форума Ответить с цитированием
Старый 28.11.2010, 22:34   #7
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию

I need help=/
Snapper вне форума Ответить с цитированием
Старый 28.11.2010, 23:00   #8
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию

Код:
uses crt;
label metka;
var s:string; n,i:integer;
     begin
metka:  write('Введите параметр: ') ;
  readln(s); n:=length(s);
  for i:=1 to n do
  s[i]:=LowCase(s[i]);
  writeln(s) ; goto metka;
end.
если кому надо... сейчас приделаю удалятель не буков)

Последний раз редактировалось Snapper; 28.11.2010 в 23:11.
Snapper вне форума Ответить с цитированием
Старый 28.11.2010, 23:55   #9
Snapper
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 23
По умолчанию

ВСЯ ПРОГА ВЫГЛЯДИТ ВОТ ТАК! робит на двух языках: русский, английский
Код:
uses crt;
label metka;
var s:string; n,i:integer;
begin
metka:  write('Введите параметр: ') ;
  readln(s); n:=length(s);
  for i:=1 to n do
begin
  s[i]:=LowCase(s[i]);
   if not (s[i] in ['a'..'z']) and not (s[i] in ['а'..'я']) then begin
                                               delete(s,i,1);
                                         if i<n   i:=i-1;
                                                n:=length(s);
                                             end;
end;
  writeln(s) ;  goto metka;
end.

Последний раз редактировалось Snapper; 29.11.2010 в 00:36.
Snapper вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шрифты ZvEr_HaCkEr Общие вопросы Delphi 14 25.10.2010 17:39
Шрифты zzzzz Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 11.05.2009 16:35
Шрифты Михаил Юрьевич Общие вопросы Delphi 2 01.05.2008 20:34
Шрифты Witaliy Общие вопросы Delphi 1 27.04.2008 23:31