169it科技资讯


当前位置:  编程技术>综合
本页文章导读:
    ▪windows平台c++开发"麻烦"总结      by zxy,Java/C++编程交流群:168424095 (1)如何同时运行一个解决方案中的多个项目 修改解决方案的属性,改单启动项目为多启动项目,同时将自己想要运行的项目的操作从无改为启动。 (2)调.........
    ▪Android Wifi几点      1 首先,要实现一个简单的WIFI连接设置,我们需要掌握和WIFI功能相关的一些类,比如WIfiManager,WifiInfo,ScanResult,WifiConfiguration等,提供了WIFI连接相关的基本的API. 比如: 打开关闭网关:wifiManager.se.........
    ▪Myeclipse中JDBC连接池的配置       第一步:建立工程。 Libraries…实现同样的功能。 Referenced Libraries,不用管。 [html] view plaincopy <?xml version="1.0" encoding="UTF-8"?> <Context debug="5" reloadable=".........

[1]windows平台c++开发"麻烦"总结
    来源: 互联网  发布时间: 2014-02-18

by zxy,Java/C++编程交流群:168424095

(1)如何同时运行一个解决方案中的多个项目

修改解决方案的属性,改单启动项目为多启动项目,同时将自己想要运行的项目的操作从无改为启动。

(2)调试release版本如何设置断点

要想调试代码,需要了解符号文件。符号文件是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。在 Windows 系统中,符号文件以 .pdb 为扩展名。

设置生成PDB文件的方法:

     1、右键选择工程单击属性。

     2、链接器->调试,生成调试信息选择是(/DEBUG)。

     3、C/C++->优化->优化选择禁用(/od)


(3)MFC项目如何利用控制台输出调试信息

1、在项目自动生成的stdafx.h文件中添加下面头文件

