⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adduser.cpp

📁 本系统所完成功能如下: &#61548 即时消息:用户之间发送即时消息。 &#61548 聊天纪录:聊天记录的保存及显示。 &#61548 注册:登陆界面即可进入注册界面 &#61548
💻 CPP
字号:
// AddUser.cpp : implementation file
//

#include "stdafx.h"
#include "IM.h"
#include "AddUser.h"
#include "IM1.h"

extern int m_uid,total;
extern struct user
{
	int uid;
	CString fipport;
	CString fnicheng;
	BOOL fonline;
	BOOL fvip;
}fuser[100];
extern CString CRdir;
extern SOCKET TCPsocket;


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// AddUser dialog


AddUser::AddUser(CWnd* pParent /*=NULL*/)
	: CDialog(AddUser::IDD, pParent)
{
	//{{AFX_DATA_INIT(AddUser)
	m_aduID = 0;
	m_m_strCtrlName = _T("");
	//}}AFX_DATA_INIT
}


void AddUser::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(AddUser)
	DDX_Control(pDX, IDC_COMBO1, m_ComboBx);
	DDX_Text(pDX, IDC_EDIT1, m_aduID);
	DDX_CBString(pDX, IDC_COMBO1, m_m_strCtrlName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(AddUser, CDialog)
	//{{AFX_MSG_MAP(AddUser)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// AddUser message handlers

BOOL AddUser::OnInitDialog()
{
	CDialog::OnInitDialog();
	SetDlgItemText(IDC_EDIT1,NULL);
	
	char buf[16];
	CString str,s;
	int grpnum=GetPrivateProfileInt("FriendGroup","Groupnum",0,CRdir+"\\fenzu.ini");

	SetDlgItemText(IDC_COMBO1,"我的好友");
	
	//从本地分组文件获取组的信息
	for(int i=1;i<=grpnum;i++)
	{
		str.Format("Groupname%d",i);
		GetPrivateProfileString("FriendGroup",str,NULL,buf,16,CRdir+"\\fenzu.ini");
		m_ComboBx.AddString(buf);
	}

	return TRUE;
}

void AddUser::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();

	if(m_aduID==0)
		return;
	CString str,s;

	if(m_aduID==m_uid)
				MessageBox("您不能添加自己!");
	else
	{
		for(int i=1;i<=total;i++)
			{
				if( fuser[i].uid == m_aduID)
				{
					MessageBox("您所输好友已存在!");
					return;
				}
			}
			
			//向服务器端发送b类请求 添加好友请求
			str.Format("b%d#%d",m_uid,m_aduID);
			char buffer[1024];
			::send(TCPsocket,str,str.GetLength()+1,0);
			if(::recv(TCPsocket,buffer,1024,0)==0)
				MessageBox("添加失败!");
			else
			{
				//从组合框获取组的id
				i=m_ComboBx.GetCurSel();
				if(i==-1)i=1;
				
				//修改本地分组文件
				CString temp;
				str.Format("Groupname%d",i);
				GetPrivateProfileString("FriendGroup",str,NULL,buffer,16,CRdir+"\\fenzu.ini");
				
				AddFriendTogrp(buffer,m_aduID);
			}
	}

	CDialog::OnOK();
}

void AddUser::AddFriendTogrp(CString buffer,int uid)
{
	//将好友uid 添加到 "buffer"组中 写本地分组文件

	CString str,temp;
	int	i=(int)GetPrivateProfileInt(buffer,"Friendnum",0,CRdir+"\\fenzu.ini");
				str.Format("Friend%d",++i);
				
				temp.Format("%d",uid);
				WritePrivateProfileString(buffer,str,temp,CRdir+"\\fenzu.ini");
				temp.Format("%d",i);
				WritePrivateProfileString(buffer,"Friendnum",temp,CRdir+"\\fenzu.ini");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -