Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-75228
VitGun
2003-12-09 19:11
2003.12.23
Построение сети Петри


1-75170
Дельфи
2003-12-09 16:07
2003.12.23
Как прокрутить TRichEdit вниз?


3-75108
pashaz
2003-11-26 23:45
2003.12.23
Запись в базу...


1-75154
Alex-chainik
2003-12-10 14:41
2003.12.23
Две формы


14-75399
Юрий Зотов
2003-10-31 16:15
2003.12.23
Эх, а не пора ли приводить в порядок атмосферу на форуме?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский