//------------------------------------------------
#define VCL_IOSTREAM
#include <vcl.h>
#include <condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
#include "FormFromConsole.h"
USEFORM("FormFromConsole.cpp", Form1);
//------------------------------------------------
//SetConsoleOutputCP(1251); - не работает, А?
String coutRus(String Text)
{
String Result;
int TextLen = Text.Length();
char* Buffer = new char[TextLen];
CharToOem(Text.c_str(), Buffer);
Result = Buffer;
delete Buffer;
return Result;
}
//------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
char title[256] = "";
char className[20] = "";
GetModuleFileName(0, title, sizeof(title));
TOSVersionInfo info;
info.dwOSVersionInfoSize = sizeof(info);
GetVersionEx(&info);
int platform = info.dwPlatformId;
if (platform == VER_PLATFORM_WIN32_NT)//NT
strcpy(className, "ConsoleWindowClass");
else {//Windows 95
strcpy(className, "tty");
String name = title;
int pos = name.LastDelimiter("\\" );
name = name.SubString(++pos, name.Length());
name = name.SubString(1, name.Length() - 4);
strcpy(title, name.c_str());
}
HWND hWnd = FindWindow(className, title);
bool done = false;
do {
clrscr();
cout << coutRus("Введите команду...");
cout << endl;
int choice;
choice = getch();
choice -= 48;
while(choice < -1 || choice > 1) {
clrscr();
cout << endl;
cout << coutRus("Список команд...");
cout << endl;
cout << coutRus("0. Завершение работы");
cout << endl;
cout << coutRus("1. Вызов формы");
cout << endl;
choice = getch();
choice -= 48;
}
switch (choice) {
case 0 :
done = true;
break;
case 1 :
EnableWindow(hWnd, false);
TForm1* Form1 = new TForm1(0);
Form1->ShowModal();
EnableWindow(hWnd, true);
BringWindowToTop(hWnd);
cout << endl << coutRus("Результат: ") << coutRus(Form1->Edit1->Text) << endl;
cout << coutRus("Нажмите любую клавишу для продолжения работы...") << endl;
getch();
delete Form1;
break;
}
} while(!done);
return 0;
}
//------------------------------------------------
Консоль & winsock
Как использовать WinSock(TClientSocket TServerSocket) или другие классы VCL в консольном приложении или консоль в Application?
Не думаю что это возможно.
Цитата:
Originally posted by mike
Не думаю что это возможно.
Вот пример консольного приложения, которое скачивает страницу сайта:
http://mike.nov.ru/soft/socket/
Не думаю что это возможно.
Вот пример консольного приложения, которое скачивает страницу сайта:
http://mike.nov.ru/soft/socket/
WSASocket изучайте.
Цитата:
Originally posted by mike
Не думаю что это возможно.
Не думаю что это возможно.
File|New->ConsoleWizard->(установить галки - Use VCL, Console Application)->Ok;
File|New->Form->Ok.
Код:
Цитата:
Originally posted by GoGosha
или консоль в Application?
или консоль в Application?
это не понял...