C++Builder 程序员博客
5 Sep
如何在C语言中输出"ⱦquot;这个字符?我用的是VC++6.0开发工具,想知道如何输出ASCII码128以上的数字?尤其这个"ⱦquot;???
谢谢!!
http://dev.csdn.net/article/48/48658.shtm
可以参见下面Delphi版的帖:
怎样在label中正确的显示“®”?就是圆圈里一个R字!
顶一下,使用gdiplus画,阿发伯对这个很熟悉.
printf("%c%c\n",0×0a1,0×0c0);
3 Sep
我想在BCB程序中浏览wap.baidu.com!
哪儿有可以浏览WAP的类似cppwebrowser控件么?
做wap浏览器应该是把wml文件下载下来,转换成html再用cppwebrowser打开。但是现在很多网站都做了检测,如果你是不是用手机上的他会自动给你转到WEB页面。上面那个网址解决了这个问题,不知道是怎么弄的
汗,你的方法不可行,我要上在 线的,因为可能有在先操作
我的目的是在一个程序中输入wap.baidu.com ,然后显示出此wap站点的内容!
wap.baidu.com只是举个例子,我总不能把所有的wml都下载下来吧,而且wml会更新的.
最重要的是,wap网页可能需要交互信息.
用cppwebrowser打开http://3gbrowser.cn/gt.aspx?url=http://wap.baidu.com,这个是可以交互信息的。要上其他网站把红色部分替换掉就行了。
一定要自己写代码的话,还是等其他高手来解答吧
不好意思,http://3gbrowser.cn/cn/可以,http://3gbrowser.cn/gt.aspx?url=http://wap.baidu.com不行。
呵呵,当然不是自己写代码!! :)!
我试试啊!
成了马上给分!! ^o^
只能打开第一层,为什么会这样?
打开第一层后,在网页左下角有个黄色感叹号"网页上有错误",是不是我的IE设置有问题?
先感谢一次,等会加分!
2 Sep
比如直接在Form上,切换出输入法,打什么字,这个字就会显示在Form上,当然英文字母可以用OnKeyDown什么的判断,可汉字怎么办?
这么深奥一个问题,不给分,实在说不过去,可惜小弟发这个贴的时候,已经没分了,打算,第二天再加分吧,没想到csdn的加分制度是最少就加100,我没有100分呀,加不了。
Form上面加了组件倒是可以,但是你这样什么都不加就要他显示,还真的是没有办法
自己在点击的地方绘制一个“会闪”的光标,然后outtext就醒了:p
下面代码已经测试通过:
if(uMsg == WM_IME_CHAR)
{
//汉字的两个字节缓冲
unsigned char *CharZh = new unsigned char[3];
CharZh[0] = (unsigned char)((Message.WParam >>
& 0xFF);
CharZh[1] = (unsigned char)(Message.WParam & 0xFF);
CharZh[2] = '\0';
//这行代码是C++Builder的,在VC应该相应的方法.
AnsiString Str = AnsiString((char*)CharZh);
// Memo1->Lines->Add("Input Text = " + Str);
delete[] CharZh;
}
29 Aug
//function.h
struct site
{
double a;
double b;
…………
}
extern site site_data[NUM];//NUM为常量
//tin.h
class T_tin
{
public:
T_tin();
~T_tin();
void CreatPoint(site * site_data);
…………
}
在tin.cpp里实现。
在main里使用时,出错
error C2061: syntax error : identifier 'site'
正确的应该怎么改?谢谢大家了。
在线等。
已经加过了,
#ifndef _TIN_H_
#define _TIN_H_
#include "function.h"
…………
…………
#endif
还是一样的错误。
谢谢。
//可以改成这样 //—function.h — #define NUM 5 struct site { double a; double b; //………… }; extern site site_data[NUM]; //NUM为常量 //—tin.h— #include "function.h" #include <iostream> using namespace std; class T_tin { public: T_tin(){}; ~T_tin(){}; void CreatPoint(site * site_data); //………… }; //—main.cpp— #include "tin.h" void main() { }
找到错误了。谢谢3楼。我在function.h 里有包含了tin.h.文件互相包含就出错了、
29 Aug
代码如下
this->Memo1->Lines->LoadFromFile("c:\\log\\one.txt");
如果这个文件比较大,有10M左右,如何用进度条( ProgressBar )来显示进度?
都是微软惹的祸
我觉得是不是可以按字节读取,把当前读取到的字节总数反映出来就可以正常反映进度了
用fopen,fread或者FileOpen,FileRead等函数!
10M的话Memo组件是没有办法打开的,Memo组件最大可以处理64KB的文本。就酸用WINDOWS自带的记事本也会很卡吧!Memo没什么好的办法控制那进度条
进度条不太好控制啊
Timer可解决问题。
26 Aug
在Form1里面有一个这样的结构体
在头文件里有这样的定义
struct Filedata
{
string aa;
string bb;
};
然后在Form1里对其赋值
我想从Form2里调用bb该怎么办啊?
请各位高手来帮帮忙……无尽感激……
记得先#include哦
回答完了才发现没分 - -
加了,也不行啊……
按照我的理解,你的form1.h里有这样的定义
struct Filedata
{
string aa;
string bb;
};
然后在form1.cpp里以全局变量的方式实例化
Filedata fd;
是这样的吧?
那好,在你的form2.cpp中
#include "form2.cpp"
……
extern Filedata fd;
这样应该就可以了
sorry,刚才写错了一个字符,应该是:
按照我的理解,你的form1.h里有这样的定义
struct Filedata
{
string aa;
string bb;
};
然后在form1.cpp里以全局变量的方式实例化
Filedata fd;
是这样的吧?
那好,在你的form2.cpp中
#include "form1.cpp"
……
extern Filedata fd;
这样应该就可以了
哥们,可以#include "form1.cpp" 这样的吗?我的编译通不过哎……
把你的struct定义放到Form1.h里,然后在From2.h里include Form1.h
…..
0分
出差在外,网吧上网,手头上没有以前写的程序,忘了到底是不是包含.cpp了,你自己试一下嘛:(
谢了,我已经可以调用那些数据了
25 Aug
如何在C++Builder里用函数读取图片文件的尺寸大小
特意来看看..
看看bmp的文件结构,也可以很容易读出来。
用TImage加载图象后他的Width和Height就是图像分辨率
学习
了解了
这个知道了.不过复习一下也好.哈
楼2正解
学习
19 Aug
一个数组,小的时候只有不到100个值,大的时候可以有kw级。
如何在chart里快速显示出来呢?
对于交大的时候,我本来是根据chart的canvas的宽,把数组做一个映射,几个点合成1个。
问题:
1、这几个点求平均,会丢掉峰值,比如50个点合成1个点,其中一个数组元素为10,其他为0.那一平均这10就没了。
2、取这50个元素的最大值吧,感觉也不好。
还有,chart zoom的时候,一会儿要显示大范围,一会儿显示小范围,用什么画呢?Lineto还是Rectangle?
我想尽量快速,直观的显示出来,请问如何作呢?
差别那么大很正常哦。
我不想要打点,我想要灰度图的效果
no man?
18 Aug
我自定义一个组件,继承TLable,然后在其类声明中加上 TOpenDialog *Open;在该组件的构造中添加 Open =new TOpenDialog ,然后又写了该组件的析构函数。编辑时出现以下错误,
Could not find a match for 'TOpenDialog::TOpenDialog';
Body has alread been defined for function "_fastcall TMyCom::~TMyCom()"
__fastcall virtual TOpenDialog(Classes::TComponent* AOwner);
你的构造函数调用不对
应该是Open=new TOpenDialog(this);
另外别忘记加头文件#include <Dialogs.hpp>
Body has alread been defined for function "_fastcall TMyCom::~TMyCom()"
这个是说明你的类实现体部分已经定义了一个析构函数。。估计是你写重复了
添加可以像你上面的那样添加,注意要析构它
怎么查看 可以看help,里面有构造函数的参数等的说明!
8 Aug
我想用fopen函数,如何在Server中共享的文件夹中建立文件,并且可以对其操作
如Server ip为10.0.0.1,目录为c:\test
在线等,谢谢!
我用 SetCurrentDirectory("\\10.0.0.1\\test\\")
怎么不行呢?
SetCurrentDirectory("\\\\10.0.0.1\\test\\")
void CreatFile(void)
{
int i;
FILE * SnFhandle;
SnFhandle=fopen(FileName,"w");
if (SnFhandle==NULL)
{
ShowMessage("Creat fail");
}
fclose(SnFhandle);
}
void __fastcall TLanidC::SnKeyPress(TObject *Sender, char &Key)
{
int i;
for(i=0;i <12;i++)
FileName[i]=Sn->Text.c_str()[i]; // Filename为全局变量 前面已经定义
SetCurrentDirectory("\\\\10.0.0.1\\test");
CreatFile();
SnMessage->Color=clLime;
Sn->ReadOnly=true;
Input->Enabled=true;
}
帮忙看看问题在哪儿(编译通过),确定网络是通的,可以直接对其操作,谢谢!
也改为SetCurrentDirectory("\\\\10.0.0.1\\test\\");
也不可以,等了2-5分钟后在程式所在的目前下建立了文件
我不敢肯定SetCurrentDirectory能不能在网络共享盘里工作,你试试把FileName直接设置成绝对路径。
帮忙顶了,接点儿辛苦分儿。嘿嘿
我直接改成
void CreatFile(void)
{
int i;
HANDLE hSearch;
FILE * SnFhandle;
SnFhandle=fopen("\\\\10.0.0.1\\test\\11.txt","w"); //也试过“\\\10.0.0.1\\test\\11.txt”
if (SnFhandle==NULL)
{
ShowMessage("Creat fail");
}
fclose(SnFhandle);
}
就是无法建立文件,SnFhandle==NULL
请指教!
有没有其他的方法可以实现,请高手赐教!
试验了你的代码,完全可以正确执行,请确认你是不是有权限在\\10.0.0.1\test\里写文件。你用资源管理器打开\\10.0.0.1\test\,试试能不能在里面建立文件?
该回复于2008-08-06 13:38:33被版主删除
我有用 资源管理器打开\\10.0.0.1\test\,可以完全控制文件,读,写,删!
这个群我没法加入
服务器拒绝您的请求,对方拒绝加入成员。
我改成映射成网络磁盘才可以,不过这样不是我想要得结果