|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
непонятная конструкция ^L: в списке case
Это код юнита Printers
я пользуюсь частным парсером и он мне выдает ошибку на ^L: я не понимаю, что означает эта конструкция? Код:
{ Print a string to the printer handling special characters. } procedure PrnString(var Prn: PrnRec; Text: PChar; Len: Integer); var L: Integer; TabWidth: Word; procedure Flush; begin if L <> 0 then PrnOutStr(Prn, Text, L); Inc(Text, L + 1); Dec(Len, L + 1); L := 0; end; function AvgCharWidth: Word; var Metrics: TTextMetric; begin GetTextMetrics(FPrinter.Canvas.Handle, Metrics); Result := Metrics.tmAveCharWidth; end; begin L := 0; with Prn do begin while L < Len do begin case Text[L] of #9: begin Flush; TabWidth := AvgCharWidth * 8; Inc(Cur.X, TabWidth - ((Cur.X + TabWidth + 1) mod TabWidth) + 1); if Cur.X > Finish.X then NewLine(Prn); end; #13: Flush; #10: begin Flush; NewLine(Prn); end; ^L: begin Flush; NewPage(Prn); end; else Inc(L); end; end; end; Flush; end; |
#2
|
||||
|
||||
^L == #12 == Chr(12)
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
CMka (18.08.2013)
|
#3
|
|||
|
|||
Цитата:
Я попытался найти ответ в http://docwiki.embarcadero.com/RADSt...s_%28Delphi%29. но без толку. Последний раз редактировалось CMka, 18.08.2013 в 18:37. |
#4
|
||||
|
||||
обработчик события OnKeyPress формы:
Код:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin ShowMessage(IntToStr(Ord(Key))); end; либо через Evaluate (F7) в режиме отладки выделить ^L и посмотреть. означает символ с кодом 12. Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Оказывается, это альтернативный способ написания контрольных символов ascii.
http://blog.excastle.com/2007/09/05/...racter-syntax/ http://en.wikipedia.org/wiki/Control_characters http://en.wikipedia.org/wiki/C0_and_C1_control_codes Век живи -век учись. Последний раз редактировалось CMka, 18.08.2013 в 19:35. |