您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> Delphi >> 正文

Google
攻破“金山词霸”的技术堡垒!
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 16:01:46

library PigLatinDll;

uses
  Windows,
  SysUtils,
  Classes,
  HookTextUnit in 'HookTextUnit.pas';

function PigLatinWord(s: String): String;
Var start: String; Capitalize, AllCapitals: Boolean; i: Integer; begin
  Result:=s;
  if length(s)<=1 then exit;
  Capitalize:=IsCharUpper(s[1]);
  AllCapitals:=True;
  for i:=1 to length(s) do begin
    if IsCharLower(s[i]) then begin
      AllCapitals:=False; break;
    end;
  end;
  start:=lowercase(copy(s,1,2));
  if (start[1]<'a') or (start[1]>'z') then exit;
  if (start[1] in ['a','e','i','o','u']) then start:='';
  if (start<>'ch') and (start<>'th') and (start<>'sh') and (start<>'wh')

  and (start<>'qu') and (start<>'kn') and (start<>'wr') then    delete(start,2,1);
  Result:=copy(s,length(start)+1,length(s))+start;
  if start='' then Result:=Result+'yay' else Result:=Result+'ay';  if AllCapitals then result:=Uppercase(Result) else
  if Capitalize then result[1]:=Upcase(result[1]);
end;

function IntToRoman(n: Integer): String;
Var i, units, tens, hundreds, thousands: Integer;
begin
  If (n>=5000) or (n<=0) then Result:=IntToStr(n) else begin    thousands:=n div 1000; n:=n mod 1000;
    hundreds:=n div 100; n:=n mod 100;
    tens:=n div 10; n:=n mod 10;
    units:=n;
    Result:='';
    for i:=1 to Thousands do begin
      Result:=Result+'M';
    end;
    Case Hundreds of
      1: Result:=Result+'C';
      2: Result:=Result+'CC';
      3: Result:=Result+'CCC';
      4: Result:=Result+'CD';
      5: Result:=Result+'D';
      6: Result:=Result+'DC';
      7: Result:=Result+'DCC';
      8: Result:=Result+'DCCC';
      9: Result:=Result+'CM';
    end;
    Case Tens of
      1: Result:=Result+'X';
      2: Result:=Result+'XX';
      3: Result:=Result+'XXX';
      4: Result:=Result+'XL';
      5: Result:=Result+'L';
      6: Result:=Result+'LX';
      7: Result:=Result+'LXX';
      8: Result:=Result+'LXXX';
      9: Result:=Result+'XC';
    end;
    Case Units of
      1: Result:=Result+'I';
      2: Result:=Result+'II';
      3: Result:=Result+'III';
      4: Result:=Result+'IV';
      5: Result:=Result+'V';
      6: Result:=Result+'VI';
      7: Result:=Result+'VII';
      8: Result:=Result+'VIII';
  &

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

  • 上一篇文章:

  • 下一篇文章:
  • 相关专题:
     
     网友评论:(评论内容只代表网友观点,与本站立场无关!)
    GOOGLE广告

    阅读排行

    相关文章

    没有相关文章

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
    中国教师站

    中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
    [备用域名:www.JXZYW.Com] 有事请留言有事请留言
    【实力成就精品 诚信呵护品牌】

    信息产业部备案
    苏ICP备06018635号