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

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Пример)
м (Текст программы)
 
(не показано 6 промежуточных версий этого же участника)
Строка 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 - строка
Строка 24: Строка 22:
 
    
 
    
 
   // выбор уровня
 
   // выбор уровня
   r166_lvl := ChoiceRefr( 'R166', 'LVLNUM', { 'LVLNUM', 'PNAME' }, [ KINDDOC = '] + r169_kod + [' ], ~Title := 'Выберите уровень' )
+
   r166_lvl := [[ChoiceRefr]]( 'R166', 'LVLNUM', { 'LVLNUM', 'PNAME' }, [ KINDDOC = '] + r169_kod + [' ], ~Title := 'Выберите уровень' )
   if Empty( r166_lvl )
+
   if [[Empty]]( r166_lvl )
 
     return
 
     return
 
   endif
 
   endif
Строка 31: Строка 29:
 
   file_name := r169_kod + r166_lvl + '.txt'
 
   file_name := r169_kod + r166_lvl + '.txt'
 
    
 
    
   WriteLineToFile( '{| class = "wikitable"', file_name, TempPath )
+
   '''WriteLineToFile'''( '{| class = "wikitable"', file_name, TempPath )
   WriteLineToFile( '|-', file_name, TempPath )
+
   '''WriteLineToFile'''( '|-', file_name, TempPath )
   WriteLineToFile( '! Идентификатор реквизита || Наименование ', file_name, TempPath )
+
   '''WriteLineToFile'''( '! Идентификатор реквизита || Наименование ', file_name, TempPath )
 
    
 
    
 
   fld := { 'IDENT', 'PNAME' }
 
   fld := { 'IDENT', 'PNAME' }
 
    
 
    
 
   sql := [ Select IDENT, PNAME From R165 Where KINDDOC = '] + r169_kod + [' and LVLNUM = '] + r166_lvl + [' Order by IDENT ]
 
   sql := [ Select IDENT, PNAME From R165 Where KINDDOC = '] + r169_kod + [' and LVLNUM = '] + r166_lvl + [' Order by IDENT ]
   aa := SqlToArr( sql, fld, ReflisPath )
+
   aa := [[SqlToArr]]( sql, fld, ReflisPath )
 
    
 
    
   if !IsEmpty( aa )
+
   if ![[IsEmpty]]( aa )
 
     for i := 1 to len( aa )
 
     for i := 1 to len( aa )
       WriteLineToFile( '|-', file_name, TempPath )
+
       '''WriteLineToFile'''( '|-', file_name, TempPath )
       WriteLineToFile( '|' + aa[i,1] + ' || ' + StrTran( StrTran( aa[i,2], ';', ' ' ), '|', '' ), file_name, TempPath )
+
       '''WriteLineToFile'''( '|' + aa[i,1] + ' || ' + StrTran( StrTran( aa[i,2], ';', ' ' ), '|', '' ), file_name, TempPath )
 
     next
 
     next
 
   endif
 
   endif
 
    
 
    
 
   aa := '|}'
 
   aa := '|}'
   WriteLineToFile( aa, file_name, TempPath, false )
+
   '''WriteLineToFile'''( aa, file_name, TempPath, false )
  
= Текст программы =
+
= Текст =
  
 
  parameters str_line, name, path, no_msg := true
 
  parameters str_line, name, path, no_msg := true
Строка 93: Строка 91:
  
 
= Смотрите также =
 
= Смотрите также =
 +
[[Полезные функции]]
  
 
[[Функции Delphi]]
 
[[Функции 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