我爱builder

C++Builder 程序员博客

如何在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);

  • Filed under: C++ Builder
  • 我想在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设置有问题?

    先感谢一次,等会加分!

  • Filed under: C++ Builder
  • 比如直接在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 >> 8) & 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;
    }

  • Filed under: C++ Builder
  • //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
    还是一样的错误。
    谢谢。

    C/C++ code
    //可以改成这样 //—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.文件互相包含就出错了、

  • Filed under: C++ Builder
  • 代码如下
    this->Memo1->Lines->LoadFromFile("c:\\log\\one.txt");
    如果这个文件比较大,有10M左右,如何用进度条( ProgressBar )来显示进度?

    都是微软惹的祸

    我觉得是不是可以按字节读取,把当前读取到的字节总数反映出来就可以正常反映进度了

    用fopen,fread或者FileOpen,FileRead等函数!

    10M的话Memo组件是没有办法打开的,Memo组件最大可以处理64KB的文本。就酸用WINDOWS自带的记事本也会很卡吧!Memo没什么好的办法控制那进度条

    进度条不太好控制啊

    Timer可解决问题。

  • Filed under: C++ Builder
  • 在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了,你自己试一下嘛:(

    引用 7 楼 liuyunroger 的回复:
    哥们,可以#include "form1.cpp" 这样的吗?我的编译通不过哎……

    谢了,我已经可以调用那些数据了

  • Filed under: C++ Builder
  • 如何在C++Builder里用函数读取图片文件的尺寸大小

    特意来看看..

    看看bmp的文件结构,也可以很容易读出来。

    用TImage加载图象后他的Width和Height就是图像分辨率

    学习

    了解了

    这个知道了.不过复习一下也好.哈

    楼2正解

    学习

  • Filed under: C++ Builder
  • 一个数组,小的时候只有不到100个值,大的时候可以有kw级。
    如何在chart里快速显示出来呢?

    对于交大的时候,我本来是根据chart的canvas的宽,把数组做一个映射,几个点合成1个。

    问题:
    1、这几个点求平均,会丢掉峰值,比如50个点合成1个点,其中一个数组元素为10,其他为0.那一平均这10就没了。
    2、取这50个元素的最大值吧,感觉也不好。

    还有,chart zoom的时候,一会儿要显示大范围,一会儿显示小范围,用什么画呢?Lineto还是Rectangle?

    我想尽量快速,直观的显示出来,请问如何作呢?

    差别那么大很正常哦。

    我不想要打点,我想要灰度图的效果

    no man?

  • Filed under: C++ Builder
  • 我自定义一个组件,继承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()"

    这个是说明你的类实现体部分已经定义了一个析构函数。。估计是你写重复了

    引用 1 楼 zyz842 的回复:
    请问该如何在自定义组件中添加已有的组件做对象,还有就是如何查看已有组件对象的构造函数
    谢谢

    添加可以像你上面的那样添加,注意要析构它

    怎么查看 可以看help,里面有构造函数的参数等的说明!

  • Filed under: C++ Builder
  • 我想用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\,可以完全控制文件,读,写,删!

    这个群我没法加入

    服务器拒绝您的请求,对方拒绝加入成员。

    我改成映射成网络磁盘才可以,不过这样不是我想要得结果

  • Filed under: C++ Builder
  • 类别

    最新

    标签

    链接


    存档