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

 



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.07.2013, 23:46
flasher167 flasher167 вне форума
Прохожий
 
Регистрация: 02.07.2013
Сообщения: 9
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Перевод Delphi на C++ Builder

Помогите перевести с Delphi на C++ Builder
Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    lbl1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
type
 
  TChar = class (TObject)
  private
    FChar : Char;
  protected
    procedure SetCharData(const aChar : Char);
    function GetCharData : Char;
  public
   //Слово overload задействует механизм перегрузки методов.
   //Благодаря этому, метод Create() будет существовать совместно с другими
   //методами с именем Creаte().
    constructor Create(const aChar : Char); overload;
    //Переопределение метода предка с таким же именем и такой же сигнатурой.
    constructor Create; overload;
    function IsDigit : Boolean;
    function IsAb : Boolean;
    function IsUpper : Boolean;
    property CharData : Char read GetCharData write SetCharData;
  end;
 
{ TChar }
 
constructor TChar.Create(const aChar: Char);
begin
  inherited Create; //Вызов конструктора предка.
  FChar := aChar;
end;
 
constructor TChar.Create;
begin
  Create(#0);
end;
 
//Записать символ
procedure TChar.SetCharData(const aChar: Char);
begin
  FChar := aChar;
end;
 
//Прочитать символ
function TChar.GetCharData: Char;
begin
  Result := FChar;
end;
 
//Является ли символ цифрой
function TChar.IsDigit: Boolean;
const
  Dig = ['0'..'9']; //множества цифр
begin
  Result := FChar in Dig;
end;
 
//Является ли символ буквой
function TChar.IsAb: Boolean;
const
  //Множество букв русского и английского алфавитов.
  //Способ задания совместим с кодовыми страницами CP1251 (windows-1251) и CP866.
  Ab = ['A'..'Z', 'a'..'z'];
begin
  Result := FChar in Ab;
end;
 
//Является ли символ заглавной буквой
function TChar.IsUpper: Boolean;
const
  //Множество заглавных букв
  AbUp = ['A'..'Z'];
begin
  Result := FChar in AbUp;
end;
 
{ TForm1 }
 
//Применение класса TChar для решения следующей задачи:
//Подсчитать в заданном тексте количество цифр, букв, заглавных букв, строчных букв.
procedure TForm1.Button1Click(Sender: TObject);
var
  Ch : TChar;
  S : String;
  i, Len, CntDig, CntAb, CntAbu : Integer;
begin
  //Создание объекта
  Ch := TChar.Create;
 
  //Решение поставленных задачь.
  S := Memo1.Text;
  Len := Length(S);
  CntDig := 0;
  CntAb := 0;
  CntAbu := 0;
  for i := 1 to Len do begin
    Ch.CharData := S[i];
    if Ch.IsDigit then
      Inc(CntDig)
    else if Ch.IsAb then begin
      Inc(CntAb);
      if Ch.IsUpper then Inc(CntAbu);
    end;
  end;
 
  //Вызов деструктора и обнуления переменной Ch.
  FreeAndNil(Ch);
  
  ShowMessage('Всего символов: ' + IntToStr(Len)
    + #13#10'Колличество цифр: ' + IntToStr(CntDig)
    + #13#10'Колличество букв: ' + IntToStr(CntAb)
    + #13#10'Колличество заглавных букв: ' + IntToStr(CntAbu)
    + #13#10'Колличество строчных букв: ' + IntToStr(CntAb - CntAbu));
end;
 
 
end.
Ответить с цитированием
Ответ



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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2018

ВКонтакте   Facebook   Twitter