•  Delphi 2009 中 string 与 Char 的改变

    分类:技术心得      [delphi]写日志函数    浅谈Delphi中进程间的数据共享 

    将本文章摘录到:

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息
    http://blog.bloodbird.com/tianwufengBlogs/Technology/200904/20090427161459.Html

    在 Delphi 2009 中:
    string = UnicodeString; (同样: PString = PUnicodeString;)
    Char = WideChar; (同样: PChar = PWideChar;)
    本例效果图:

    delphi 代码
     
    1. unit Unit1;
    2.  
    3. interface
    4.  
    5. uses
    6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    7.   Dialogs, StdCtrls;
    8.  
    9. type
    10.   TForm1 = class(TForm)
    11.     edt1: TEdit;
    12.     mmo1: TMemo;
    13.     btn1: TButton;
    14.     btn2: TButton;
    15.     btn3: TButton;
    16.     btn4: TButton;
    17.     btn5: TButton;
    18.     btn6: TButton;
    19.     btn7: TButton;
    20.     procedure btn1Click(Sender: TObject);
    21.     procedure btn2Click(Sender: TObject);
    22.     procedure btn3Click(Sender: TObject);
    23.     procedure btn4Click(Sender: TObject);
    24.     procedure btn5Click(Sender: TObject);
    25.     procedure btn6Click(Sender: TObject);
    26.     procedure btn7Click(Sender: TObject);
    27.     procedure FormCreate(Sender: TObject);
    28.   private
    29.     { Private declarations }
    30.   public
    31.     { Public declarations }
    32.   end;
    33.  
    34. var
    35.   Form1: TForm1;
    36.  
    37. implementation
    38.  
    39. {$R *.dfm}
    40.  
    41. procedure TForm1.btn1Click(Sender: TObject);
    42. var
    43.   str: string;
    44.   i: Integer;
    45. begin
    46.   str := Edt1.Text;
    47.   Mmo1.Clear;
    48.   for i := 1 to Length(str) do Mmo1.Lines.Add(str[i]);
    49. end;
    50.  
    51.  
    52. procedure TForm1.btn2Click(Sender: TObject);
    53. var
    54.   str: AnsiString;
    55.   i: Integer;
    56. begin
    57.   str := Edt1.Text;
    58.   Mmo1.Clear;
    59.   for i := 1 to Length(str) do Mmo1.Lines.Add(str[i]);
    60. end;
    61.  
    62.  
    63.  
    64.  
    65. procedure TForm1.btn3Click(Sender: TObject);
    66. var
    67.   str: WideString;
    68.   i: Integer;
    69. begin
    70.   str := Edt1.Text;
    71.   Mmo1.Clear;
    72.   for i := 1 to Length(str) do Mmo1.Lines.Add(str[i]);
    73. end;
    74.  
    75.  
    76. procedure TForm1.btn4Click(Sender: TObject);
    77. var
    78.   c: Char;
    79. begin
    80.   Mmo1.Clear;
    81.   for c in Edt1.Text do Mmo1.Lines.Add(c);
    82. end;
    83.  
    84.  
    85.  
    86. procedure TForm1.btn5Click(Sender: TObject);
    87. var
    88.   c: AnsiChar;
    89. begin
    90.   Mmo1.Clear;
    91.   for c in AnsiString(Edt1.Text) do Mmo1.Lines.Add(c);
    92. end;
    93.  
    94.  
    95. procedure TForm1.btn6Click(Sender: TObject);
    96. var
    97.   c: WideChar;
    98. begin
    99.   Mmo1.Clear;
    100.   for c in Edt1.Text do Mmo1.Lines.Add(c);
    101. end;
    102.  
    103.  
    104. procedure TForm1.btn7Click(Sender: TObject);
    105. begin
    106.   Mmo1.Clear;
    107. end;
    108.  
    109. procedure TForm1.FormCreate(Sender: TObject);
    110. begin
    111.   Mmo1.Clear;
    112.   Edt1.Alignment := taCenter;
    113.   Edt1.Text := ''' 血 鸟 -- 天 舞 枫 的 博 客''';
    114.   Btn1.Caption := 'string';
    115.   Btn2.Caption := 'AnsiString';
    116.   Btn3.Caption := 'WideString';
    117.   Btn4.Caption := 'Char';
    118.   Btn5.Caption := 'AnsiChar';
    119.   Btn6.Caption := 'WideChar';
    120.   Btn7.Caption := '清' + #10#10 + '空';
    121.   Btn7.WordWrap := True;
    122.  
    123. end;
    124.  
    125. end.

     

    delphi 代码
     
    1. object Form1: TForm1
    2.   Left = 0
    3.   Top = 0
    4.   Caption = 'Form1'
    5.   ClientHeight = 223
    6.   ClientWidth = 303
    7.   Color = clBtnFace
    8.   Font.Charset = DEFAULT_CHARSET
    9.   Font.Color = clWindowText
    10.   Font.Height = -11
    11.   Font.Name = 'Tahoma'
    12.   Font.Style = []
    13.   OldCreateOrder = False
    14.   OnCreate = FormCreate
    15.   PixelsPerInch = 96
    16.   TextHeight = 13
    17.   object edt1: TEdit
    18.     Left = 127
    19.     Top = 8
    20.     Width = 169
    21.     Height = 21
    22.     TabOrder = 0
    23.     Text = 'edt1'
    24.   end
    25.   object mmo1: TMemo
    26.     Left = 8
    27.     Top = 8
    28.     Width = 113
    29.     Height = 212
    30.     Lines.Strings = (
    31.       'mmo1')
    32.     TabOrder = 1
    33.   end
    34.   object btn1: TButton
    35.     Left = 127
    36.     Top = 40
    37.     Width = 121
    38.     Height = 25
    39.     Caption = 'btn1'
    40.     TabOrder = 2
    41.     OnClick = btn1Click
    42.   end
    43.   object btn2: TButton
    44.     Left = 127
    45.     Top = 71
    46.     Width = 121
    47.     Height = 25
    48.     Caption = 'btn1'
    49.     TabOrder = 3
    50.     OnClick = btn2Click
    51.   end
    52.   object btn3: TButton
    53.     Left = 127
    54.     Top = 102
    55.     Width = 121
    56.     Height = 25
    57.     Caption = 'btn1'
    58.     TabOrder = 4
    59.     OnClick = btn3Click
    60.   end
    61.   object btn4: TButton
    62.     Left = 127
    63.     Top = 133
    64.     Width = 121
    65.     Height = 25
    66.     Caption = 'btn1'
    67.     TabOrder = 5
    68.     OnClick = btn4Click
    69.   end
    70.   object btn5: TButton
    71.     Left = 127
    72.     Top = 164
    73.     Width = 121
    74.     Height = 25
    75.     Caption = 'btn1'
    76.     TabOrder = 6
    77.     OnClick = btn5Click
    78.   end
    79.   object btn6: TButton
    80.     Left = 127
    81.     Top = 195
    82.     Width = 121
    83.     Height = 25
    84.     Caption = 'btn1'
    85.     TabOrder = 7
    86.     OnClick = btn6Click
    87.   end
    88.   object btn7: TButton
    89.     Left = 254
    90.     Top = 40
    91.     Width = 42
    92.     Height = 180
    93.     Caption = 'btn1'
    94.     TabOrder = 8
    95.     OnClick = btn7Click
    96.   end
    97. end

     

    引用地址:

    评论

    正在读取日志的评论数据,请稍后……
    正在加载日志评论签写框,请稍后……