WRITELINETOFILE

Материал из Фабиус wiki
Версия от 07:50, 4 сентября 2018; Hisava (обсуждение | вклад) (Текст программы)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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