VIDEO 2 — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м
м
 
(не показано 15 промежуточных версий этого же участника)
Строка 1: Строка 1:
VIDEO_2 - это программа из справочника [[R266]]
+
[[VIDEO_2]] - это программа из справочника [[R266]]
 +
Скопировать файл 0001гггг.DBF из \\DESKTOP-U722OCJ\Base в TempPath
 +
= Текст =
 +
local year, myarch, temp_path, fld, _, file_name, sql, tbl, key, ip
 +
 +
ip := [[InputPeriod]]( true )
 +
if [[Empty]]( ip )
 +
  return
 +
endif
 +
 +
year := Year( [[Date]]() )
 +
file_name := "0001" + year + ".dbf"
 +
temp_path := [[Nice_Path]]( [[ExpandUNCFileName]]( TempPath ) )
 +
myarch := temp_path + 'myarch'
 +
 +
[[RunProcess]]( [winrar a -dh -ep ] + myarch + [ \\DESKTOP-U722OCJ\Base\] + file_name )
 +
[[RunProcess]]( [winrar x -y ] + myarch + [ ] + temp_path )
 +
 +
fld := ' _1,D,4; _2,C,5; _3,N,6'
 +
try
 +
  _ := [[CreateTmpFile]]( fld, '_', ~IsFreeDel := true )
 +
 +
  sql := [ Select "DATE", "TIME", "COUNT" From "] + file_name + [" Where DATE between '] + [[SqlDate]]( ip[1] ) + [' and '] + [[SqlDate]]( ip[2] )+ [' ]
 +
  [[SimpleSql]]( [ Insert into ] + [[TmpFilePath]]( _ ) + [( _1, _2, _3 ) ] + sql, temp_path )
 +
 +
  ( _ )->( [[DbGoTop]]() )
 +
 +
  tbl := { { 'Title', 'Видеосчетчик' }, { 'ShowType', 2 } }
 +
  fld := { ;
 +
    { { 'FldName', '_1' }, { 'FldTitl', 'Дата', 'PreBlk', false } }, ;
 +
    { { 'FldName', '_2' }, { 'FldTitl', 'Время', 'PreBlk', false } }, ;
 +
    { { 'FldName', '_3' }, { 'FldTitl', 'Количество', 'PreBlk', false } } ;
 +
  }
 +
  key := { { { 'KeyName', 'F6' } }, { { 'KeyName', 'F8' } } }
 +
 +
  [[MyGrid]]( _, tbl, fld, key, ~Modal := true )
 +
 +
finally
 +
  [[CloseTable]]( _ )
 +
end
 +
 +
// _1 - дата
 +
// _2 - время
 +
// _3 - количество
 +
 +
// Скопировать файл 0001гггг.DBF из \\DESKTOP-U722OCJ\Base в TempPath
 +
= Смотрите также =
 +
[[Полезные функции]]
  
= Смотрите также =
 
 
[[Функции Delphi]]
 
[[Функции Delphi]]
 
[[Полезные функции]]
 

Текущая версия на 10:22, 21 июля 2017

VIDEO_2 - это программа из справочника R266

Скопировать файл 0001гггг.DBF из \\DESKTOP-U722OCJ\Base в TempPath

Текст

local year, myarch, temp_path, fld, _, file_name, sql, tbl, key, ip

ip := InputPeriod( true )
if Empty( ip )
  return
endif

year := Year( Date() )
file_name := "0001" + year + ".dbf"
temp_path := Nice_Path( ExpandUNCFileName( TempPath ) )
myarch := temp_path + 'myarch'

RunProcess( [winrar a -dh -ep ] + myarch + [ \\DESKTOP-U722OCJ\Base\] + file_name )
RunProcess( [winrar x -y ] + myarch + [ ] + temp_path )

fld := ' _1,D,4; _2,C,5; _3,N,6'
try
  _ := CreateTmpFile( fld, '_', ~IsFreeDel := true )

  sql := [ Select "DATE", "TIME", "COUNT" From "] + file_name + [" Where DATE between '] + SqlDate( ip[1] ) + [' and '] + SqlDate( ip[2] )+ [' ]
  SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _2, _3 ) ] + sql, temp_path )

  ( _ )->( DbGoTop() )

  tbl := { { 'Title', 'Видеосчетчик' }, { 'ShowType', 2 } }
  fld := { ;
    { { 'FldName', '_1' }, { 'FldTitl', 'Дата', 'PreBlk', false } }, ;
    { { 'FldName', '_2' }, { 'FldTitl', 'Время', 'PreBlk', false } }, ;
    { { 'FldName', '_3' }, { 'FldTitl', 'Количество', 'PreBlk', false } } ;
  }
  key := { { { 'KeyName', 'F6' } }, { { 'KeyName', 'F8' } } }

  MyGrid( _, tbl, fld, key, ~Modal := true )

finally
  CloseTable( _ )
end

// _1 - дата
// _2 - время
// _3 - количество

// Скопировать файл 0001гггг.DBF из \\DESKTOP-U722OCJ\Base в TempPath

Смотрите также

Полезные функции

Функции Delphi