亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.pas

?? 本程序是轉載的
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit Main;
{(C) Alex Demchenko(alex@ritlabs.com)}

interface

uses
  Windows, Messages, Classes, Graphics, Controls, Forms,
  ComCtrls, ImgList, Menus, ICQClient, ICQWorks, RecvMsg,
  SendMsg, UserInfo, StdCtrls, UserSearch, AutoAway, PktDump, UserReg, UserRegNew,
  ExtCtrls;

type
  TMainForm = class(TForm)
    ListView1: TListView;
    IconList: TImageList;
    MainMenu1: TMainMenu;
    Main1: TMenuItem;
    Status1: TMenuItem;
    Exit1: TMenuItem;
    Online1: TMenuItem;
    Away1: TMenuItem;
    DND1: TMenuItem;
    Invisible1: TMenuItem;
    Offline1: TMenuItem;
    NA1: TMenuItem;
    StatusBar1: TStatusBar;
    ICQClient1: TICQClient;
    PopupMenu1: TPopupMenu;
    UserInfo1: TMenuItem;
    Search1: TMenuItem;
    Search2: TMenuItem;
    PacketDumps1: TMenuItem;
    RemoveContact1: TMenuItem;
    LoadContactList1: TMenuItem;
    ReadAwayMessage1: TMenuItem;
    RegisterNewUIN1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure Online1Click(Sender: TObject);
    procedure Away1Click(Sender: TObject);
    procedure DND1Click(Sender: TObject);
    procedure NA1Click(Sender: TObject);
    procedure Invisible1Click(Sender: TObject);
    procedure Offline1Click(Sender: TObject);
    procedure ICQClient1Login(Sender: TObject);
    procedure ICQClient1ConnectionFailed(Sender: TObject);
    procedure ICQClient1StatusChange(Sender: TObject; UIN: String;
      Status: Cardinal);
    procedure ICQClient1UserOffline(Sender: TObject; UIN: String);
    procedure ListView1DblClick(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure UserInfo1Click(Sender: TObject);
    procedure ICQClient1UserInfoMore(Sender: TObject; UIN: String;
      Age: Word; Gender: Byte; HomePage: String; BirthYear, BirthMonth,
      BirthDay: Word; Lang1, Lang2, Lang3: String);
    procedure ICQClient1UserInfoAbout(Sender: TObject; UIN, About: String);
    procedure ICQClient1UserWorkInfo(Sender: TObject; UIN, WCity, WState,
      WPhone, WFax, FAddress, WZip, WCountry, WCompany, WDepartment,
      WPosition, WOccupation, WHomePage: String);
    procedure ICQClient1UserInfoInterests(Sender: TObject; UIN: String;
      Interests: TStringList);
    procedure Search1Click(Sender: TObject);
    procedure ICQClient1UserFound(Sender: TObject; UIN, Nick, FirstName,
      LastName, Email: String; Status: Word; Gender, Age: Byte;
      SearchComplete: Boolean; Authorize: Boolean);
    procedure ICQClient1UserNotFound(Sender: TObject);
    procedure ICQClient1PktParse(Sender: TObject; Buffer: Pointer;
      BufLen: Cardinal; Incoming: Boolean);
    procedure PacketDumps1Click(Sender: TObject);
    procedure ICQClient1UserInfoBackground(Sender: TObject; UIN: String;
      Pasts, Affiliations: TStringList);
    procedure ICQClient1UserGeneralInfo(Sender: TObject; UIN, NickName,
      FirstName, LastName, Email, City, State, Phone, Fax, Street,
      Cellular, Zip, Country: String; TimeZone: Byte;
      PublishEmail: Boolean);
    procedure RemoveContact1Click(Sender: TObject);
    procedure LoadContactList1Click(Sender: TObject);
    procedure ICQClient1ServerListRecv(Sender: TObject;
      SrvContactList: TList);
    procedure ReadAwayMessage1Click(Sender: TObject);
    procedure ICQClient1AutoMsgResponse(Sender: TObject; UIN: String;
      ID: Word; RespStatus: Byte; Msg: String);
    procedure ICQClient1PktDirectParse(Sender: TObject; Buffer: Pointer;
      BufLen: Cardinal; Incoming: Boolean);
    procedure ICQClient1URLRecv(Sender: TObject; Description, URL,
      UIN: String);
    procedure ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String);
    procedure ICQClient1OfflineMsgRecv(Sender: TObject; Msg, UIN: String);
    procedure ICQClient1OfflineURLRecv(Sender: TObject; Description, URL,
      UIN: String);
    procedure ICQClient1Error(Sender: TObject; ErrorType: TErrorType;
      ErrorMsg: String);
    procedure RegisterNewUIN1Click(Sender: TObject);
    procedure ICQClient1NewUINRefused(Sender: TObject);
    procedure ICQClient1NewUINRegistered(Sender: TObject; UIN: String);
  private
    procedure ReCreateContactList;
    procedure DoStatusChange(NewStatus: LongWord);
  public
    FConnecting: Boolean;
    FInfoList: TList;
    function GetUserInfoIdx(Value: String): Integer;
    procedure DoCreateInfoQuery(UIN: String);
  end;

var
  MainForm: TMainForm;

implementation

{$R *.dfm}

function DoLoadIcons(FileName: String): Boolean;
var
  dllHandle: HMODULE;
  procedure DoSingleEntry(Name: String);
  var
    Icon: TIcon;
  begin
    Icon := TIcon.Create;
    Icon.Handle := LoadIcon(dllHandle, PChar(Name));
    MainForm.IconList.AddIcon(Icon);
  end;
begin
  Result := False;
  dllHandle := LoadLibrary(PChar(FileName));
  if dllHandle <> 0 then
  begin
    DoSingleEntry('#104');  //Online      0
    DoSingleEntry('#128');  //Away        1
    DoSingleEntry('#159');  //DND         2
    DoSingleEntry('#131');  //N/A         3
    DoSingleEntry('#130');  //Invisible   4
    DoSingleEntry('#105');  //Offline     5
    DoSingleEntry('#159');  //Occupied    6
    DoSingleEntry('#129');  //FFC         7
    FreeLibrary(dllHandle);
    Result := True;
  end;
end;

procedure TMainForm.ReCreateContactList;
var
  i: Integer;
  ListItem: TListItem;
begin
  ListView1.Items.Clear;
  if ICQClient1.ContactList.Count > 0 then
    for i := 0 to ICQClient1.ContactList.Count - 1 do
    begin
      ListItem := ListView1.Items.Add;
      ListItem.ImageIndex := 5;
      ListItem.Caption := ICQClient1.ContactList.Strings[i];
    end;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  if not DoLoadIcons('icons.dll') then //Load icons
    MessageBox(0, 'Could not load icons!', 'Error', MB_ICONERROR);
  ReCreateContactList; //Add users from contactlist to listview in offline mode
  FInfoList := TList.Create; //List of avaible info query forms

  if FileExists('ContactList.txt') then
    ICQClient1.ContactList.LoadFromFile('ContactList.txt');
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  ICQClient1.ContactList.SaveToFile('ContactList.txt');
  FInfoList.Free;
end;

procedure TMainForm.FormShow(Sender: TObject);
begin
  StatusBar1.Panels[0].Text := 'Offline';
  ReCreateContactList;
end;

