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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.06.2009, 22:45
plinth plinth вне форума
Прохожий
 
Регистрация: 13.06.2009
Сообщения: 4
Репутация: 10
По умолчанию Помогите преобразовать из Pascal в Delphi

Сестренке сдавать надо в обеих программах.
А мы Дельфи в юности и не учили.
На паскале набросал, на дельфи не получается
Там должно быть все просто: на форме три кнопки и к кнопкам соответственно события.

Код:
program Ticket;
uses crt;

type
rec=record
day:string;
town:string;
num:integer;
end;

var
i,j,n,max,maxn,md,maxd:integer;
maxt:string;
records:array[1..100] of rec;
f:text;

procedure readfile;{Чтение из файла}
begin
assign(f,'c:\dbf1.txt');
reset(f);
n:=0;

while not eof(f) do
begin
 inc(n);
 readln(f,records[n].day);
 readln(f,records[n].town);
 readln(f,records[n].num);
end;
close(f);
end;

procedure writefile;{Запись в файл}
begin
clrscr;
readfile;
assign(f,'c:\dbf1.txt');
append(f);
writeln('Введите день:');
readln(records[n+1].day);
writeln('Введите гоод:');
readln(records[n+1].town);
writeln('Введите кол-во билетов:');
readln(records[n+1].num);
 writeln(f,records[n+1].day);
 writeln(f,records[n+1].town);
 writeln(f,records[n+1].num);
close(f);
writeln('Для продолжения нажмите Enter');
readln;
end;

procedure viewfile;{Просмотр файла}
begin
clrscr;
readfile;
writeln('День   Город   Билетов');
max:=0;
md:=0;
for i:=1 to n do
begin
maxn:=records[i].num;
maxt:=records[i].day;
maxd:=i;
writeln(records[i].day:2,' ',records[i].town:10,'  ',records[i].num);
 for j:=i+1 to n do
	if records[j].day=maxt then
	maxn:=maxn+records[j].num;
	if maxn>max then begin
	max:=maxn;
	md:=maxd;
end;
end;
writeln('Наибольшее кол-во билетов ',max,' продано в ',records[md].day,' день');

max:=0;
md:=0;
for i:=1 to n do
begin
maxn:=records[i].num;
maxt:=records[i].town;
maxd:=i;
 for j:=i+1 to n do
	if records[j].town=maxt then
	maxn:=maxn+records[j].num;
	if maxn>max then begin
	max:=maxn;
	md:=maxd;
end;
end;
writeln('Наибольшее кол-во билетов ',max,' продано в город ',records[md].town);
writeln('Для продолжения нажмите Enter');
readln;
end;

{Главный моуль}
begin
clrscr;
repeat
writeln('Нажмите');
writeln('1: для записи в файл');
writeln('2: для просмотра файла');
writeln('3: для выхода из программы');
readln(i);
case (ord(i)) of
 1: writefile;
 2: viewfile;
 3: exit;
end;
until i=3;
end.

Заранее спасибо!
PS Кодить нужно именно с записями и читать из файла, а не с массивами.
Ответить с цитированием
  #2  
Старый 15.06.2009, 23:31
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

тема еще актуальна
Ответить с цитированием
  #3  
Старый 15.06.2009, 23:43
plinth plinth вне форума
Прохожий
 
Регистрация: 13.06.2009
Сообщения: 4
Репутация: 10
По умолчанию

желательно, я конечно её запустил в консоли приписав {$APPTYPE CONSOLE} и убрав clrscr; и переписав диалоги латинскими буквами
Ответить с цитированием
  #4  
Старый 16.06.2009, 15:43
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

персональное сообщение посмотри
Ответить с цитированием
  #5  
Старый 16.06.2009, 16:39
plinth plinth вне форума
Прохожий
 
Регистрация: 13.06.2009
Сообщения: 4
Репутация: 10
По умолчанию

Спасибо большое, pesi! Думаю ей пойдёт на зачёт
Ответить с цитированием
  #6  
Старый 16.06.2009, 16:52
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

Помоему, подобная тема является нарушением правил, также как и темы вида:
Цитата:
1: Помгите, нужно сделать программу для ....
2: Все, уже решил.
потому, что не несут никакой информации (всмысле решения).
Нужно не в личку кидать.
Ответить с цитированием
  #7  
Старый 16.06.2009, 23:19
plinth plinth вне форума
Прохожий
 
Регистрация: 13.06.2009
Сообщения: 4
Репутация: 10
По умолчанию

Погоди хоть сдадим задачку преподавателю, а то подумает что списали
И надо бы разрешения автора на выкладывание его кода спросить?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025