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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2009, 08:34   #1
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию загрузка БД в Delphi

Всем доброго времени суток. Столкнулся с проблемой, надеюсь на вашу помощь... Главная форма моего проекта защищена паролем (File->New->Ower->Dialogs->Password Dialog).На главной форме расположена таблица базы данных. Загрузка файла происходит так (в Project->View Sourse):
Код:
  with Session do begin
    ConfigMode:=cmSession;
    AddStandardAlias('dialy',ExtractFilePath(ParamStr(0)),'PARADOX');
    end;
    Present:=Now;
    DecodeDate(Present,Year,Month,Day);
    case DayOfWeek(Present) of
      6: NextDay:=IncDay(Present,3);
      7: NextDay := IncDay(Present,2);
        else NextDay:=IncDay(Present,1)
    end;
    Organizer.Query.SQL[3]:='(Data>='''+FormatDateTime('dd/mm/yyyy',Present)+''')'
      +'and'+'(Data<='''+ FormatDateTime('dd/mm/yyyy',NextDay)+''')';
    try
      Organizer.Query.Open;
    except
      on E:EDBEngineError do begin
        MessageDlg('Файл таблицы базы данных не найден .'+#13
          +'Таблица будет создана.',mtWarning,[mbYes],0);
        Query:=TQuery.Create(Organizer);
        with Query do begin
          SQL.Add('CREATE TABLE dialy (');
          SQL.Add('What CHAR(80),');
          SQL.Add('Data DATE);');
          ExecSQL;
        end;
      Organizer.Query.Open;
      end;
    end;
    if Organizer.Query.RecordCount<>0 then
      Organizer.DataSource.DataSet:=Organizer.Query else begin
        Organizer.DataSource.DataSet:=Organizer.Table;
        Organizer.Table.Open;
        ShowMessage('На сегодня и ближайшие дни'
          +' ни каких дел не запланировано.');
      end;
  Application.Run;
Мне нужно сделать, чтоб загрузка БД происходила после проверки пароля... Какую строчку нужно добавить?!?!
TaYgA вне форума Ответить с цитированием
Старый 03.11.2009, 11:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Главная форма моего проекта защищена паролем
Ну а где и когда ты этот пароль просишь ввести?
По хорошему это нужно делать отдельно либо создавая форму пароля в dpr (т.е. прям перед твоим кодом) причем показывать ее рекомендую через ShowModal, и анализировать что она вернет, в зависимости этого продолжать далее либо выйти по exit.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.11.2009, 19:52   #3
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

Чтоб было понятней выкладываю мой упрощённый проект (пароль к проекту '123') В проекте используются компоненты BussionsSkinForm
Вложения
Тип файла: zip БД.zip (762.4 Кб, 6 просмотров)
TaYgA вне форума Ответить с цитированием
Старый 07.11.2009, 14:16   #4
TaYgA
Форумчанин
 
Аватар для TaYgA
 
Регистрация: 24.09.2009
Сообщений: 264
По умолчанию

Вынужден вернуться к этой теме. Не могу исправить данную ошибку уже не первую неделю Есть мысль, чтоб БД загружалась при нажатии на кнопку... Пытался реализовать так:
Код:
  if Form1.Button1.ButtonClick then
  with Session do begin
    ConfigMode:=cmSession;
    AddStandardAlias('dialy',ExtractFilePath(ParamStr(0)),'PARADOX');
    end;
    Present:=Now;
    DecodeDate(Present,Year,Month,Day);
    case DayOfWeek(Present) of
      6: NextDay:=IncDay(Present,3);
      7: NextDay := IncDay(Present,2);
        else NextDay:=IncDay(Present,1)
    end;
    Form1.Query.SQL[3]:='(Data>='''+FormatDateTime('dd/mm/yyyy',Present)+''')'
      +'and'+'(Data<='''+ FormatDateTime('dd/mm/yyyy',NextDay)+''')';
    try
      Organizer.Query.Open;
    except
      on E:EDBEngineError do begin
        MessageDlg('Файл таблицы базы данных не найден .'+#13
          +'Таблица будет создана.',mtWarning,[mbYes],0);
        Query:=TQuery.Create(Organizer);
        with Query do begin
          SQL.Add('CREATE TABLE dialy (');
          SQL.Add('What CHAR(80),');
          SQL.Add('Data DATE);');
          ExecSQL;
        end;
      Form1.Query.Open;
      end;
    end;
    if Form1.Query.RecordCount<>0 then
      Form1.DataSource.DataSet:=Organizer.Query else begin
        Form1.DataSource.DataSet:=Organizer.Table;
        Form1.Table.Open;
        ShowMessage('На сегодня и ближайшие дни'
          +' ни каких дел не запланировано.');
      end;
В этом случаи возникает ошибка:
Цитата:
[Error] Universal_Organizer.dpr(43): Type of expression must be BOOLEAN
как её исправить?!?!
TaYgA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка и правельная загрузка иконки exe файла в Delphi TaYgA Помощь студентам 0 30.10.2009 20:51
Run-time загрузка таблиц MS SQL Server в DBGrid Delphi 7 Ketra БД в Delphi 3 21.08.2009 16:31
Delphi. Сохранение и загрузка информации из StringGrid Котакот Помощь студентам 2 16.04.2009 16:19
загрузка таблиц excel в delphi Ромыч Помощь студентам 8 11.03.2008 19:17
Загрузка UnD)eaD)Snake Общие вопросы Delphi 10 19.08.2007 11:24