Re[2]: как узнать завтрашнюю дату, или Путь в Вечность
От: neiroman Украина  
Дата: 15.08.06 10:04
Оценка:
Нарыл в инете такое :
procedure TfNastr.FormCreate(Sender: TObject);
begin  try  if fDmNadz.takod_progr.Active=False then
fDmNadz.takod_progr.Active:=True;  except
 begin    ShowMessage(OnErrorMessage);    Close;   end;  end;
end;

procedure TfNastr.btnOdbClick(Sender: TObject);
var i,j:Integer;filNam,filNam1:String;F:TextFile;rrr:Boolean;
    NameOld,NameNew,Izm:String;
begin try i:=fdmNadz.taKod_ProgrKOL_INS.Value; fUdos.DBGrid_Udos.DataSource:=nil;
fUdos.DBGrid_UdosA.DataSource:=nil; fUdos.DBGrid_OUd.DataSource:=nil;
fUdos.DBGrid_OudA.DataSource:=nil;
fUdos.taUd_f.Active:=False; fUdos.taUd_Af.Active:=False;
fUdos.taUdos.Active:=False; fUdos.taUdos_A.Active:=False;
fUdos.taGur_Udos.Active:=False; fUdos.taOUdos.Active:=False;
fUdos.taOUdos_A.Active:=False;  if FileExists('c:\nadzor\ondz.gdb') then
begin   with  Qobl_del do
 begin    SQL.Clear;    SQL.Add('Delete From udos');
  ExecSQL;    SQL.Clear;
  SQL.Add('Delete From UDOS_A');
  ExecSQL;
  end;// with
end // if exis
 else
 begin
  ShowMessage('Создание БД области прекращено.Отсутствует файл ONDZ.GDB');
 Exit;
 // тут надо или завершить приложение или все восстановить сетки табл
 end; // not FileExist

// тут новый виток
begin
// ShowMessage('Начинаем переименованиие ');
 j:=1;
  NameNew:='c:\nadzor\ndz.gdb';
 //NameNew:='ndz.gdb';
// Добавим все записи
 while j<i+1 do
 begin
 Izm:=IntToStr(j);
 NameOld:='c:\nadzor\'+Izm+'ndz.gdb';
 if FileExists(NameOld) then
  begin
  // 3-  переименовать 1NDZ.GDB в NDZ.GDB
 if fdmNadz.DbNadzor.Connected then fdmNadz.DbNadzor.Close;
 fdmNadz.DbNadzor.Connected:=False;
   DeleteFile(NameNew);
  AssignFile(F,NameOld);
 Rename(F,NameNew);
 fdmNadz.DbNadzor.Connected:=True;
 fdmNadz.DbNadzor.Open;
         // SQL.Add('Insert INTO ": ODB: UDOS" select * from ": NADZOR: UDOS"');
      fUdos.Move_Ud.Execute;  // run the batchmove
      fUdos.Move_UdA.Execute;
      J:=J+1;
 end      // if
else  J:=J+1;
 end;// while
end;//
// новый 3 виток
begin
ShowMessage('Выполнено слияние '+IntToStr(j)+' - БД');
// восстановим табл
fUdos.taUd_f.Active:=True;
fUdos.taUd_Af.Active:=True;
fUdos.taGur_Udos.Active:=True;
fUdos.taUdos.Active:=True;
fUdos.taUdos_A.Active:=True;
fUdos.taOUdos.Active:=True;
fUdos.taOUdos_A.Active:=True;
// восстановим сетки
fUdos.DBGrid_Udos.DataSource:=fUdos.dsUdos;
fUdos.DBGrid_UdosA.DataSource:=fUdos.dsOUdos_A;
fUdos.DBGrid_OUd.DataSource:=fUdos.dsOUdos;
fUdos.DBGrid_OudA.DataSource:=fUdos.dsOUdos_A;
//fUdos.DBGrid_Gur.DataSource:=fUdos.dsGur_Udos;
end;
except
  MessageDlg('Ошибка!! при слиянии БД!',mtWarning,[mbOk],0);
end; // try
end; // вся процедура -конец

форматирование не менял
icq# 348-436-436 Играет silent
Слова, пустые слова, подумал Стормгрен. Слова, за которые прежде люди дрались и умирали, но никогда больше не станут за них ни умирать, ни драться. И от этого мир станет лучше.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.