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

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «WrieLineToFile - это программа из справочника R266 WRITELINETOFILE( str_line, name, path [, no_msg := true] ) Запись ст…»)
 
м (Текст программы)
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
WrieLineToFile - это программа из справочника [[R266]]
+
[[WRITELINETOFILE]] - это программа из справочника [[R266]]
 
+
Запись строки в файл
WRITELINETOFILE( str_line,  name,  path  [, no_msg := true] )
+
[[WRITELINETOFILE]]( str_line,  name,  path  [, no_msg := true] )
 
+
Запись строки в файл
+
  
 
str_line - строка
 
str_line - строка
Строка 13: Строка 11:
 
no_msg - не надо выводить сообщения ( по умолчанию, no_msg = true, т.е. сообщения не нужны )
 
no_msg - не надо выводить сообщения ( по умолчанию, no_msg = true, т.е. сообщения не нужны )
  
= Текст программы =
+
= Пример =
  
parameters str_line, name, path, no_msg := true
+
  local aa, sql, i, ii, file_name, fld, r169_kod, r166_lvl
 +
 
 +
  // выбор документа
 +
  r169_kod := [[ChoiceRefr]]( 'R169', 'KOD', { 'KOD', 'PNAME' }, ~Title := 'Выберите один документ' )
 +
  if [[Empty]]( r169_kod )
 +
    return
 +
  endif
 +
 
 +
  // выбор уровня
 +
  r166_lvl := [[ChoiceRefr]]( 'R166', 'LVLNUM', { 'LVLNUM', 'PNAME' }, [ KINDDOC = '] + r169_kod + [' ], ~Title := 'Выберите уровень' )
 +
  if [[Empty]]( r166_lvl )
 +
    return
 +
  endif
 +
 
 +
  file_name := r169_kod + r166_lvl + '.txt'
 +
 
 +
  '''WriteLineToFile'''( '{| class = "wikitable"', file_name, TempPath )
 +
  '''WriteLineToFile'''( '|-', file_name, TempPath )
 +
  '''WriteLineToFile'''( '! Идентификатор реквизита || Наименование ', file_name, TempPath )
 +
 
 +
  fld := { 'IDENT', 'PNAME' }
 +
 
 +
  sql := [ Select IDENT, PNAME From R165 Where KINDDOC = '] + r169_kod + [' and LVLNUM = '] + r166_lvl + [' Order by IDENT ]
 +
  aa := [[SqlToArr]]( sql, fld, ReflisPath )
 +
 
 +
  if ![[IsEmpty]]( aa )
 +
    for i := 1 to len( aa )
 +
      '''WriteLineToFile'''( '|-', file_name, TempPath )
 +
      '''WriteLineToFile'''( '|' + aa[i,1] + ' || ' + StrTran( StrTran( aa[i,2], ';', ' ' ), '|', '' ), file_name, TempPath )
 +
    next
 +
  endif
 +
 
 +
  aa := '|}'
 +
  '''WriteLineToFile'''( aa, file_name, TempPath, false )
 +
 
 +
= Текст =
 +
 
 +
parameters str_line, name, path, no_msg := true
 
   
 
   
 
  local aa, _file
 
  local aa, _file
 
   
 
   
  if Empty( path )
+
  if [[Empty]]( path )
 
   path := 'c:\script\'
 
   path := 'c:\script\'
 
   path := TempPath
 
   path := TempPath
 
  endif
 
  endif
 
   
 
   
  path := Nice_path( path )
+
  path := [[Nice_path]]( path )
 
   
 
   
  if Empty( name )
+
  if [[Empty]]( name )
 
   name := 'test.ps1'
 
   name := 'test.ps1'
 
  endif
 
  endif
 
   
 
   
  if !File( ExpandUncFileName( path + name ) )
+
  if !File( [[ExpandUncFileName]]( path + name ) )
   WriteTxtFile( {}, name, path, true )
+
   [[WriteTxtFile]]( {}, name, path, true )
 
  endif
 
  endif
 
   
 
   
