WRITELINETOFILE — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Пример) |
Hisava (обсуждение | вклад) м (→Текст программы) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | [[WRITELINETOFILE]] - это программа из справочника [[R266]] | |
− | + | Запись строки в файл | |
− | WRITELINETOFILE( str_line, name, path [, no_msg := true] ) | + | [[WRITELINETOFILE]]( str_line, name, path [, no_msg := true] ) |
− | + | ||
− | + | ||
str_line - строка | str_line - строка | ||
Строка 25: | Строка 23: | ||
// выбор уровня | // выбор уровня | ||
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 )