#include <io.h>
#include <fcntl.h>
#include <stdio.h> 
2、把下面的函数加到你初始化的地方,然后你就可以使用printf函数了
void InitConsoleWindow()
{
    int nCrt = 0;
    FILE* fp;
    AllocConsole();
    nCrt =_open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
    fp = _fdopen(nCrt, "w");
    *stdout = *fp;
    setvbuf(stdout, NULL, _IONBF, 0);
}
BOOL CXXXDlg::OnInitDialog()
{
  CString str;

初始化函数中添加

……………………

 InitConsoleWindow();

 printf("str   =   %s\n ",  "debug");

调用此函数后会弹出一个CONSOLE,然后printf的东西就会出现在上面。

(4) 如何不记忆ADO连接数据的长串

很多新手记不住长长的连接字符串。同事告诉我一个方法不需要记忆它了。方法如下:

1.新建一个文本文件test.txt,改其扩展名为.udl格式的文件,得到test.udl文件。如下图:


2.双击打开,如图:


按照向导设置完成后点击确定按钮。

3.右键单击test.udl文件,选择用记事本打开。打开后即得到连接字符串:

(5) 如何切换VS2008  空格显示 绿点,Tab 显示箭头 两种方式

方法一:通过菜单栏编辑----> 高级------>查看空白。

方法二:快捷键Ctrl+ r, ctrl + w, 切换空格示。

(6)VS2008如何显示行号

工具->选项->文本编辑器->C/C++->常规->显示 勾上行号

(7)VS2008如何代码折叠

工具(tools) -> 选项(Options) -> 文本编辑器(Text Editor) -> C/C++ -> 格式设置(Formatting)-> 勾上语句块的自动大纲显示(Automaticoutlining of statement blocks)。


作者:one_in_one 发表于2013-1-14 10:15:44 原文链接
阅读:0 评论:0 查看评论

    
[2]Android Wifi几点
    来源: 互联网  发布时间: 2014-02-18

1 首先,要实现一个简单的WIFI连接设置,我们需要掌握和WIFI功能相关的一些类,比如WIfiManager,WifiInfo,ScanResult,WifiConfiguration等,提供了WIFI连接相关的基本的API.

比如:

打开关闭网关:wifiManager.setWifiEnabled(true/false);

扫描周边网络:wifiManager.getScanResults();

连接指定网络:wifiManager.enableNetwork(networkId,true);

添加网络:wifiManager.addNetwork(wcg);

移除网络:wifiManager.removeNetwork(netId);

获取网卡状态:wifiManager.getWifiState()

……

2 扫描的网络将会被保存在一个List<ScanResult>中,同时WifiManager会为我们维护一个List<WifiConfiguration>,这个List中保存了我们已经连接过的配置好的网络连接.

当我们选择一个网络时,判断它是否存在于这个List中,存在即可直接连接,否则需要用户输入密码创建一个新的WifiConfiguration.

3 获得的ScanResult中将会保存有该无线连接的相关信息,包括SSID,BSSID,capabilities,level等属性,其中SSID号是该连接的一个标识符,比如我们经常看到的TP_LINKXXX.

capabilities中保存了相关加密信息,比如WEB和WPA等.level则表示信号度.

4 在获取连接状态时,即调用wifiManager.getWifiState()或者wifiInfo.getSupplicantState()时,通常在用户已经授权成功后,我们获得的状态值就为COMPLETED,此时不管网络是否已经连接成功,我们都无法获得新的状态. 所以要判断WIFI网络是否已经真的连接成功需要用到如下方法判断:

 
 ConnectivityManager connManager = (ConnectivityManager) WifiConnection.this
             .getSystemService(CONNECTIVITY_SERVICE);
// 获取代表联网状态的NetWorkInfo对象
NetworkInfo networkInfo = connManager.getActiveNetworkInfo();

if(networkInfo != null && networkInfo.getType() == 1
&& wifiAdmin.getWifiInfo().getSSID()!=null)
{

//WIFI网络连接成功

}

5 获取本地IP地址的方法:

public String getLocalIpAddress() {     
       try {     
           for (Enumeration<NetworkInterface> en = NetworkInterface     
                   .getNetworkInterfaces(); en.hasMoreElements();) {     
               NetworkInterface intf = en.nextElement();     
               for (Enumeration<InetAddress> enumIpAddr = intf     
                       .getInetAddresses(); enumIpAddr.hasMoreElements();) {     
                   InetAddress inetAddress = enumIpAddr.nextElement();     
                   if (!inetAddress.isLoopbackAddress()) {     
                       return inetAddress.getHostAddress().toString();     
                   }     
               }     
           }     
       } catch (SocketException ex) {     
           Log.e("WifiPreference IpAddress", ex.toString());     
       }     
       return null;     
   }     

6 在创建一个新的WifiConfiguration时,切记SSID和preSharedKey必须添加双引号,否则必将会导致连接失败.正确写法如下:
//创建一个新的WifiConfiguration
WifiConfiguration wcg = new WifiConfiguration();
wcg.BSSID = mBSSID;
//SSID和preSharedKey必须添加双引号,否则将会导致连接失败
wcg.SSID = "\"" + mSSID + "\"";
wcg.hiddenSSID = false;
wcg.status = WifiConfiguration.Status.ENABLED;
wcg.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
wcg.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
wcg.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wcg.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wcg.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wcg.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
//如果加密模式为WEP
if(mSecurity.equals("WEP"))
{
   wcg.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
   wcg.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
   wcg.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
   wcg.wepKeys[0] ="\"" + editText.getText().toString() + "\""; //This is the WEP Password
   wcg.wepTxKeyIndex = 0;
}
//如果加密模式为WPA EPA
else if(mSecurity.equals("WPA EAP"))
{
wcg.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
wcg.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wcg.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wcg.preSharedKey = "\"" + editText.getText().toString() + "\"";
}
//如果加密模式为WPA PSK
else if(mSecurity.equals("WPA PSK"))
{
wcg.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wcg.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wcg.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wcg.preSharedKey = "\"" + editText.getText().toString() + "\"";
}
//无加密
else
{
wcg.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
}


其他问题将会即使进行补充.

作者:redder_xu 发表于2013-1-14 10:15:43 原文链接
阅读:0 评论:0 查看评论

    
[3]Myeclipse中JDBC连接池的配置
    来源: 互联网  发布时间: 2014-02-18

软件版本myeclispe8.0,自带tomcat6.0.13。

jdbc:mysql-connector-java-5.1.13-bin.jar


第一步:建立工程。

在Myeclipse中file->new->web project。

因为在测试数据源(jsp)时用到了标签库,所以可以在这里选上jsdl支持,当然也可以在工程建好后右键工程文件夹->myeclipse->add JSTL

Libraries…实现同样的功能。


第二步:导入jdbc的jar包。

要直接将mysql-connector-java-3.1.7-bin.jar复制到“工程文件夹/WebRoot/WEB-INF/lib”文件夹下。这时,myeclipse会自动生成一个

Referenced Libraries,不用管。


第三步:建立context.xml文件。

在“工程文件夹/WebRoot/META-INF”下,新建context.xml文件。文件内容如下:


[html] view plaincopy
<?xml version="1.0" encoding="UTF-8"?>
<Context debug="5" reloadable="true">
<Resource
name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true" />
</Context>

解释:
name="jdbc/mysql"   //连接名,jndi中使用。具在JSP中用<sql:query var="rs" dataSource="jdbc/mysql">调用,servlet用 DataSource ds

= (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");调用。这里是tomcat的格式,不同的服务器可能有所不同。

auth="Container"    
type="javax.sql.DataSource"   
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"    //mysql的用户名
password=""        //mysql的用户密码,我这里是空 
driverClassName="com.mysql.jdbc.Driver"   //驱动类名,一般确定
url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true" //javatest是mysql中要使用的数据库名

第四步:修改web.xml文件。

在web.xml文件中添加以下内容: //重要一定添加进去

<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/mysql</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
</resource-ref>

这部分内容一般是确定的。

OK,现在可以测试数据源是否好了。下面是JSP测试文件:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri=" http://java.sun.com/jsp/jstl/sql " prefix="sql" %>
<%@ taglib uri=" http://java.sun.com/jsp/jstl/core " prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'MyJsp.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
<sql:query var="rs" dataSource="jdbc/mysql">
select id, username, password from user
</sql:query>
</head>

<body>
   <h2>Results</h2>

<c:forEach var="row" items="${rs.rows}">
    Foo ${row.username}<br/>
    Bar ${row.password}<br/>
</c:forEach> <br>
</body>
</html>

当然,如果你用servlet测试数据源也是可以的,下面是一个servlet测试例子:

package fx;

import java.io.IOException;
import java.io.PrintWriter;
import java.s

    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号