Printing a text file
- Eugene Lutsenko
- Posts: 1649
- Joined: Sat Feb 04, 2012 2:23 am
- Location: Russia, Southern federal district, city of Krasnodar
- Contact:
Printing a text file
I want to print the output in the form of a text file DOS-TXT.
The design of the CLIPPER:
SET PRINTER TO ("Res_naz.txt")
SET DEVICE TO PRINTER
why something does not work
The design of the CLIPPER:
SET PRINTER TO ("Res_naz.txt")
SET DEVICE TO PRINTER
why something does not work
Re: Printing a text file
Eugene.
set device to printer
set printer on
set printer to ("Res_naz.txt")
set console off
...Print commands
Set device to screen
Set printer off
Set printer to
Set console on
This works fine for me..
Pedro
set device to printer
set printer on
set printer to ("Res_naz.txt")
set console off
...Print commands
Set device to screen
Set printer off
Set printer to
Set console on
This works fine for me..
Pedro
Pedro Alexandre
- Eugene Lutsenko
- Posts: 1649
- Joined: Sat Feb 04, 2012 2:23 am
- Location: Russia, Southern federal district, city of Krasnodar
- Contact:
Re: Printing a text file
Thank you, Pedro!
A little out of the way before, but it looks like. Will use.
A little out of the way before, but it looks like. Will use.
- Eugene Lutsenko
- Posts: 1649
- Joined: Sat Feb 04, 2012 2:23 am
- Location: Russia, Southern federal district, city of Krasnodar
- Contact:
Re: Printing a text file
Hi, Pedro!
I have it does not work:
It turns an empty file
I have it does not work:
Code: Select all
FUNCTION Main()
*** Pedro ***************
set device to printer
set printer on
set printer to ("Res_naz.txt")
set console off
@1, 1 SAY "Hello World!"
Set device to screen
Set printer off
Set printer to
Set console on
RETURN nil
Re: Printing a text file
Is Very strange ..
What version of windows?
What version of xbase?
What version of windows?
What version of xbase?
Pedro Alexandre
- Eugene Lutsenko
- Posts: 1649
- Joined: Sat Feb 04, 2012 2:23 am
- Location: Russia, Southern federal district, city of Krasnodar
- Contact:
Re: Printing a text file
W7, 1.9comercial wrote:Is Very strange ..
What version of windows?
What version of xbase?
Re: Printing a text file
Hi,
Instead of
@1, 1 SAY "Hello World!"
try with
? "Hello World!"
Instead of
@1, 1 SAY "Hello World!"
try with
? "Hello World!"
- Eugene Lutsenko
- Posts: 1649
- Joined: Sat Feb 04, 2012 2:23 am
- Location: Russia, Southern federal district, city of Krasnodar
- Contact:
Re: Printing a text file
It happened. But you want to display on the position in the string. I have tried dcsay, but also get an empty fileskiman wrote:Hi,
Instead of
@1, 1 SAY "Hello World!"
try with
? "Hello World!"
Re: Printing a text file
HI,
You can't print on a position in a TXT file. It is a stream of characters, it has no 'canvas' or 'space' where you can print and position your text.
You can print characters and spaces. if you want a new line you must add it yourself with a CRLF.
You can't print on a position in a TXT file. It is a stream of characters, it has no 'canvas' or 'space' where you can print and position your text.
You can print characters and spaces. if you want a new line you must add it yourself with a CRLF.
- Eugene Lutsenko
- Posts: 1649
- Joined: Sat Feb 04, 2012 2:23 am
- Location: Russia, Southern federal district, city of Krasnodar
- Contact:
Re: Printing a text file
Now I understand what to do to get what you need. Replace "SAY" on "?" аnd all.
But here is an example of the old program on CLIIPPER. Line and formed without position entirely.
Everything worked perfectly:
[/size]
But here is an example of the old program on CLIIPPER. Line and formed without position entirely.
Everything worked perfectly:
Code: Select all
N_Klass = RECCOUNT()
N_Field = FCOUNT()
PRIVATE Ar_field[N_Field] // Значения строки: "Сумма по классам:"
AFILL(Ar_field,0) // Сначала 0, чтобы посчитать сумму, а потом делим на N_Klass
DBGOTOP()
DO WHILE .NOT. EOF()
SELECT Klas_res
FOR j=3 TO N_Field
Ar_field[j] = Ar_field[j] + FIELDGET(j)
NEXT
DBSKIP(1)
ENDDO
APPEND BLANK
REPLACE Name WITH "Сумма по классам:"
FOR j=3 TO N_Field
FIELDPUT(j, Ar_field[j])
NEXT
APPEND BLANK
REPLACE Name WITH "Среднее на класс:"
FOR j=3 TO N_Field
FIELDPUT(j, Ar_field[j]/N_Klass)
NEXT
SELECT Rasp_naz
SET ORDER TO 1
DBGOTOP()
M_KodKl_Old = -9999
SET PRINTER TO ("Res_naz.txt")
SET DEVICE TO PRINTER
Str = 0
@Str++, 0 SAY "РЕЗУЛЬТАТЫ НАЗНАЧЕНИЙ ОБЪЕКТОВ РАСПОЗНАВАЕМОЙ ВЫБОРКИ НА КЛАССЫ"
@Str , 0 SAY DATE()
@Str ,10 SAY TIME()
@Str++,63 SAY "г.Краснодар"
Ln = 74
@Str++, 0 SAY REPLICATE("=",Ln)
@Str , 0 SAY "|ХАРАКТЕРИСТИКИ ЭФФЕКТИВНОСТИ НАЗНАЧЕНИЯ:";@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|СУММА ПО ВСЕМ КЛАССАМ:";@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Начальный ресурс: "+ALLTRIM(STR(Ar_field[3],17))+;
", остаток: "+ALLTRIM(STR(Ar_field[4],17));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Суммарное сходство:................................"+ALLTRIM(STR(Ar_field[6],17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Фактические суммарные затраты:....................."+ALLTRIM(STR(Ar_field[7],17)) ;@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Средневзвешенное удельное сходство:................"+ALLTRIM(STR(Ar_field[8],17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Среднее на объект суммарное сходство:.............."+ALLTRIM(STR(Ar_field[9],17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Средние на объект фактические суммарные затраты:..."+ALLTRIM(STR(Ar_field[10],17)) ;@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Всего назначено:..................................."+ALLTRIM(STR(Ar_field[5],17))+" объекта(ов)";@Str++,Ln-1 SAY "|"
@Str++, 0 SAY REPLICATE("~",Ln)
@Str , 0 SAY "|СРЕДНЕЕ НА КЛАСС:";@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Начальный ресурс: "+ALLTRIM(STR(Ar_field[3]/N_Klass,17,3))+;
", остаток: "+ALLTRIM(STR(Ar_field[4]/N_Klass,17,3));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Суммарное сходство:................................"+ALLTRIM(STR(Ar_field[6] /N_Klass,17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Фактические суммарные затраты:....................."+ALLTRIM(STR(Ar_field[7] /N_Klass,17,3));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Средневзвешенное удельное сходство:................"+ALLTRIM(STR(Ar_field[8] /N_Klass,17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Среднее на объект суммарное сходство:.............."+ALLTRIM(STR(Ar_field[9] /N_Klass,17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Средние на объект фактические суммарные затраты:..."+ALLTRIM(STR(Ar_field[10]/N_Klass,17,3));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|В среднем на класс назначено:......................"+ALLTRIM(STR(Ar_field[5] /N_Klass,17,3))+" объекта(ов)";@Str++,Ln-1 SAY "|"
Num_pp = 0
DO WHILE .NOT. EOF()
M_KodObj = Kod_RObj
M_KodKlf = Kod_klas
M_UrSxod = Ur_Sxod
M_Zatr = Zatrati
M_UdSxod = Ud_Sxod
M_KodKln = Klas_naz
** Печать информации по новому классу из БД Klas_res.dbf
IF M_KodKl_Old <> M_KodKln
Num_pp = 0
M_KodKl_Old = Klas_naz
SELECT Klas_res;SET ORDER TO 1;T=DBSEEK(STR(M_KodKln,4))
IF T
M_NameKln = Name
@Str++, 0 SAY REPLICATE("=",Ln)
@Str , 0 SAY "|КЛАСС НАЗНАЧЕНИЯ:";@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Код: "+ALLTRIM(STR(M_KodKln,4))+;
", наименование: "+ALLTRIM(M_NameKln)+;
", начальный ресурс: "+ALLTRIM(STR(Resource,13))+;
", остаток: "+ALLTRIM(STR(Ostatok_res,13));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Суммарное сходство:................................"+ALLTRIM(STR(Sum_UrSxod,17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Фактические суммарные затраты:....................."+ALLTRIM(STR(Sum_Zatrat,17)) ;@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Средневзвешенное удельное сходство:................"+ALLTRIM(STR(Svz_UdSxod,17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Среднее на объект суммарное сходство:.............."+ALLTRIM(STR(Avr_UrSxod,17,7));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Средние на объект фактические суммарные затраты:..."+ALLTRIM(STR(Avr_Zatrat,17,3));@Str++,Ln-1 SAY "|"
@Str , 0 SAY "|Всего на данный класс назначено:..................."+ALLTRIM(STR(Kol_obj,17))+" объекта(ов):";@Str++,Ln-1 SAY "|"
@Str++, 0 SAY REPLICATE("~",Ln)
@Str++, 0 SAY "| Номер | Код | Наименование |Ур-нь сходст| Затраты на |Удельное сход|"
@Str++, 0 SAY "|по пор.|объекта| объекта |об.с классом|назн. объекта|об. с классом|"
* | 12345 | 12345 |123456789012345|1234.6789012|1234567890123|12345.7890123|
@Str++, 0 SAY REPLICATE("~",Ln)
ENDIF
ENDIF
SELECT RObj_zat;SET ORDER TO 1;T=DBSEEK(STR(M_KodObj,5))
IF T
M_NameObj = Name
@Str++, 0 SAY "|"+" "+STR(++Num_pp,5)+" "+;
"|"+" "+STR(M_KodObj,5)+" "+;
"|"+SUBSTR(M_NameObj,1,15)+;
"|"+STR(M_UrSxod,12,7)+;
"|"+STR(M_Zatr,13)+;
"|"+STR(M_UdSxod,13,7)+"|"
ENDIF
SELECT Rasp_naz
DBSKIP(1)
ENDDO
@Str++, 0 SAY REPLICATE("=",Ln)
CLOSE ALL
USE RObj_zat INDEX Kodzrobj EXCLUSIVE NEW
USE RObj_naz INDEX Kodnrobj EXCLUSIVE NEW
Ln = 47
@Str++, 0 SAY REPLICATE("=",Ln)
@Str , 0 SAY "|СПИСОК НЕНАЗНАЧЕННЫХ ОБЪЕКТОВ:";@Str++,Ln-1 SAY "|"
@Str++, 0 SAY REPLICATE("~",Ln)
@Str++, 0 SAY "| Номер | Код | Наименование | Затраты на |"
@Str++, 0 SAY "|по пор.|объекта| объекта |назн. объекта|"
* | 12345 | 12345 |123456789012345|1234567890123|
@Str++, 0 SAY REPLICATE("~",Ln)
Num_pp = 0
SELECT RObj_zat
SET ORDER TO 1
DBGOTOP()
DO WHILE .NOT. EOF()
M_Kod = Kod
M_Name = Name
M_Zatr = Zatrati
SELECT RObj_naz;SET ORDER TO 1;T=DBSEEK(STR(M_Kod,5))
IF T
ELSE
@Str++, 0 SAY "|"+" "+STR(++Num_pp,5)+" "+;
"|"+" "+STR(M_Kod,5)+" "+;
"|"+SUBSTR(M_Name,1,15)+;
"|"+STR(M_Zatr,13)+"|"
ENDIF
SELECT RObj_zat
DBSKIP(1)
ENDDO
@Str++, 0 SAY REPLICATE("=",Ln)
@Str++, 0 SAY "Универсальная когнитивная аналитическая система"
@Str++, 0 SAY "НПП *ЭЙДОС*"
CLOSE ALL
SET PRINTER TO
SET DEVICE TO SCREEN
@22,0 SAY REPLICATE("█",80) COLOR "gb+/N"
@23,0 SAY REPLICATE("█",80) COLOR "gb+/N"
@24,0 SAY REPLICATE("█",80) COLOR "gb+/N"
Mess = " ПРОЦЕСС ЗАВЕРШЕН УСПЕШНО !!!"
@22,40-LEN(Mess)/2 SAY Mess COLOR "rg+/rb"
Mess = "Результаты назначений в файле: Res_naz.txt и БД: Rasp_naz.dbf и Klas_res.dbf"
@24,40-LEN(Mess)/2 SAY Mess COLOR "rg+/rb"
INKEY(0)
INKEY(0)
SHOWTIME()
RESTSCREEN(0,0,24,79,scr23)