Строка 37: Строка 72:
 
   
 
   
 
  try
 
  try
   _file := AssignFile( path + name )
+
   _file := [[AssignFile]]( path + name )
   if Empty( _file )
+
   if [[Empty]]( _file )
 
     return
 
     return
 
   endif
 
   endif
   TextReset( _file )
+
   [[TextReset]]( _file )
   while !TextEof( _file )
+
   while ![[TextEof]]( _file )
     Aadd( aa, ReadLn( _file ) )
+
     [[Aadd]]( aa, ReadLn( _file ) )
 
   end
 
   end
 
  finally
 
  finally
   if !Empty( _file )
+
   if ![[Empty]]( _file )
     CloseFile( _file )
+
     [[CloseFile]]( _file )
 
   endif
 
   endif
 
  end
 
  end
 
   
 
   
  Aadd( aa, str_line )
+
  [[Aadd]]( aa, str_line )
 
   
 
   
  WriteTxtFile( aa, name, path, no_msg )
+
  [[WriteTxtFile]]( aa, name, path, no_msg )
 +
 
 +
= Смотрите также =
 +
[[Полезные функции]]
 +
 
 +
[[Функции Delphi]]

Текущая версия на 07:50, 4 сентября 2018

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

Запись строки в файл

WRITELINETOFILE( str_line, name, path [, no_msg := true] )

str_line - строка

name - имя файла

path - путь к файлу

no_msg - не надо выводить сообщения ( по умолчанию, no_msg = true, т.е. сообщения не нужны )

Пример

 local aa, sql, i, ii, file_name, fld, r169_kod, r166_lvl
 
 // выбор документа
 r169_kod := ChoiceRefr( 'R169', 'KOD', { 'KOD', 'PNAME' }, ~Title := 'Выберите один документ' )
 if Empty( r169_kod )
   return
 endif
 
 // выбор уровня
 r166_lvl := ChoiceRefr( 'R166', 'LVLNUM', { 'LVLNUM', 'PNAME' }, [ KINDDOC = '] + r169_kod + [' ], ~Title := 'Выберите уровень' )
 if Empty( r166_lvl )
   return
 endif
 
 file_name := r169_kod + r166_lvl + '.txt'
 
 WriteLineToFile( '{| class = "wikitable"', file_name, TempPath )
 WriteLineToFile( '|-', file_name, TempPath )
 WriteLineToFile( '! Идентификатор реквизита || Наименование ', file_name, TempPath )
 
 fld := { 'IDENT', 'PNAME' }
 
 sql := [ Select IDENT, PNAME From R165 Where KINDDOC = '] + r169_kod + [' and LVLNUM = '] + r166_lvl + [' Order by IDENT ]
 aa := SqlToArr( sql, fld, ReflisPath )
 
 if !IsEmpty( aa )
   for i := 1 to len( aa )
     WriteLineToFile( '|-', file_name, TempPath )
     WriteLineToFile( '|' + aa[i,1] + ' || ' + StrTran( StrTran( aa[i,2], ';', ' ' ), '|',  ), file_name, TempPath )
   next
 endif
 
 aa := '|}'
 WriteLineToFile( aa, file_name, TempPath, false )

Текст

parameters str_line, name, path, no_msg := true

local aa, _file

if Empty( path )
  path := 'c:\script\'
  path := TempPath
endif

path := Nice_path( path )

if Empty( name )
  name := 'test.ps1'
endif

if !File( ExpandUncFileName( path + name ) )
  WriteTxtFile( {}, name, path, true )
endif

aa := {}

try
  _file := AssignFile( path + name )
  if Empty( _file )
    return
  endif
  TextReset( _file )
  while !TextEof( _file )
    Aadd( aa, ReadLn( _file ) )
  end
finally
  if !Empty( _file )
    CloseFile( _file )
  endif
end

Aadd( aa, str_line )

WriteTxtFile( aa, name, path, no_msg )

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

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

Функции Delphi