Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 3
Builder 6

Нужно преобразовать код с Delphi на С++

15.10.2018, 08:22. Показов 793. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Edit3: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
//создание таблицы
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
randomize;
with StringGrid1 do
 begin
  ColCount:=5;
  RowCount:=5;
  DefaultColWidth:=40;
  for i:=1 to 4 do
   begin
    Cells[i,0]:=IntToStr(i);
    Cells[0,i]:=IntToStr(i);
   end;
  for i:=1 to 4 do
  for j:=1 to 4 do
  Cells[i,j]:=IntToStr(random(100));
 end; 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
//проверим что ввели целые числа
if not TryStrToInt(Edit1.Text,i) or
   not TryStrToInt(Edit2.Text,i) then
    begin
     ShowMessage('Вы ввели не целое число');
     exit
    end
//если да, то проверим что от 1 до 4
else
if not (StrToInt(Edit1.Text) in [1..4]) or
  not (StrToInt(Edit2.Text) in [1..4]) then
    begin
     ShowMessage('Номера строки и столбца должны быть от 1 до 4');
     exit
    end;
i:=StrToInt(Edit1.Text);
j:=StrToInt(Edit2.Text);
Edit3.Text:=StringGrid1.Cells[j,i];
end;
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2018, 08:22
Ответы с готовыми решениями:

Нужно преобразовать код с Pascal на Delphi
Нужно преобразовать код с Pascal на Delphi, все варианты перепробовал которые знаю но результатов нет вечно выходят ошибки. Буду...

Преобразовать код С++ в Delphi
Добрый день помогите разобраться с кодом Учу Delphi код написан на С++ В частности интересует алгоритм криптования и...

Преобразовать код с C++ в Delphi
Здравствуйте, есть исходники, написанные на C Builder, стала задача переписать на Delphi.. C++ только начинаю осваивать, помогите понять...

4
Модератор
 Аватар для D1973
9911 / 6448 / 2455
Регистрация: 21.01.2014
Сообщений: 27,374
Записей в блоге: 3
15.10.2018, 16:35
А зачем эту ерунду преобразовывать? Не проще ли задание озвучить?
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
15.10.2018, 20:18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 
                 StringGrid1->ColCount = 5;
                 StringGrid1->RowCount = 5;
                 StringGrid1->DefaultColWidth = 40 ;
                 for (int i = 0; i < 5; i++)
                 {
                  StringGrid1->Cells[i][0] = IntToStr(i);
                  StringGrid1->Cells[0][i] = IntToStr(i);
                     }
                 for (int i = 0; i < 5; i++)
                 for (int j = 0; i < 5; j++)
                StringGrid1->Cells[i][j] = rand() % 100; // range 0 to 99
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
 //проверим что ввели целые числа
 try {
 StrToInt(Edit1->Text);
 StrToInt(Edit2->Text);
     }
     catch(...)
     {ShowMessage("Вы ввели не целое число");
     return;
     }
 //если да, то проверим что от 1 до 4
 if(
 (StrToInt(Edit1->Text) < 1 && StrToInt(Edit1->Text)>4)
 ||
 (StrToInt(Edit2->Text) < 1 && StrToInt(Edit2->Text)>4)
  ) ShowMessage("Номера строки и столбца должны быть от 1 до 4");
 else
    //int i=StrToInt(Edit1->Text);
    //int j=StrToInt(Edit2->Text);
    //  Edit3->Text=StringGrid1->Cells[j][i];// здесь ошибка??? в первом условии Cells[i][j], а здесь обратно Cells[j][i]
   // или так
   Edit3->Text=StringGrid1->Cells[StrToInt(Edit2->Text)][StrToInt(Edit1->Text)];
    }
//---------------------------------------------------------------------------
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
15.10.2018, 20:40

[SARCASM]
Мне кажется, или действительно маловато преобразований StrToInt в коде?
[/SARCASM]

На самом деле, тут достаточно по одному разу вызвать TryStrToInt для каждого из Edit-ов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
int i, j;
if(!TryStrToInt(Edit1->Text, i) || !TryStrToInt(Edit2->Text, j))
{
    ShowMessage("Вы ввели не целое число"); return;
}
// если да, то проверим что от 1 до 4
else
    if(!InRange(i, 1, 4) || !InRange(j, 1, 4)) // должно быть #include <Math.hpp>
    {
        ShowMessage("Номера строки и столбца должны быть от 1 до 4"); return;
    }
Edit3->Text = StringGrid1->Cells[j][i];
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
15.10.2018, 22:40
здесь надо было только преобразовать из Нужно преобразовать код с Delphi на С++
никаких простых преобразований . только копия

и если Деен постиг таких знаний - то может пригодиться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2018, 22:40
Помогаю со студенческими работами здесь

Преобразовать код Pascal в Delphi
uses crt; type vl=record fio: string; adres: string; marka: string; nomer:string; year:integer; end; tfile=file of vl;

преобразовать код Delphi в C++ Builder
Помогите пожалуйста правильно записать данный код на С++ type TForm1 = class(TForm) Image1: TImage; XPManifest1:...

Преобразовать код Pascal в Delphi
program N60094766; var a:array of integer; n, m, i, j, k, imin, jmin, jmax, tmp:integer; begin write('Введите кол-во строк...

Преобразовать код программы на Delphi
Subroutine PrintScreen(PaletC) ! 3 Implicit Integer *2 (A-Z) Character *1 PaletC(17) Integer *1 PaletI(17) Logical *1 SetMY...

Преобразовать код Pascal в Delphi
var pv:array of real; x,s:real; c,r:real; i,j:integer; begin s:=0 ; for i := 1 to 5 do writeln('Введите ожидамое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru