Кулінарна книга

Розробка програми, яка зможе групувати кулінарні рецепти в категорії, забезпечить запис нових рецептів, видалення будь-якого рецепту (одночасно з бази даних і з диску). Редагування рецепту, його перейменування, переміщення, копіювання до іншої категорії.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 14.03.2013
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

e1.text := sDefname;

m_recName := e1.Text;

x.Free;

end

else

begin

m_recName := m_name;

e1.Text := m_name;

end;

FillCombobox;

FillMemo;

PlaceFormAtCenter(@self);

OnChange;

if length(filename) < 1 then

m_NeedToSave := false

else

m_NeedToSave := true;

ApplyNormColorsOverRGB;

showmodal;

end;

procedure TRecEditorForm.cancelbutClick(Sender: TObject);

begin

close;

end;

procedure TRecEditorForm.e1Enter(Sender: TObject);

begin

e1.Color := m_clCream;

end;

procedure TRecEditorForm.e1Exit(Sender: TObject);

begin

e1.Color := m_cl3DLight;

end;

procedure TRecEditorForm.FillCombobox;

var

db : tdb;

i, rn, m_CID : longint;

m_Name : string;

begin

CB.Clear;

db.InitializeLocal;

db.OpenDatabase(MainForm.m_CatDBFilename, true);

for i := 1 to db.RecordCount do

begin

m_CID := db.DirectReadLong(i, 1);

m_Name := alltrim(db.DirectReadString(i, 2));

cB.Items.AddObject(m_Name, TObject(m_CID));

end;

db.DBClose;

if not m_editMode then

begin

cb.Enabled := true;

CB.ItemIndex := m_cbindex;

end

else

begin

cb.Enabled := false;

cb.ItemIndex := m_cbindex;

end;

end;

procedure TRecEditorForm.FillMemo;

begin

Memo.Clear;

if m_editMode then

begin

m_filename := MainForm.m_DataFolder + along2str(m_ID) + '.rec';

memo.Lines.LoadFromFile(m_filename);

end

else

if length(m_recfilename) > 0 then

Memo.Lines.LoadFromFile(m_recfilename);

end;

procedure TRecEditorForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

CanClose := false;

if OnExit then

CanClose := true;

end;

procedure TRecEditorForm.FormKeyPress(Sender: TObject; var Key: Char);

begin

case key of

#10 : begin

m_isBlocked := true;

OnSave;

end;

#27 : begin

m_isEntered := false;

Close;

end;

end;

end;

procedure TRecEditorForm.FormShow(Sender: TObject);

begin

Memo.SetFocus;

end;

procedure TRecEditorForm.im1Click(Sender: TObject);

begin

OnSave;

end;

procedure TRecEditorForm.im1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

MainForm.imgclick.GetBitmap(10, im1.Picture.Bitmap);

im1.Repaint;

end;

procedure TRecEditorForm.im1MouseEnter(Sender: TObject);

begin

MainForm.imgon.GetBitmap(10, im1.Picture.Bitmap);

im1.Repaint;

end;

procedure TRecEditorForm.im1MouseLeave(Sender: TObject);

begin

MainForm.imgnorm.GetBitmap(10, im1.Picture.Bitmap);

im1.Repaint;

end;

procedure TRecEditorForm.im1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

MainForm.imgnorm.GetBitmap(10, im1.Picture.Bitmap);

im1.Repaint;

end;

procedure TRecEditorForm.Im2Click(Sender: TObject);

begin

close;

end;

procedure TRecEditorForm.Im2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

MainForm.imgclick.GetBitmap(11, im2.Picture.Bitmap);

im2.Repaint;

end;

procedure TRecEditorForm.Im2MouseEnter(Sender: TObject);

begin

MainForm.imgon.GetBitmap(11, im2.Picture.Bitmap);

im2.Repaint;

end;

procedure TRecEditorForm.Im2MouseLeave(Sender: TObject);

begin

MainForm.imgnorm.GetBitmap(11, im2.Picture.Bitmap);

im2.Repaint;

end;

procedure TRecEditorForm.Im2MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

MainForm.imgnorm.GetBitmap(11, im2.Picture.Bitmap);

im2.Repaint;

end;

procedure TRecEditorForm.MemoChange(Sender: TObject);

begin

if m_isBlocked then

begin

m_isBlocked := false;

exit;

end;

OnChange;

m_NeedToSave := true;

end;

procedure TRecEditorForm.MemoEnter(Sender: TObject);

begin

Memo.Color := m_ClCream;

end;

procedure TRecEditorForm.MemoExit(Sender: TObject);

begin

memo.Color := m_Cl3DLight;

end;

procedure TRecEditorForm.OnSave;

var

db : tdb;

i : longint;

rn, newID : longint;

begin

m_Recname := alltrim(e1.text);

db.InitializeLocal;

db.OpenDatabase(mainForm.m_RecDBFilename);

rn := tdb_lib.SeekForString(db, 3, m_RecName, false, true, true);

if (rn > 0) and (length(m_Recname) > 0) and not m_editMode then

begin

askdialog.run('Неможливо зберегти рецепт.'+#13+'Рецепт з такою назвою вже існує!', false, false, true, false);

e1.SetFocus;

db.DBClose;

exit;

end;

if length(m_Recname) < 1 then

begin

askdialog.run('Неможливо зберегти рецепт.'+#13+'Введіть, будь-ласка, назву рецепту!', false, false, true, false);

e1.SetFocus;

db.DBClose;

exit;

end;

if m_editMode then

begin

rn := tdb_lib.SeekForLong(db, 1, m_ID, false);

if rn > 0 then

begin

db.DirectWritestring(rn, 3, m_RecName);

db.DBClose(true);

memo.Lines.SaveToFile(m_filename);

m_isEntered := true;

m_needToSave := false;

close;

end;

end

else

begin

rn := db.RecordCount + 1;

newID := CalcMaxLongValue(db, 1) + 1;

m_catID := longint(cb.Items.Objects[cb.ItemIndex]);

db.DirectWriteLong(rn, 1, newID);

db.DirectWriteLong(rn, 2, m_CatID);

db.DirectWriteString(rn, 3, m_Recname);

m_filename := MainForm.m_DataFolder + along2str(newID)+'.rec';

Memo.Lines.SaveToFile(m_filename);

db.DBClose;

m_isEntered := true;

m_needToSave := false;

close;

end;

end;

function TRecEditorForm.StatusText : string;

var

i, row, col, sym : longint;

begin

sym := 0;

col := length(memo.Lines[memo.Lines.count - 1]);

row := memo.Lines.Count;

for i := 0 to memo.Lines.Count - 1 do

sym := sym + length(memo.Lines[i]);

result := inttostr(row) + ' рядків, ' + inttostr(sym) + ' символів';

end;

procedure TRecEditorForm.OnChange;

begin

StatusBar1.Panels[1].Text := StatusText;

end;

function TRecEditorForm.OnExit : boolean;

begin

if m_NeedToSave then

begin

AskDialog.Run('Текст рецепту не збережений.' +

#13 +'Зберегти текст?', true, true, false, true);

case AskDialog.m_SelectedItem of

1 : OnSave;

2 : begin

m_needToSave := false;

result := true;

m_isEntered := false;

exit;

end;

4 : begin

result := false;

exit;

end;

end;

end;

result := true;

end;

procedure TRecEditorForm.ApplyNormColorsOverRGB;

begin

panel3.Color := RGB(196, 203, 222);

panel2.Color := RGB(196, 203, 222);

m_cl3Dlight := RGB(227, 227, 227);

m_ClCream := RGB(255, 251, 240);

cb.Color := m_cl3Dlight;

Memo.Color := m_cl3Dlight;

e1.Color := m_cl3Dlight;

end;

Размещено на Allbest.ru


Подобные документы

  • Проектування бази даних та інтерфейсу програми. Розробка бази даних за допомогою Firebird 2.5. Контроль коректності вхідних та вихідних даних. Додавання та редагування інформації. Вплив електронно-обчислювальних машин на стан здоров'я користувачів.

    дипломная работа [4,7 M], добавлен 12.10.2015

  • Аналіз предметної області. Розробка бази даних в середовищі Microsoft SQL Server 2008. Можливості інформаційної системи. Установка зв'язків між таблицями. Створення запитів для роботи з даними (введення, видалення, редагування) та пошуку інформації.

    курсовая работа [2,6 M], добавлен 09.05.2016

  • Написання програм для перейменування файлів та копіювання файлів і підкаталогів (аналоги REN, XCOPY). Вибір методу розв'язки задачі та його обґрунтування. Алгоритм та реалізація програми, її системні вимоги. Інструкція для користувача та лістинг.

    курсовая работа [14,7 K], добавлен 08.08.2009

  • Аналіз проектування баз даних та створення програми на тему IC "Туристичні агентства". Розробка простого для розуміння інтерфейсу, огляд реалізації додавання, редагування, видалення, пошуку інформації. Характеристика задач автоматизації і фізичної моделі.

    курсовая работа [4,1 M], добавлен 12.01.2012

  • MS-DOS - перша операційна система. Створення в операційній системі MS-DOS резидентної програми захисту файлів від видалення, її використання в випадках захисту файлів від випадкового видалення. Структура вхідних та вихідних даних, алгоритм рішення задачі.

    курсовая работа [35,5 K], добавлен 16.11.2012

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

    курсовая работа [4,0 M], добавлен 02.12.2014

  • Проектування інтерфейсу програми. Вимоги до продукту. Вхідні дані на розробку автоматизованої системи. Вибір середовища програмування. Розробка структури бази даних. Функціональна та логічна структура програми. Розробка структури таблиць бази даних.

    курсовая работа [43,1 K], добавлен 30.06.2015

  • Основні дії з файлами, які використовують програми. Диски і файли. Особливості використання даних, збережених на диску. Дискова фізична модель бази даних. Управління дисковим простором. Управління буферами даних. Стратегія заміни сторінок у фреймах.

    реферат [19,8 K], добавлен 10.08.2011

  • Методи управління папками в ОС Windows. Особливості створення, копіювання або переміщення через буфер обміну, за допомогою правої кнопки миші, методом перетаскування. Алгоритм перейменування та видалення папки (за допомогою кнопок панелі інструментів).

    презентация [390,9 K], добавлен 29.01.2010

  • Постановка задачі та визначення її функціоналу: записи в файл бази, їх перегляд та редагування, видалення та використання. Формування коду програми з основного коду і процедур, що ведуть облік у базі даних абонентів та оплат за комунальні послуги.

    курсовая работа [237,7 K], добавлен 12.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.