Форум: "Основная";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Внизкодировка Найти похожие ветки
← →
selena (2003-12-10 08:11) [0]Здраствуйте
Столкнулся с проблемой при перекодировке текста.Нужно текст в кодировке Dos распечатать на принтере.
Приведенный ниже код работает , но в строке текста,который нужно распечатать:где большое свободное место по видимому стоит несколько ТABов,а при считывании получается в RICHEdite как один ТАВ как это исправить?
До считывания
4887 602163 000720631 246.00
6477 637203 000720631 492.00
6518 637295 000720631 492.00
0215 648443 000720631 492.00
8760 203 190501945 001467382 1389.59
5463 576003 400960419 1425.00
0007 207 190501945 039467955 9497.97
2397 212 190501945 027467555 9883.46
После
4887 602163 000720631 246.00
6477 637203 000720631 492.00
6518 637295 000720631 492.00
0215 648443 000720631 492.00
8760 203 190501945 001467382 1389.59
5463 576003 400960419 1425.00
0007 207 190501945 039467955 9497.97
2397 212 190501945 027467555 9883.46
procedure TForm1.Button1Click(Sender: TObject);
VAR S: String;
i,y:integer;
BEGIN
RichEdit1.Lines.LoadFromFile("c:\text\ex1107.txt");
S :=RichEdit1.Text;
OemToChar(PChar(S), PChar(S));//перекодировка
RichEdit1.Clear;
RichEdit1.Text :=S;
PrintStrings(Richedit1.Lines);//это процедура печати.
end;
← →
MBo (2003-12-10 08:19) [1]шрифт моноширинный поставь. об этом уже тебе говорили.
← →
selena (2003-12-10 08:20) [2]как его поставить?
← →
MBo (2003-12-10 08:23) [3]Courier New, к примеру
← →
selena (2003-12-10 08:36) [4]Где и как его прописать?
← →
Романов Р.В. (2003-12-10 08:48) [5]Свойство Font
← →
selena (2003-12-10 09:41) [6]Сделал так ,на экране все отлично ровно.А при печати на матричном EPSON DFX 8500 все равно съезжает.
← →
Романов Р.В. (2003-12-10 10:34) [7]Это уже другой вопрос.
Как печатаешь то?
← →
selena (2003-12-10 11:07) [8]procedure PrintStrings(Strings: TStrings);
var
Prn: TextFile;
i: word;
begin
AssignPrn(Prn);
try
Rewrite(Prn);
try
for i := 0 to Strings.Count - 1 do
writeln(Prn, Strings.Strings[i]);
finally
CloseFile(Prn);
end;
except
on EInOutError do
MessageDlg("Error Printing text.", mtError, [mbOk], 0);
end;
end;
← →
MBo (2003-12-10 12:11) [9]В таком варианте используется шрифт принтера по умолчанию - часто это пропорциональный вроде Times Roman.
Либо смени шрифт принтера, либо печатай в графическом режиме.
← →
selena (2003-12-10 12:48) [10]А как сменить шрифт у принтера?
← →
Тимохов (2003-12-10 12:55) [11]А это ты читай про свой принтер: насколько я помню из старой (досовской) жизни - все принтеры разные.
Опять же, из досовской жизни, помню, что параметры принтера можно менять escape последовательностями.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c