Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2011, 23:19   #1
Konctantin
 
Регистрация: 10.10.2011
Сообщений: 3
Сообщение задача - создать типизированный файл и обработать его на Delphi

уважаемые программисты и пользователи форума
хотелось бы вашего совета и помощи по решению данной задачи
за ранее спасибо.
==1. Создать файл, содержащий сведения о сданной в ремонт радиоаппаратуре. Структура записи: наименование группы изделий(телевизор, радиоприемник и т. п.),марка изделия, дата приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Количество записей произвольное.
2. Написать программу, которая выводит:
- информацию о состоянии заказов на текущую дату по группам изделий.
- отсортированную в алфавитном порядке информацию о марке изделия по введенной группе Х.
===
предлагаеться исходник.
Вложения
Тип файла: rar Курсовая.rar (238.6 Кб, 13 просмотров)
Konctantin вне форума Ответить с цитированием
Старый 11.10.2011, 08:39   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

У меня бы ты ее не сдал :
а) Нет комментариев
б) Нет описание программы
в) Интерфейсная часть и вычислительная в одной куче
г) Почему у тебя две кнопки ОК? Если твой интерфейс отличается от общепринятых норм, то обязательно использование всплывающих подсказок.
д) Если ты уже научился использовать кнопки с пиктограмками , то почему бы не сменить иконку всего приложения?
е) Поля не отслеживаются, я могу добавить запись с готовностью заказа xghgfjdsgfs и мне за это ничего не будет.
ж) При раскрытии на весь экран - содержимое формы остается прилепленным к верхнему левому углу. Это выглядит действительно как большая Ж. Раз уже таблица неподвижна и фиксирована, то какого фига в ней появляется горизонтальная полоса прокрутки? Прокручивать там особо нечего. Сами колонки таблицы можно менять местами, но нельзя менять их размер.
з) Ну и на десерт диалог печати показывает, но ничего не печатает.
Я не буду вспоминать о кнопке F1, функции поиска данных и больших буквах (а-ля 90-е)...
Вердикт: Fail

Касательно внутреннего мироустройства:
1) Визуальные компоненты обычно используются для отображения (и/или ввода) информации.
2) Есть прекрасный класс TStringList, у тебя практически итак вся структура файла есть строки, кроме первой даты. Сделай нормальный текстовый файл, а не получитабельный. Для этого почитай о файлах CSV. Это проще и наглядней чем стандартный файловый вывод.
3) Правила хорошего тона предусматривают возможность дальнейшего сопровождения программ. Чтобы облегчить себе жизнь в будущем, уже сейчас весьма желательно подчиненные справочники (варианты выбора в Группа изделий и Готовность заказа) также вынести в отдельные файлы.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 11.10.2011 в 08:50.
Utkin вне форума Ответить с цитированием
Старый 12.10.2011, 09:58   #3
Konctantin
 
Регистрация: 10.10.2011
Сообщений: 3
По умолчанию задача

Спасибо за замечания,все исправим.Просто я прислал еще недоделанную версию.. Хотелось бы узнать можно ли этот код применить у меня в задаче.

P r o c e d u r e G r i d S o r t ( S t r G r i d : T S t r i n g G r i d ; N o C o l umn : I n t e g e r ) ; V a r L i n e , P o s A c t u a l : I n t e g e r ; R ow : T S t r i n g s ; b e g i n R e n g l o n : = T S t r i n g L i s t . C r e a t e ; F o r L i n e : = 1 t o S t r G r i d . R owC o u n t - 1 d o B e g i n P o s A c t u a l : = L i n e ; R ow . A s s i g n ( T S t r i n g l i s t ( S t r G r i d . R ows [ P o s A c t u a l ] ) ) ; Wh i l e T r u e d o B e g i n I f ( P o s A c t u a l = 0 ) O r ( S t r T o I n t ( R ow . S t r i n g s [ N o C o l umn - 1 ] ) > = S t r T o I n t ( S t r G r i d . C e l l s [ N o C o l umn - 1 , P o s A c t u a l - 1 ] ) ) t h e n B r e a k ; S t r G r i d . R ows [ P o s A c t u a l ] : = S t r G r i d . R ows [ P o s A c t u a l - 1 ] ; D e c ( P o s A c t u a l ) ; E n d ; I f S t r T o I n t ( R ow . S t r i n g s [ N o C o l umn - 1 ] ) < S t r T o I n t ( S t r G r i d . C e l l s [ N o C o l umn - 1 , P o s A c t u a l ] ) t h e n S t r G r i d . R ows [ P o s A c t u a l ] : = R ow ; E n d ; R e n g l o n . F r e e ; e n d ; ----------------
эта процедура на кнопку или на что то другое.
Konctantin вне форума Ответить с цитированием
Старый 12.10.2011, 11:03   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Это что за КОД?!?!?!?! ((

может так лучше?!!

Код:
ProcedureGridSort(StrGrid: TStringGrid; NoColumn: Integer);
var Line, PosActual: Integer;
  Row: TStrings;
begin
  Renglon := TStringList.Create;
  for Line := 1 to StrGrid.RowCount - 1 do begin
    PosActual := Line;
    Row.Assign(TStringlist(StrGrid.Rows[PosActual]));
    while True do begin
      if (PosActual = 0)
        or (StrToInt(Row.Strings[NoColumn - 1]) >=
        StrToInt(StrGrid.Cells[NoColumn - 1, PosActual - 1])) then Break;
      StrGrid.Rows[PosActual] := StrGrid.Rows[PosActual - 1];
      Dec(PosActual);
    end;
    if StrToInt(Row.Strings[NoColumn - 1]) < StrToInt(StrGrid.Cells[NoColumn - 1, PosActual])
      then StrGrid.Rows[PosActual] := Row;
  end;
  Renglon.Free;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.10.2011, 19:01   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Я тебе уже писал - используй визуальные компоненты только для отображения информации.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить элемент в типизированный файл и его с отсортировать Valja Паскаль, Turbo Pascal, PascalABC.NET 5 09.05.2011 19:21
Создать типизированный файл Asell Помощь студентам 1 26.04.2011 16:45
Как создать типизированный файл? Байконуровец Общие вопросы Delphi 8 26.01.2011 17:25
Как создать типизированный файл Kosya4ok Паскаль, Turbo Pascal, PascalABC.NET 3 16.12.2007 09:29