WRITELINETOFILE
Материал из Фабиус wiki
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 )