procedure TMainForm.Exit1Click(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.DoStatusChange(NewStatus: LongWord);
begin
  if not ICQClient1.LoggedIn then
  begin
    if (ICQClient1.Password = '') and (ICQClient1.UIN = 0) then
    begin
      MessageBox(MainForm.Handle, 'Please set UIN & Password in TICQClient component!', 'Error!', MB_ICONERROR);
      Exit;
    end;
    StatusBar1.Panels[0].Text := 'Connecting...';
    ICQClient1.Login(NewStatus);
  end
  else
  begin
    ICQClient1.Status := NewStatus;
    StatusBar1.Panels[0].Text := StatusToStr(ICQClient1.Status);
  end;
end;

procedure TMainForm.Online1Click(Sender: TObject);
begin
  DoStatusChange(S_ONLINE);
end;

procedure TMainForm.Away1Click(Sender: TObject);
begin
  DoStatusChange(S_AWAY);
end;

procedure TMainForm.DND1Click(Sender: TObject);
begin
  DoStatusChange(S_DND);
end;

procedure TMainForm.NA1Click(Sender: TObject);
begin
  DoStatusChange(S_NA);
end;

procedure TMainForm.Invisible1Click(Sender: TObject);
begin
  DoStatusChange(S_INVISIBLE);
end;

procedure TMainForm.Offline1Click(Sender: TObject);
begin
  ICQClient1.Disconnect;
  StatusBar1.Panels[0].Text := 'Offline';
  ReCreateContactList;
end;

procedure TMainForm.ICQClient1Login(Sender: TObject);
begin
  StatusBar1.Panels[0].Text := StatusToStr(ICQClient1.Status);
end;

procedure TMainForm.ICQClient1ConnectionFailed(Sender: TObject);
begin
  StatusBar1.Panels[0].Text := 'Connection failed';
  ReCreateContactList;
end;

procedure TMainForm.ICQClient1StatusChange(Sender: TObject; UIN: String;
  Status: Cardinal);
var
  i, img: Integer;
  S: String;
begin
  if ListView1.Items.Count > 0 then
    for i := 0 to ListView1.Items.Count - 1 do
      if ListView1.Items.Item[i].Caption = UIN then
      begin
        S := StatusToStr(Status);
        if S = 'Online' then img := 0 else
        if S = 'Away' then img := 1 else
        if S = 'DND' then img := 2 else
        if S = 'N/A' then img := 3 else
        if S = 'Invisible' then img := 4 else
        if S = 'Occupied' then img := 6 else
        if S = 'FFC' then img := 7 else
          img := 0;
        ListView1.Items.Item[i].ImageIndex := img;
        Exit;
      end;
end;

procedure TMainForm.ICQClient1UserOffline(Sender: TObject; UIN: String);
var
  i: Integer;
begin
  if ListView1.Items.Count > 0 then
    for i := 0 to ListView1.Items.Count - 1 do
      if ListView1.Items.Item[i].Caption = UIN then
      begin
        ListView1.Items.Item[i].ImageIndex := 5;
        Exit;
      end;
end;

procedure TMainForm.ListView1DblClick(Sender: TObject);
begin
  if ListView1.Selected = nil then Exit;
  with TSendMsgForm.Create(Self) do
  begin
    Caption := 'Send message to: ' + ListView1.Selected.Caption;
    FDest := ListView1.Selected.Caption;
    Show;
  end;
end;

procedure TMainForm.PopupMenu1Popup(Sender: TObject);
begin
  if ListView1.Selected = nil then
  begin
    PopUpMenu1.Items[0].Enabled := False;
    PopUpMenu1.Items[2].Enabled := False;
    PopUpMenu1.Items[3].Enabled := False
  end
  else
  begin
    PopUpMenu1.Items[0].Enabled := True;
    PopUpMenu1.Items[2].Enabled := True;
    //If user not in Online or Invisible or Offline mode then enable Read away message item in popup menu

    if (ListView1.Selected.ImageIndex <> -1) and
       (ListView1.Selected.ImageIndex <> 0) and
       (ListView1.Selected.ImageIndex <> 4) and
       (ListView1.Selected.ImageIndex <> 5) then
         PopUpMenu1.Items[3].Enabled := True
    else
      PopUpMenu1.Items[3].Enabled := False;    
  end;
end;

function TMainForm.GetUserInfoIdx(Value: String): Integer;
var
  i: Integer;
begin
  Result := -1;
  if FInfoList.Count > 0 then
    for i := 0 to FInfoList.Count - 1 do
      if TUserInfoForm(FInfoList.Items[i]).FSource = Value then
      begin
        Result := i;
        Exit;
      end;
end;

procedure TMainForm.DoCreateInfoQuery(UIN: String);
var
  i: Integer;
  UIForm: TUserInfoForm;
begin
  i := GetUserInfoIdx(UIN);
  if i > -1 then
  begin
    TUserInfoForm(FInfoList.Items[i]).Show;
    Exit;
  end;
  UIForm := TUserInfoForm.Create(nil);
  FInfoList.Add(UIForm);
  with UIForm do
  begin
    Caption := 'Info about ' + UIN;
    FSource := UIN;
    Show;
  end;
  ICQClient1.RequestInfo(StrToInt(UIN));
end;

procedure TMainForm.ICQClient1UserGeneralInfo(Sender: TObject; UIN,
  NickName, FirstName, LastName, Email, City, State, Phone, Fax, Street,
  Cellular, Zip, Country: String; TimeZone: Byte; PublishEmail: Boolean);
var
  Form: TUserInfoForm;
  i: Integer;
begin
  i := GetUserInfoIdx(UIN);
  if i < 0 then Exit;
  Form := FInfoList.Items[i];
  with Form do
  begin
    UINLabel.Caption := UIN;
    NickNameLabel.Caption := NickName;
    FirstNameLabel.Caption := FirstName;
    LastNameLabel.Caption := LastName;
    EmailLabel.Caption := Email;
    {}
    StreetLabel.Caption := Street;
    CityLabel.Caption := City;
    CountryLabel.Caption := Country;
    ZipLabel.Caption := Zip;
    TimeZoneLabel.Caption := IntToStr(- ShortInt(TimeZone) div 2) + ':' + IntToStr(Abs(ShortInt(TimeZone) mod 2 * 30));
    if - ShortInt(TimeZone) > 0 then
      TimeZoneLabel.Caption := '+' + TimeZoneLabel.Caption;
    CellularLabel.Caption := Cellular;
  end;
end;

procedure TMainForm.ICQClient1UserInfoMore(Sender: TObject; UIN: String;
  Age: Word; Gender: Byte; HomePage: String; BirthYear, BirthMonth,
  BirthDay: Word; Lang1, Lang2, Lang3: String);
var
  Form: TUserInfoForm;
  i: Integer;
begin
  i := GetUserInfoIdx(UIN);
  if i < 0 then Exit;
  Form := FInfoList.Items[i];
  with Form do
  begin
    AgeLabel.Caption := IntToStr(Age);
    if Gender = GEN_MALE then
      GenderLabel.Caption := 'Male'
    else if Gender = GEN_FEMALE then
      GenderLabel.Caption := 'Female'
    else
      GenderLabel.Caption := 'Not specified';
    HomePageLabel.Caption := HomePage;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
专区另类欧美日韩| 国产女人18毛片水真多成人如厕| 99久久综合99久久综合网站| 国产一区二区成人久久免费影院 | 中文字幕一区日韩精品欧美| 国产亚洲精品aa| 国产精品全国免费观看高清| 久久美女艺术照精彩视频福利播放| 精品国产髙清在线看国产毛片 | 久国产精品韩国三级视频| 日本女优在线视频一区二区| 另类小说综合欧美亚洲| 国产一区二区三区在线观看精品| 国产乱码精品一区二区三区忘忧草| 国产一区二区三区香蕉| 成人av午夜电影| 91久久精品一区二区三区| 欧美自拍丝袜亚洲| 日韩写真欧美这视频| 久久精品免视看| 亚洲精品久久久久久国产精华液| 亚洲一区二区黄色| 美女视频黄 久久| 国产精品18久久久久久久久 | 成人精品gif动图一区| 99re亚洲国产精品| 欧美人妇做爰xxxⅹ性高电影| 欧美一级国产精品| 国产精品情趣视频| 亚洲1区2区3区4区| 国产一区二区三区免费观看| 色欧美乱欧美15图片| 日韩一区二区三区三四区视频在线观看 | 欧美日韩午夜精品| 久久男人中文字幕资源站| 国产精品久久久久三级| 午夜日韩在线电影| 国产精品一区二区91| 一本色道a无线码一区v| 日韩精品一区二区三区在线播放| 亚洲欧美日韩在线播放| 日本在线观看不卡视频| 99久久精品国产一区二区三区| 欧美二区在线观看| 亚洲色图视频网| 国内成+人亚洲+欧美+综合在线| 色综合久久中文综合久久牛| 久久蜜桃一区二区| 亚洲成精国产精品女| av男人天堂一区| 久久久久久日产精品| 午夜电影一区二区| 91女神在线视频| 中文字幕免费观看一区| 国产主播一区二区| 日韩欧美色综合网站| 亚洲无线码一区二区三区| 成人av手机在线观看| 精品久久久久久久人人人人传媒| 亚洲午夜电影在线| 色婷婷综合久久| 亚洲精品免费看| www.亚洲色图.com| 中文字幕精品三区| 国产精品一区二区黑丝| 久久中文娱乐网| 国产一区亚洲一区| 精品国产露脸精彩对白| 麻豆91精品91久久久的内涵| 6080yy午夜一二三区久久| 亚洲午夜久久久久| 欧美色网一区二区| 亚洲国产日韩a在线播放 | 日本午夜一本久久久综合| 91免费版pro下载短视频| 欧美—级在线免费片| 国产电影一区二区三区| 精品日韩一区二区三区| 精品一区二区三区在线观看国产| 欧美一卡二卡三卡四卡| 琪琪一区二区三区| 日韩精品一区二区三区蜜臀| 久久国内精品自在自线400部| 欧美一三区三区四区免费在线看 | 欧美在线999| 亚洲电影中文字幕在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 国产精品不卡在线观看| 91在线观看高清| 亚洲女与黑人做爰| 欧美在线|欧美| 免费xxxx性欧美18vr| 精品99一区二区| 国产91富婆露脸刺激对白| 国产精品色噜噜| 欧美亚洲免费在线一区| 丝瓜av网站精品一区二区| 欧美mv和日韩mv国产网站| 国产成人av电影在线观看| 国产精品麻豆视频| 色婷婷综合视频在线观看| 亚洲chinese男男1069| 精品国产乱码久久久久久蜜臀 | 日产国产欧美视频一区精品| 久久天堂av综合合色蜜桃网| 99久久久久久| 五月婷婷久久丁香| 国产日韩视频一区二区三区| 色综合天天综合色综合av| 午夜av一区二区| 国产精品色噜噜| 欧美美女一区二区三区| 国产精品1024久久| 亚洲综合在线观看视频| 日韩欧美在线一区二区三区| 成人av网址在线| 蜜桃视频一区二区| 亚洲丝袜自拍清纯另类| 欧美一级片在线| 色狠狠一区二区三区香蕉| 蜜臀久久99精品久久久画质超高清| 国产精品国产a级| 日韩一区二区麻豆国产| 成人午夜碰碰视频| 美腿丝袜亚洲色图| 亚洲精品中文在线| 久久久精品国产免大香伊| 精品视频在线免费观看| 波多野结衣中文字幕一区二区三区| 久久精品国产第一区二区三区| 亚洲一二三区视频在线观看| 国产目拍亚洲精品99久久精品| 日韩限制级电影在线观看| 欧洲另类一二三四区| 国产高清精品网站| 麻豆精品国产91久久久久久| 午夜精品福利在线| 一区二区三区高清| 中文字幕在线观看一区| 久久丝袜美腿综合| 日韩一区二区不卡| 欧美日本在线播放| 欧美日韩一二区| 日本韩国欧美国产| 色婷婷综合激情| 欧洲一区在线观看| 色伊人久久综合中文字幕| 成人av午夜电影| 91在线精品秘密一区二区| 成人午夜精品在线| 国产精品一区二区在线看| 国产一区二区三区免费播放| 激情五月激情综合网| 久草在线在线精品观看| 激情综合网av| 国产大片一区二区| 大陆成人av片| 一本高清dvd不卡在线观看| 在线亚洲精品福利网址导航| 欧美色精品在线视频| 在线观看91视频| 91精品国产高清一区二区三区蜜臀| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区三区在| 日韩一区二区三区四区五区六区| 久久亚洲精品国产精品紫薇| 国产精品欧美极品| 亚洲理论在线观看| 亚洲午夜在线电影| 久久超碰97人人做人人爱| 国产99精品在线观看| 色诱视频网站一区| 欧美丰满嫩嫩电影| 国产亚洲欧美日韩俺去了| 国产精品久久国产精麻豆99网站| 亚洲精品自拍动漫在线| 日本sm残虐另类| 国产成人免费视频网站| 一本大道久久精品懂色aⅴ| 欧美嫩在线观看| 国产网站一区二区| 自拍偷自拍亚洲精品播放| 亚洲gay无套男同| 国产精品66部| 欧美日韩一本到| 欧美国产精品一区二区| 亚洲五码中文字幕| 国产成人av福利| 69久久99精品久久久久婷婷 | 日韩精品国产欧美| 国产91高潮流白浆在线麻豆 | 一区二区三区在线观看网站| 欧美aaa在线| 色综合咪咪久久| 久久久精品一品道一区| 午夜日韩在线观看| 99久久综合精品| 2021国产精品久久精品| 亚洲sss视频在线视频| 成人精品鲁一区一区二区|