有没有办法在Codegear RAD Studio IDE中的一个动作中缩进/标注多行?
即我希望能够突出显示多行并同时将它们全部缩进一个标签.
如何使用TIdyAttachment发送附件?
如何将这个TIdAttachment.Create(msg.MessageParts, 'c:\attach.bmp');delphi语句转换为c ++ builder?如何在c ++ builder中使用这个抽象类?由于它是抽象的我无法创建它的实例!
我发现此代码仅用于gotoxy()使用C标准库的替换函数.显然它编译使用GCC和工作方式类似于gotoxy()中发现的conio.h.
但是我只有用Borland C++编译器V5.5,该编译罚款,但不会重新像光标gotoxy()在conio.h做.任何人都可以在使用GCC时验证这是否有效,或者告诉我为什么使用Borland不起作用?
#include<stdio.h>
#include<stdlib.h>
void gotoxy(int x, int y)
{
printf("%c[%d;%df", 0x1B, y, x);
}
int main()
{
gotoxy(10, 10);
printf("hello world");
}
Run Code Online (Sandbox Code Playgroud) 我有这个C++ Builder 2009应用程序.这不是绝望 - 这是一个演示,但它驱使我去苏格兰威士忌.我现在充满了单一的麦芽,我不得不寻求帮助.
这个应用程序有一个主要形式和一些其他所有工作的东西.我没有理由认为它有任何问题.我添加了另一个表单'TfoPNGload',并添加了一些组件 - 没什么不寻常的.我把它从自动创建列表中取出,因此可以按需创建实例.
作为测试,我在主窗体上添加了一个SpeedButton,然后在单击中创建了一个'TfoPNGload'窗体的实例,并且Show()编辑了它:
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
myPNGform=new TfoPNGload(NULL);
myPNGform->Show();
}
Run Code Online (Sandbox Code Playgroud)
这也很好 - 我点击按钮,弹出一个表格.
一切正常.
我添加了一个消息处理程序,即使在发送任何消息之前,事情也变得异常.我添加了一个函数和宏的东西,使它成为一个消息处理程序:
class TfoPNGload : public TForm
{
__published: // IDE-managed Components
TImage *Image1;
TPanel *Panel1;
TSpeedButton *SpeedButton1;
TTimer *tiSlideShow;
TLabel *Label1;
void __fastcall tiSlideShowTimer(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
private:
PNGload *myLoad;
void __fastcall filesLoaded(TObject *Sender);
protected:
public: // User declarations
__fastcall TfoPNGload(TComponent* Owner);
MESSAGE void __fastcall WMAPP(TMessage& msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_APP, TMessage, WMAPP)
END_MESSAGE_MAP(TfoPNGload)
vector<PNGtask*> *PNGresult;
int vecSize; …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行一些别人给我的C++代码.起初有一个istream文件链接断开,我通过添加包含路径修复了这个链接:
C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\include\dinkumware
Run Code Online (Sandbox Code Playgroud)
代码现在编译但它不会在任何断点处停止,例如formcreate:
// Initialise the form and read in the module and inverter names.
void __fastcall TMain::FormCreate(TObject *Sender)
{
ifstream inits;
ifstream inverters;
ifstream modules;
char line[1000];
AnsiString FTO;
inits.open("PVSM.ini", ios::in);
if (inits.is_open())
{
inits.getline(line,1000);
AnsiString parmm(line);
ModDir = parmm.SubString(1,parmm.Pos(" ")-1);
inits.getline(line,1000);
AnsiString parmi(line);
InvDir = parmi.SubString(1,parmi.Pos(" ")-1);
inits.getline(line,1000);
AnsiString parmt(line);
MetDir = parmt.SubString(1,parmt.Pos(" ")-1);
inits.getline(line,1000);
AnsiString parms(line);
ShdDir = parms.SubString(1,parms.Pos(" ")-1);
inits.getline(line,1000);
AnsiString parmx(line);
ExpDir = parmx.SubString(1,parmx.Pos(" ")-1);
}
else // …Run Code Online (Sandbox Code Playgroud) 我是否认为以下代码块是正确的:
try
{
Screen->Cursor = crHourGlass;
try
{
throw Exception("error!");
}
catch(Exception& e)
{
Application->MessageBox(UnicodeString(e.Message).c_str(), L"Error", MB_OK);
}
}
__finally
{
Screen->Cursor = crDefault;
}
Run Code Online (Sandbox Code Playgroud)
实际上是否与此相同,并且__finally在这里毫无用处,因为在两种情况下,无论如何都将执行Screen-> Cursor = crDefault?
Screen->Cursor = crHourGlass;
try
{
throw Exception("error!");
}
catch(Exception& e)
{
Application->MessageBox(UnicodeString(e.Message).c_str(), L"Error", MB_OK);
}
Screen->Cursor = crDefault;
Run Code Online (Sandbox Code Playgroud) 我正在使用Embarcadero的C++ Builder XE8.我有一个ListView,并动态添加其项目列.我需要一个图像列表,因为我想将图像添加到第二列,也就是使用(ListItem-> SubItemImages [0] = i;)
似乎通过添加此图像列表,默认情况下C++ Builder认为主列还需要一个图像,因此它默认将图像列表的第0个元素附加到该列中的所有项目.我不希望这种情况发生.而是在"ID"列下,我只想要ID而不是任何图像.我怎样才能做到这一点?
我的代码:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
const string firstName[] = {"Snowball", "Scavies", "Tinkerbell", "Fido", "Garfield", "Kobe"};
const string lastName[] = {"M", "E", "O", "W", "W", "W"};
TListColumn *NewColumn;
TListItem *ListItem;
TListView *ListView = ListView1;
ListView->SmallImages = ImageList1;
ListView->ViewStyle = vsReport;
NewColumn = ListView->Columns->Add();
NewColumn->Caption = "ID";
NewColumn = ListView->Columns->Add();
NewColumn->Caption = "Node";
NewColumn = ListView->Columns->Add();
NewColumn->Caption = "First";
for (int i = 0; i < sizeof( firstName ) / sizeof( firstName[0] …Run Code Online (Sandbox Code Playgroud) 有没有办法在C++中同时满足两个条件?
我有一份清单
x and y
-1 -1
-1 0
-1 1
0 -1
0 0
0 1
1 -1
1 0
1 1
Run Code Online (Sandbox Code Playgroud)
所以我想在一个等式中使用它们的所有组合,例如:
a = x+y (example)
Run Code Online (Sandbox Code Playgroud)
但是我想排除x和y同时为0的情况.
所以我试过了:
if(x!=0 && y!=0){
a = x+y;
}
Run Code Online (Sandbox Code Playgroud)
但这排除了x或y等于0的每种情况,而不仅仅是我想要的点x,y =(0,0).
我怎么解决这个问题?
我最近开始研究使用C++ Builder(Borland)构建的旧解决方案.
我遇到了允许一些意外操作的代码.
1)将int赋值给String而不进行转换:
String x = 12; //this works... I would expect a type mismatch..
Run Code Online (Sandbox Code Playgroud)
2)String与int的比较没有问题:
String s = "12";
int x = 12;
bool b = s == x; // Again... I expect an error..
Run Code Online (Sandbox Code Playgroud)
C++ Builder是否进行了一些自动转换?对于C++ Builder,是否有"OMG我不能相信他们这样做"的列表?
c++builder ×10
c++ ×6
delphi ×2
borland-c++ ×1
breakpoints ×1
c ×1
c++14 ×1
c99 ×1
debugging ×1
gcc ×1
if-statement ×1
indentation ×1
indy ×1
indy10 ×1
string ×1