Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 26.11.2012
Сообщений: 26

Перевести код с Delphi

25.09.2014, 19:12. Показов 2461. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите перевести участок кода, написанный на Delphi в код C#.
Delphi
1
2
3
4
5
6
7
8
9
  type ukazatel=^zveno;
  zveno=record
  FIO:string[25];
  Date:string[10];
  Address:string[25];
  Doctor:string[25];
  Diagnos:string[25];
  next:ukazatel;
  end;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2014, 19:12
Ответы с готовыми решениями:

Перевести код с Delphi на C#
В общем, переписывал прогу с делфи на си#, и что-то как то не удаётся. program project1; uses Math; var i, N :...

Перевести код с Delphi
как мне перевести этот код с делфи 7 на c# win forms? procedure TForm1.Button1Click(Sender: TObject); var list:tstringlist; ...

Перевести код с Delphi
Помогите перевести участок кода, написанный на Delphi в код C#. begin if (Image5.Left+Image5.Width > Image6.Left) then if...

8
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
26.09.2014, 00:26
Dragoon, что-то типо
C#
1
2
3
4
5
6
7
8
struct pacient
{
string fio;
string addres;
string doctor;
string diagnos;
datetime date;
}zveno[size];
1
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
26.09.2014, 00:37
Лучший ответ Сообщение было отмечено Dragoon как решение

Решение

Fene4ka_,
Вы вообще пробовали компилировать?

Dragoon,
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
    public class Program
    {
        public static void Main(string[] args)
        {
            List<Pacient> pacients = new List<Pacient>();
        }
    }
 
    internal struct Pacient
    {
        public Pacient(string addres, DateTime date, string diagnos, string doctor, string fio) : this()
        {
            Addres = addres;
            Date = date;
            Diagnos = diagnos;
            Doctor = doctor;
            Fio = fio;
        }
 
        public string Addres { get; set; }
 
        public DateTime Date { get; set; }
 
        public string Diagnos { get; set; }
 
        public string Doctor { get; set; }
 
        public string Fio { get; set; }
    }
1
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
26.09.2014, 02:12
XRoy, я же схематично написал

Добавлено через 40 секунд
XRoy, между прочем мой вариант тоже рабочий
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
26.09.2014, 11:03
Fene4ka_, может, вы случайно создали проект с++? Более того ваш вариант - не то же самое что и у автора: у вас нету ссылки на следующий элемент.
Если быть строгим, то List<T> - это не связанный список. уж лучше тогда LinkedList<T> использовать.
1
1 / 1 / 0
Регистрация: 26.11.2012
Сообщений: 26
27.09.2014, 20:46  [ТС]
XRoy, Fene4ka_, большое спасибо за помощь. Сейчас буду пробовать
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.09.2014, 23:04
...к сожалению, ни один из представленных вариантов не является верным в плане размерности данных и уж тем более эквивалентным записи record в Delphi, что приведет к ошибках чтения данных при их выборке, к примеру. Тип string c указанием [ ] размерности массива эквивалентен записи массива char (или byte) заданной размерности.

Например мне видится это так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
typedef char eChar;
 
typedef struct tagzveno
{
    public eChar FIO[25];
    public eChar Date[10];
    public eChar Address[25];
    public eChar Doctor[25];
    public eChar Diagnos[25];
 
    public ukazatel next; {cие наобум}
} zveno;
Поскольку я вообще не работаю в Си-шарпе, то мне не совсем понятно как закольцевать ссылку на указатель структуры в самой структуре, но уверен более знающие товарищи меня поправят.
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
27.09.2014, 23:34
raxp,
А никак вы не закольцуете структуру, это значимый тип, тут надо использовать класс.

Если уж соответствовать тому как написано на Делфи, то максимально приближенно будет нечто такое
C#
1
2
3
4
5
6
7
8
9
10
    class Zveno
    {
        public byte[] FIO = new byte[25];
        public byte[] Date = new byte[10];
        public byte[] Address = new byte[25];
        public byte[] Doctor = new byte[25];
        public byte[] Diagnos = new byte[25];
        
        public Zveno next;
    }
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.09.2014, 23:48
...тут смысл в том, что структуры не просто так создаются. Чаще всего для удобства работы с данными для записи-чтения одним махом, поэтому размерность всей структуры надо соблюсти строго.

Возможно и не требуется, но поскольку TC вырвал кусок из общего контекста, лучше соблюсти.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2014, 23:48
Помогаю со студенческими работами здесь

Перевести код с Delphi на C#
Нашёл в интернете интересный проект, но он написан на Дельфи. Долго искал и всё-таки нашёл конвертер кода Вот описание программы от её...

Перевести код с Delphi в C#
Доброе всем! Помогите записать этот код с делфи на с # Edit4.Text:=InttoHex(strtoint(a1)+Strtoint(a2)+ Strtoint(a3),0);

Перевести код с Delphi на C#
while i&lt;=length(a) do begin case a of '0'..'9': begin s:=s+a; i:=i+1; ...

Перевести код кодировки с Delphi
Здравствуйте. Вот код кодировки написанный на delphi Function Cript(Source:WideString):WideString; var i:Integer; hashTab:array...

Как перевести код с delphi на С#?
В общем у меня есть 2 кода программ написанных на delphi. Мне нужны полностью работающие эти программы, но на С#.... Помогите!) type ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru