C++Builder 程序员博客
5 Aug
RT,程序目录可选,PATH如何填写,谢谢啦!!
没有看懂你的意思
不想要固定的目录,能否指定到程序安装目录?如上图
用ExtractFilePath(Application->ExeName)获取EXE所在目录!!
或者程序运行时,取当前路径即可
好的,谢谢,我试试,呵呵
3 Aug
目前我实现了一个MDI程序,我想通过双击方式,然后用我自己的MDI程序打开这个文件。目前文件类型已经和我的MDI程序关联起来了。因为这个MDI程序只允许一个进程实例。所以在没有启动的时候可以通过双击文件,在MDI show的时候获得传入文件的参数(文件名),然后将这个文件显示到子窗体中。
未实现点: 但是我想在任意时刻双击自定义文件的时候,MDI都能接受到这个消息并将获得这个文件名。从而在子窗体中显示出这个文件的内容。这个应该怎么做呢?
在你的应用程序中,判断ParamCount>1,说明有参数代入,ParamStr(1)就是双击的那个文件名。
那就是要在程序中用一个循环来不断检测这个参数值?
不需要。
关键的问题在于,你是如何“这个MDI程序只允许一个进程实例”,在这里做文章就行了。
是不是可以这样,你双击文件的时候其实都是要启动你的应用程序检测的,如果有实例已经运行的时候可以给你已有的实例发个消息,然后,你的应用处理这个消息就可以了吧
3 Aug
各位哥哥姐姐,
小弟初学C++ Builder,用TMediaPlayer制作了一个多媒体播放器。
驱动类型为:
this->MediaPlayerITS->DeviceType = dtAutoSelect;
当播放avi格式的视频时,通过try…catch,捕获:“系统中未装入驱动程序”错误;
驱动类型改为:dtAVIVideo时,播放同一avi视频,则不报错,也没有任何反应。
但是直接点击该avi视频时,可以正常播放。。。
希望各位大哥大姐帮帮忙,小弟在线等……….
自己顶…….
继续等大牛……..
如果播放不了 请检查你的avi文件是不是真正的avi文件
很可能是其他格式的文件直接更后缀名的
试试在你机器上装好支持AVI影片的播放器插件就可以的。
应该是这个avi文件内容有问题, 可能为不是标准的avi文件
多谢各位,结帖散分…….
3 Aug
目前我实现了一个MDI程序,我想通过双击方式,然后用我自己的MDI程序打开这个文件。目前文件类型已经和我的MDI程序关联起来了。因为这个MDI程序只允许一个进程实例。所以在没有启动的时候可以通过双击文件,在MDI show的时候获得传入文件的参数(文件名),然后将这个文件显示到子窗体中。
未实现点: 但是我想在任意时刻双击自定义文件的时候,MDI都能接受到这个消息并将获得这个文件名。从而在子窗体中显示出这个文件的内容。这个应该怎么做呢?
在你的应用程序中,判断ParamCount>1,说明有参数代入,ParamStr(1)就是双击的那个文件名。
那就是要在程序中用一个循环来不断检测这个参数值?
不需要。
关键的问题在于,你是如何“这个MDI程序只允许一个进程实例”,在这里做文章就行了。
是不是可以这样,你双击文件的时候其实都是要启动你的应用程序检测的,如果有实例已经运行的时候可以给你已有的实例发个消息,然后,你的应用处理这个消息就可以了吧
3 Aug
各位哥哥姐姐,
小弟初学C++ Builder,用TMediaPlayer制作了一个多媒体播放器。
驱动类型为:
this->MediaPlayerITS->DeviceType = dtAutoSelect;
当播放avi格式的视频时,通过try…catch,捕获:“系统中未装入驱动程序”错误;
驱动类型改为:dtAVIVideo时,播放同一avi视频,则不报错,也没有任何反应。
但是直接点击该avi视频时,可以正常播放。。。
希望各位大哥大姐帮帮忙,小弟在线等……….
自己顶…….
继续等大牛……..
如果播放不了 请检查你的avi文件是不是真正的avi文件
很可能是其他格式的文件直接更后缀名的
试试在你机器上装好支持AVI影片的播放器插件就可以的。
应该是这个avi文件内容有问题, 可能为不是标准的avi文件
多谢各位,结帖散分…….
3 Aug
目前我实现了一个MDI程序,我想通过双击方式,然后用我自己的MDI程序打开这个文件。目前文件类型已经和我的MDI程序关联起来了。因为这个MDI程序只允许一个进程实例。所以在没有启动的时候可以通过双击文件,在MDI show的时候获得传入文件的参数(文件名),然后将这个文件显示到子窗体中。
未实现点: 但是我想在任意时刻双击自定义文件的时候,MDI都能接受到这个消息并将获得这个文件名。从而在子窗体中显示出这个文件的内容。这个应该怎么做呢?
在你的应用程序中,判断ParamCount>1,说明有参数代入,ParamStr(1)就是双击的那个文件名。
那就是要在程序中用一个循环来不断检测这个参数值?
不需要。
关键的问题在于,你是如何“这个MDI程序只允许一个进程实例”,在这里做文章就行了。
是不是可以这样,你双击文件的时候其实都是要启动你的应用程序检测的,如果有实例已经运行的时候可以给你已有的实例发个消息,然后,你的应用处理这个消息就可以了吧
3 Aug
各位哥哥姐姐,
小弟初学C++ Builder,用TMediaPlayer制作了一个多媒体播放器。
驱动类型为:
this->MediaPlayerITS->DeviceType = dtAutoSelect;
当播放avi格式的视频时,通过try…catch,捕获:“系统中未装入驱动程序”错误;
驱动类型改为:dtAVIVideo时,播放同一avi视频,则不报错,也没有任何反应。
但是直接点击该avi视频时,可以正常播放。。。
希望各位大哥大姐帮帮忙,小弟在线等……….
自己顶…….
没有做过这个帮你顶
继续等大牛……..
如果播放不了 请检查你的avi文件是不是真正的avi文件
很可能是其他格式的文件直接更后缀名的
试试在你机器上装好支持AVI影片的播放器插件就可以的。
应该是这个avi文件内容有问题, 可能为不是标准的avi文件
多谢各位,结帖散分…….
3 Aug
目前我实现了一个MDI程序,我想通过双击方式,然后用我自己的MDI程序打开这个文件。目前文件类型已经和我的MDI程序关联起来了。因为这个MDI程序只允许一个进程实例。所以在没有启动的时候可以通过双击文件,在MDI show的时候获得传入文件的参数(文件名),然后将这个文件显示到子窗体中。
未实现点: 但是我想在任意时刻双击自定义文件的时候,MDI都能接受到这个消息并将获得这个文件名。从而在子窗体中显示出这个文件的内容。这个应该怎么做呢?
在你的应用程序中,判断ParamCount>1,说明有参数代入,ParamStr(1)就是双击的那个文件名。
那就是要在程序中用一个循环来不断检测这个参数值?
不需要。
关键的问题在于,你是如何“这个MDI程序只允许一个进程实例”,在这里做文章就行了。
是不是可以这样,你双击文件的时候其实都是要启动你的应用程序检测的,如果有实例已经运行的时候可以给你已有的实例发个消息,然后,你的应用处理这个消息就可以了吧
3 Aug
各位哥哥姐姐,
小弟初学C++ Builder,用TMediaPlayer制作了一个多媒体播放器。
驱动类型为:
this->MediaPlayerITS->DeviceType = dtAutoSelect;
当播放avi格式的视频时,通过try…catch,捕获:“系统中未装入驱动程序”错误;
驱动类型改为:dtAVIVideo时,播放同一avi视频,则不报错,也没有任何反应。
但是直接点击该avi视频时,可以正常播放。。。
希望各位大哥大姐帮帮忙,小弟在线等……….
自己顶…….
没有做过这个帮你顶
继续等大牛……..
如果播放不了 请检查你的avi文件是不是真正的avi文件
很可能是其他格式的文件直接更后缀名的
试试在你机器上装好支持AVI影片的播放器插件就可以的。
应该是这个avi文件内容有问题, 可能为不是标准的avi文件
多谢各位,结帖散分…….
16 Jul
菜鸟求助!我需要读取文本文件中的数据,要求读完图头后把各列曲线名和曲线数据对应读取出来(曲线名和曲线数据分别放在两个数组里),从#DEP这行开始读取,尝试了一下午没成功,请各位帮下忙,感谢大家了!
不成功 是那里出错?
贴出来看看
看不到图。
图呢??
一下是我同学在VC++中帮我写的程序,我想直接把它移植到BCB6中:(tt3中是原数据,tt4保存结果)
[code=C/C++][/code]
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
void main()
{
ifstream ifile;
ofstream ofiles;
ofstream ofilen;
ofstream ofilex;
int s=1,nzxs=1;
double start[50],stop[50];
/*double nzhd[500],nzed[500];*/
double yxhd[500],yxed[500];
double xc[1000];
int b[50],c[50];
int p[100],q[100];
int t[500];
double a[5201][5];
int i,j,m,n,d,e,f,z;
double u,v,w;
i=j=0;
ifile.open("E:\tt3.txt",ios::in|ios::nocreate);
if(!ifile)
{
cout<<"不能打开源文件"<<endl;
exit(1);
}
while(ifile.good())
{
for(j=0;j<5;j++)
{ ifile>>a[i][j]; }
i++;
}
if(ifile.eof())
cout<<"End of file reached.
";
/*for(j=0;j<5;j++) printf("%4.3f
",a[0][j]);*/
ofiles.open("E:\tt4.txt",ios::out|ios::nocreate);
i=m=0;
do
{ if(a[i][1]<=89.0000&&a[i][2]>=59.5000)
{start[m]=a[i][0];b[m]=i;
do{ i++; }while (a[i][1]<=89.0000&&a[i][2]>=59.5000 );
stop[m]=a[i-1][0];
c[m]=i-1;
cout<<"砂岩层"<<s<<"起始深度:"<<start[m]<<endl;
cout<<"砂岩层"<<s<<"终止深度:"<<stop[m]<<endl;
ofiles<<" "<<s<<" "<<start[m]<<" "<<stop[m]<<" "<<"砂岩层"<<endl;
m++;s++;i++;
}
else i++;
}while (i<=5201);
ofiles.close();
ifile.close();
}
这个应该不需要移植的吧,应该直接就可以编译的,都用的是c++的基本库