powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как можно из компонента EditBox распечатать текст на принтере?
5 сообщений из 5, страница 1 из 1
Как можно из компонента EditBox распечатать текст на принтере?
    #34147180
SVR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SVR
Гость
Все привет!
Как можно из компонента EditBox распечатать текст на принтере?
...
Рейтинг: 0 / 0
Как можно из компонента EditBox распечатать текст на принтере?
    #34147232
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создать репорт , в котором будет это поле.
...
Рейтинг: 0 / 0
Как можно из компонента EditBox распечатать текст на принтере?
    #34148709
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что-то вроде этого. Только если принтер не начнет каркозяблы печатать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
#define HANDLE INTEGER
#define BOOLEAN LONG

=printtextFile("test.txt")

*:********************************************************************
*:
*: Procedure : PrintTextFile
*:
*:********************************************************************
PROCEDURE PrintTextFile
LPARAMETERS cFileName as String

LOCAL hPrinter as Integer
LOCAL cPrinter as String
LOCAL cString as String
LOCAL nWritten as Long
LOCAL oPB as Object
LOCAL hFile as Integer
LOCAL nAll as Long
LOCAL nCur as Long

IF .NOT.FILE(m.cFileName) THEN
	MESSAGEBOX("Файл "+m.cFileName+" не найден!", 16 ,"Печать файла")
	RETURN .F.
ENDIF

DECLARE INTEGER OpenPrinterA IN WINSPOOL.DRV AS OpenPrinter ;
	STRING pPrinterName, ;
	HANDLE @phPrinter, ;
	LONG pDefault

DECLARE LONG StartDocPrinterA IN WINSPOOL.DRV AS StartDocPrinter ;
	HANDLE hPrinter, ;
	LONG Level, ;
	STRING pDocInfo

DECLARE INTEGER EndDocPrinter IN WINSPOOL.DRV AS EndDocPrinter ;
	HANDLE hPrinter

DECLARE INTEGER WritePrinter IN WINSPOOL.DRV AS WritePrinter ;
	HANDLE hPrinter, ;
	STRING pBuf, ;
	LONG cbBuf, ;
	LONG @pcWritten

DECLARE INTEGER ClosePrinter IN WINSPOOL.DRV AS ClosePrinter ;
	HANDLE hPrinter

Declare integer EndPagePrinter in winspool.drv integer


DECLARE LONG GetLastError IN WIN32API as GetLastError

m.cPrinter=GETPRINTER()
IF ISBLANK(m.cPrinter) THEN
	RETURN .F.
ENDIF

m.hFile=FOPEN(m.cFileName)
IF m.hFile< 0  THEN
	MESSAGEBOX("Не удалось открыть файл "+m.cFileName+"!", 16 ,"Печать файла")
	RETURN .F.
ENDIF

IF OpenPrinter(m.cPrinter,@m.hPrinter, 0 )= 0  THEN
	FCLOSE(m.hFile)
	m.nWritten=GetLastError()
	MESSAGEBOX("Произошла ошибка при печати! Код ошибки "+ALLTRIM(STR(m.nWritten, 10 , 0 )), 48 ,"Печать файла")
	RETURN .F.
ENDIF

IF StartDocPrinter(m.hPrinter, 1 ,REPLICATE(CHR( 0 ), 12 ))= 0  THEN
	FCLOSE(m.hFile)
	m.nWritten=GetLastError()
	MESSAGEBOX("Произошла ошибка при печати! Код ошибки "+ALLTRIM(STR(m.nWritten, 10 , 0 )), 48 ,"Печать файла")
	ClosePrinter(m.hPrinter)
	RETURN .F.
ENDIF

DO WHILE .NOT.FEOF(m.hFile)
	m.cString=FREAD(m.hFile, 1024 )
	db=Strconv(m.cString, 1 , 1049 )
	ws=Strconv(m.cString, 5 , 1049 )
	m.cString=ws
		

	IF WritePrinter(m.hPrinter,m.cString,LEN(m.cString),@m.nWritten)= 0  THEN
		m.nWritten=GetLastError()
		MESSAGEBOX("Произошла ошибка при печати! Код ошибки "+ALLTRIM(STR(m.nWritten, 10 , 0 )), 48 ,"Печать файла")
		EXIT
	ENDIF
ENDDO

FCLOSE(m.hFile)

EndPagePrinter(m.hPrinter)
EndDocPrinter(m.hPrinter)

ClosePrinter(m.hPrinter)

ENDPROC
...
Рейтинг: 0 / 0
Как можно из компонента EditBox распечатать текст на принтере?
    #34148921
SVR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SVR
Гость
А как можно получить доступ к строкам у компонента EditBox?
...
Рейтинг: 0 / 0
Как можно из компонента EditBox распечатать текст на принтере?
    #34149227
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SVRА как можно получить доступ к строкам у компонента EditBox?
Что значит доступ ?
Вам нужно конкретную строку получить или что ?
КонтролСоурс едита - просто строка - поэтому работайте с ней как с обычной строкой.
Для получения конкретной строки пользуйтесь MEMLINES( ),MLINE( ), ALINES( ) ну и т.д. в зависимости от источника эдита.
Если ван нужно получить только выделенную часть - смотрите в сторону SelText и прочих свойств EditBox'a , начинаюшихся с Sel
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как можно из компонента EditBox распечатать текст на принтере?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]