**********************************************************************
                     CnPack For Delphi/C++Builder
                     йԼѵ
                 (C)Copyright 2001-2025 CnPack 
**********************************************************************

                   DelphiIDE༭ıʽƫ˵
                           Revision 1.0.1.1
                       =========================
                         ߣХ 2023.02.12


Delphi IDE ֣Delphi 5 6 7   Ansi 棬Delphi 2005 ~ 2007  Utf8 棬Լ Delphi 2009 ϵ Unicode 汾
 IDE ı༭ؼͬ漰 OpenTools API ԭӿкܴĲͬ

һ

=====================================================================================================
                            Delphi 5/6/7            Delphi 2005~2007           Delphi 2009 
-----------------------------------------------------------------------------------------------------
EditControl.LineText    AnsiString              AnsiString + Utf8          UnicodeStringUtf16
ǰڵ    Tab չ              Tab չ                 Tab չ
-----------------------------------------------------------------------------------------------------
EditControl               AnsiString              AnsiString + Utf8          UnicodeStringUtf16
GetTextAtLine           Tab չ              Tab չ                 Tab չ
-----------------------------------------------------------------------------------------------------
IOTAEditReader ӿڵ       AnsiString              AnsiString + Utf8          AnsiString + Utf8
GetText                 Tab δչ              Tab δչ                 Tab δչ
-----------------------------------------------------------------------------------------------------
IOTAEditWriter ӿڵ       AnsiString              AnsiString + Utf8          AnsiString + Utf8
Insert  PChar 
-----------------------------------------------------------------------------------------------------
IOTAEditReader            Ansi0 ʼ            Utf80 ʼ               Utf80 ʼ
IOTAEditWriter ӿڵ       Tab δչ 1        Tab δչ 1           Tab δչ 1
ƫ Position
------------------------------------------------ -----------------------------------------------------
IOTAEditBlock ӿڵ        AnsiString              AnsiString + Utf8          UnicodeStringUtf16
Text /GetText       Tab δչ              Tab δչ                 Tab δչ
-----------------------------------------------------------------------------------------------------
EditControl               Ansi1 ʼ            Utf81 ʼ               Utf81 ʼ
GetAttributeAtPos ƫ
-----------------------------------------------------------------------------------------------------
 TOTAEditPos  Col         Ansi1 ʼ            Utf81 ʼ               Ansi1 ʼ
EditView  CursorPos
-----------------------------------------------------------------------------------------------------
IOTAEditPosition      Ansi0 ʼ            Utf80 ʼ               Utf80 ʼ
Move ʹõ Col                              Ϊ 1 ʱҲƶһַ಻λ󿿣
-----------------------------------------------------------------------------------------------------
IOTAEditPosition ľ     Ansi1 ʼ            Utf81 ʼ               Utf81 ʼ
Move/Real ʹõ Col   IDE УCol ڲλ¹󿿣
-----------------------------------------------------------------------------------------------------
IOTAEditPosition          ַ1 ʼ            ַ1 ʼ               ַ1 ʼ
BackspaceDelete  Num       IDE оɾַΪ Utf16
-----------------------------------------------------------------------------------------------------
TOTACharPos  CharIndex    Ansi0 ʼ            Utf80 ʼ               Ansi0 ʼ
Tab һַ                                                          пַʱ ConvertPos תĽлң
-----------------------------------------------------------------------------------------------------
EditView  CharPosToPos    Ansi0 ʼ            Utf80 ʼ               ǰ֮ǰ Utf8ǰ Ansi0 ʼ
תļڵ Pos  ǰβ          ǰβ             ǰβпַʱԽȻң
-----------------------------------------------------------------------------------------------------
༭״̬ϵʾ     IDE ͳһΪ 1 ʼ AnsiַֽռһУһռ
=====================================================================================================
CnPack ﷨           AnsiChar                WideChar                   WideChar
ʹõַƫ
-----------------------------------------------------------------------------------------------------
CnPack ༭     AnsiChar                WideChar                   WideChar
Stream ʱʹõĸʽ
-----------------------------------------------------------------------------------------------------
CnPack  Pascal ﷨        Ansi                  Ansi/Wide              Ansi/Wide
ʹõ          о 0 ʼ           о 1 ʼ              о 1 ʼ
-----------------------------------------------------------------------------------------------------
CnPack  Cpp ﷨           Ansi                  Ansi/Wide              Ansi/Wide
ʹõ          о 1 ʼ           о 1 ʼ              о 1 ʼ
-----------------------------------------------------------------------------------------------------
CnPack  Pascal ṹ        Ansi                  Ansi/Wide              Ansi/Wide
ʹõ          о 0 ʼ           о 0 ʼչ Tab  о 0 ʼչ Tab
-----------------------------------------------------------------------------------------------------
CnPack  Cpp ṹ           Ansi                  Ansi/Wide              Ansi/Wide
ʹõ          о 0 ʼ           о 0 ʼչ Tab  о 0 ʼչ Tab
-----------------------------------------------------------------------------------------------------
CnPack  Pas/Cpp ṹ      Ansi λ 0 ʼ    Utf16 λã0 ʼ     Utf16 λã0 ʼ
 TokenPos             
-----------------------------------------------------------------------------------------------------
CnPack  Pas/Cpp ṹ      չ Tab              ÿչ Tab       ÿչ Tab
Ƿչ Tab      Tab  ConvertPos       
-----------------------------------------------------------------------------------------------------
Pas/Cpp Token             1 ʼ TOTAEditPos    1 ʼ TOTAEditPos       1 ʼ TOTAEditPos
EditLine/EditCol        EditCol Ϊ Ansi         EditCol Ϊ Utf8            EditCol Ϊ Ansi
=====================================================================================================

ע

1͵ǰйصģҪʹ TOTAEditPos ͵ Col

2ṹ Token ǻַ Ansi/Wide ֵҪת CharPos ת EditPos ٴ洢 Token  EditLine/EditCol ԺҪת Token ʱֱʹ EditLine/EditCol

3CharPos  EditPos תʵʼ 0/1 ı任Լ Tab չD2005~2007 » Utf8 չ EditView  ConvertPos Unicode ҲԼ Tab ĿΪ Unicode  ConvertPos ׼

4⣬Ҫ Token ػʱػ EditCol Ӧȫʹ Ansi ģӾҪ󣩣 D2005~2007  EditPos  Col  Utf8 D2005~2007 ²ֱ EditColһ EditAnsiCol 洢 Ansi ƫƣרػ

5EditControl  LineText ԱʾڵĵǰеݣΪʱ۹ĶLineText ؿգһո

6D2009/2010£ EditView  CursorPos ̵ EditPosition.InsertTextı Col ƫ˵Ӧλ n ַn ڹߵ˫ַֽ

7 Position βĺǣǰλóβøùλ ConvertPos  CharPosToPos õλãӦβǳβľλá

8CnPack ﷨D7 ʹ Ansi  Lex  ParserϾʹ Wide  Lex  Parser 2005 ϰ汾ر־һ£Ƿ Unicode 