29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317

Конвертация кода Pascal на C++

25.12.2010, 10:22. Показов 7579. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужна помощь, у меня есть такой код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var chosenDir:string;
  fs: tSearchRec;
dbq : String;
begin
  if SelectDirectory('Выберите каталог','', chosenDir)
  then
 
    begin
 
      if (FindFirst(chosenDir+'\*.dbf', faAnyFile, fs)=0)
      then
      repeat
       dbq :=chosenDir;
       //DefaultDir := chosenDir;
        FindNext(fs);
 
    until FindNext(fs)<>0;
 
    end;
end.
этот код вызывает окно обзора папок и и запоминает выбор в переменную (по заданному формату), хотелось бы знать как этот же код реализуется в C++, или может есть какие то встроенные средства для вызова подобного окна обзора?

P.S. Пишу на RAD STUDIO 2009
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.12.2010, 10:22
Ответы с готовыми решениями:

Конвертация кода Pascal на C++
Приветствую! Люди добрые помогите перегнать из Pascal в C++.

Конвертация кода Pascal на C++
Здравствуйте, нужно конвертировать код из Паскаля в С++. задание со строками, как его делать понятия не имею. все что в инете нашла -...

Конвертация кода из с++ в java
Доброго времени суток. Перейду сразу к сути. Я затеял перевод кода из c++ в java, код простой, думал, что труда мне это не составит, однако...

2
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
26.12.2010, 15:48  [ТС]
Лучший ответ Сообщение было отмечено _arty_ как решение

Решение

решение нашёл:

C++
1
2
3
4
5
6
7
8
#include <FileCtrl.hpp>
const SELDIRHELP = 1000;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString Dir = "C:\\Program Files\\MyApp";
  if (SelectDirectory(Dir, TSelectDirOpts() << sdAllowCreate << sdPerformCreate << sdPrompt,SELDIRHELP))
    Label1->Caption = Dir;
}
0
0 / 0 / 0
Регистрация: 14.05.2017
Сообщений: 1
01.10.2017, 19:22
PROGRAM LAB2;
Uses Crt,Graph;

const Path_of_driver='C:\TP7\BGI';
{описание класса точки}
Type
tPoint = object
x, y: integer;
color: word;
{вывод на экран}
procedure Draw;
{закрасить цветом фона}
procedure Hide;
{перемещение точки}
procedure Move(newX, newY:Integer);
{установка х}
procedure setX(x0:Integer);
{установка у}
procedure setY(y0:Integer);
{установка цвета}
procedure setColor(color0 : Word);
{функции получения координат}
function getX : Integer;
function getY : Integer;
end;

procedure tPoint.setX(x0 : Integer);
begin
x:=x0;
end;

procedure tPoint.setY(y0 : Integer);
begin
y:=y0;
end;
procedure tPoint.setColor(color0 : Word);
begin
color:=color0;
end;
function tPoint.getX;
begin
getX:=x;
end;
function tPoint.getY;
begin
getY:=y;
end;

procedure tPoint.Draw;
begin
putPixel(x,y,color);
end;

procedure tPoint.Hide;
begin
putPixel(x,y,GetBkColor);
end;
procedure tPoint.Move(newX, newY : Integer);
begin
Hide;
setX(newX);
setY(newY);
Draw;
end;
{процедура расчета новых координат по нажатой клавише}
Procedure Coords(a:char; var NewX,NewY:integer; h:integer);
begin
case a of
#80: begin
Inc(NewY,h); if NewY>GetMaxY-20 then NewY:=20;
end;
#75: begin
dec(NewX,h); if NewX<10 then NewX:=GetMaxX-10;
end;
#77: begin
inc(NewX,h); if NewX>GetMaxX-10 then NewX:=10;
end;
#72: begin
dec(NewY,h); if NewY<20 then NewY:=GetMaxY-20;
end;
end;
end;

var
mas: array [1..100] of tPoint; {массив точек}
gd,gm,NewX,NewY,i, h: integer;
Q,a:char;
str:string;
NewColor : Word;

begin
randomize;
{инициализация графического режима}
gd:=Detect;
InitGraph(gd,gm,Path_of_driver);
if GraphResult<>grok then begin
write('error:',GraphErrorMsg(GraphResult ));
halt;
end;
{установка свойств всех точек в массиве – случайные значения}
for i:=1 to 100 do
begin
NewX:=Random(GetMaxX);
NewY:=Random(GetMaxY);
NewColor:=Random(256);
mas[i].setX( NewX);
mas[i].setY(NewY);
mas[i].setColor(NewColor);
mas[i].Draw;
end;
h:=50; {расстояние, на которое перемещается точка}
RestoreCrtMode; {текстовый режим}
Q:='y';
While Q<>'n' do begin
write('Выберите режим движения точек: 1 (случайное движение)');
write (' 2 (движение по стрелкам клавиатуры): ');
readln(str); {пользователь вводит символ}
{случайное движение}
if str='1' then
begin
SetGraphMode(gm);
repeat
for i:=1 to 100 do
begin
{новые случайные координаты}
NewX:=Random(GetMaxX);
NewY:=Random(GetMaxY);
mas[i].Move(NewX,NewY);
end;
delay(10000); {задержка}
until keypressed; {пока не нажата клавиша}
end
else
{движение по стрелкам}
begin
writeln('Нажмите Enter');
writeln('Управляйте движением точек с помощью стрелок клавиатуры');
readln;
SetGraphMode(gm);
{вывод массива точек}
for i:=1 to 100 do
mas[i].Draw;
repeat
a:=readkey;
for i:=1 to 100 do
begin
{получаем текущие координаты}
newX:=mas[i].getX;
newY:=mas[i].getY;
{новые координаты, куда передвинется точка}
Coords(a,NewX,NewY,h);
{передвижение точки}
mas[i].Move(NewX,NewY);
end;
until a=#27; {пока не нажата escape}
end;
RestoreCrtMode;
write('Продолжить? (y/n) ');
readln(Q);
end;
closegraph;
clrscr;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2017, 19:22
Помогаю со студенческими работами здесь

Конвертация кода из С++ в Java
Помогите пожалуйста с переводом кода из с++ в Java. В Java не разбираюсь к сожалению. Заранее спасибо. #include &lt;stddef.h&gt; ...

Конвертация кода из паскаля в С++
Доброго времени суток!!! не могу сделать вывод программы на с++ из кода паскаль uses crt; var k,b,r:real; a,b1,c,d:real; ...

Перевод кода с Pascal
uses crt; const n = 17; var arr: array of integer; sum: integer; i: byte; k,d,e: integer; begin

Перевод кода из Pascal в C++
Помогите перевести этот код с Pascal ABC на C++ : uses crt; var N: integer; a: array of integer; begin readln(N); a := 2;...

Перевод кода с Pascal
Переведите, пожалуйста, код с Pascal на C++ const maxn = 10; var n: integer; a: array of integer; used: array of Boolean; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru