Iman System
05-11-2008, 00:12
سلام!
در برنامه هاي كنسولي چطور ميشه برنامه رو
1. fullscreen كرد؟
2. فارسي كرد؟
3. رنگ text و background رو عوض كرد؟
4. عكس رو نشون داد؟
تشكر
Iman System
05-11-2008, 19:12
1. برنامه هاي تحت داس رو بطور Fullscreen اجرا كنم.
2. در برنامه هاي تحت داس بتونم از فونت فارسي استفاده كنم.
3. در برنامه هاي تحت داس رنگ زمينه و متن (هر قسمتي از متن رو كه خواستم) رو تغيير بدم.
4. در برنامه هاي تحت داس بتونم يك عكس (با هر فرمتي) رو در صفحه ي داس (هر قسمتي) نشون بدم.
5. فونت متن برنامه در داس رو تغيير بدم.
برای فول اسکرین کردنشون که از کلید alt+enter استفاده کن
hamidreza_buddy
05-11-2008, 21:44
برای تغییر فون و بک گروند و .... باید روی گوشه بالا سمت چپ کلیک کنی و منویی که باز میشه رو بری تو properties و سپس اونجا تغییراتت رو اعمال کنی.
در ضمن می تونی با دستور داس color این کار رو انجام بدی. توی cmd این رو بزن:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Iman System
06-11-2008, 12:28
ببخشيد منظورم در برنامه نويسي بود ؟
اون موارد رو ميخوام در برنامم به كار بگيرم.
hamidreza_buddy
06-11-2008, 13:22
خوب چرا گرافیکی نمی نویسی؟!
background رو میشه با استفاده از همون دستور color تغییر داد. اینجوری که اون رو تو تابع سیستم صدا زد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فارسی رو هم باید بیخیالش بشی!
برای نشون دادن عکس ه مباید فایل عکس رو باز کنی و سپس یکی یکی پیکسل ها رو رنگ کنی! تازه، بعید می دونم توی ویندوز بشه توابع گرافیکی داس رو اجرا کرد.
البته توی command prompt لینوکس کتابخونه هایی برای کار گرافیکی وجود داره (مثل ساختن منو و ...).
دوست عزیز اگر بخوای رنگ پس زمینه و خود متن رو با کد تو c++ تغییر بدی باید از کد زیر استفاده کنی :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد هر جا که خواستی رنگ متن تو کنسول تغییر کنه از کد زیر استفاده کن :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثلا اگر بخواهی رنگ متن قرمز بشه تو قسمت تغییرات مربوط به رنگ عبارت FOREGROUND_RED رو وارد می کنی.
اگر بخواهی رنگی به غیر از سه رنگ اصلی داشته باشی باید از ترکیبات رنگ استفاده کنی مثلا برای رنگی که از ترکیب سبز و آبی بوجود میاد باید از کد FOREGROUND_GREEN || FOREGROUND_BLUE باید تو تغییرات رنگ استفاده کنی. علاوه بر این می تونی روشنی متن رو هم تغییر بدی با عبارت FOREGROUND_INTENSITY رنگ روشن تر میشه و در ضمن برای تغییر رنگ بک گراند متن ار BACK به جای FORE استفاده کن.
برنامه پایین یه مثال رو از کد های بالا نشون میده که قبلا هم تو فروم گذاشته بودم :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینم محتوای سرفایل Borders.h :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه به دستورات کد های بالا دقت کنی میتونی چیز های جالبی یاد بگیری.
Iman System
06-11-2008, 20:30
- اول برنامه كاري كن كه كاربر فقط اعداد 1 و 2 و 3 و 4 رو بتونه وارد كنه!
در ضمن چطور خودكار fullscreen اجرا بشه؟
فکر نکنم با کد فول اسکرین بشه.
- اول برنامه كاري كن كه كاربر فقط اعداد 1 و 2 و 3 و 4 رو بتونه وارد كنه!
منظور شما چیه؟
ویرایش شد
بله درسته در صورتی که مقدار دیگه ای وارد بشه برنامه هنگ میکنه (رشته و ...)
کد برنامه ویرایش شد :
[code]#include <iostream>
#include <string.h>
#include <fstream>
#include <conio.h>
#include <windows.h>
#include "Borders.h"
using namespace std;
const int NameSize=40;
char Name[NameSize];
string FirstName;
string LastName;
string Telephone;
string Mobile;
string Address;
string FirstName2;
string LastName2;
string Telephone2;
string Mobile2;
string Address2;
void QuestionForm (int);
void SaveDataBase();
void ImportDataBase(char DBName[]);
void AboutDisplayMassage();
void gotoxy(int x,int y)
{
COORD pos;
HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );
if (INVALID_HANDLE_VALUE != hConsole)
{
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition( hConsole, pos );
}
}
int main () {
int ResumeProgram=true;
while (ResumeProgram) {
SetConsoleTitle("Phone Book Classic");
char answer;
HANDLE hOut;
hOut = GetStdHandle (STD_OUTPUT_HANDLE);
system("cls");
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<"\n\n\n\n\n\n";
cout<<" ____________________________ "<<endl;
cout<<" | |"<<endl;
cout<<" | ++ Welcome ++ |"<<endl;
cout<<" | |"<<endl;
cout<<" | ++ Select a modify ++ |"<<endl;
cout<<" | |"<<endl;
cout<<" | 1.Enter Data |"<<endl;
cout<<" | |"<<endl;
cout<<" | 2.Import Data |"<<endl;
cout<<" | |"<<endl;
cout<<" | 3.About |"<<endl;
cout<<" | |"<<endl;
cout<<" | 4.Quit |"<<endl;
cout<<" |____________________________|"<<endl;
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_BLUE|FOREGROUND_INTENSITY);
cout<<"\n\n Answer :";
At (39,22,(unsigned char)186);
At (41,22,(unsigned char)186);
At (40,21,(unsigned char)205);
At (40,23,(unsigned char)205);
At (41,21,(unsigned char)187);
At (41,23,(unsigned char)188);
At (39,21,(unsigned char)201);
At (39,23,(unsigned char)200);
gotoxy(40,22);
SetConsoleTextAttribute(hOut,FOREGROUND_RED|FOREGR OUND_BLUE|FOREGROUND_INTENSITY);
cin>>answer;
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE);
switch (answer) {
case '1' :
QuestionForm(1);
break;
case '2' :
QuestionForm(2);
break;
case '3' :
AboutDisplayMassage();
break;
case '4' :
ResumeProgram=false;
break;
default :
break;}}
return 0;}
void QuestionForm (int modify){
HANDLE hOut;
hOut = GetStdHandle (STD_OUTPUT_HANDLE);
if (modify==1){
SetConsoleTitle("Phone Book Classic > Save Data");
system("cls");
cout<<"\n\n\n\n\n\n";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<" Enter DataBase Name : ";
cin>>Name;
system("cls");
cout<<"\n";
cout<<"\n First Name : ";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_INTENSITY);
At(18,2,(unsigned char)179);
At(50,2,(unsigned char)179);
At(18,1,(unsigned char)218);
At(50,1,(unsigned char)191);
At(18,3,(unsigned char)192);
At(50,3,(unsigned char)217);
for (int body=19;body<=49;body++) {
At(body,1,(unsigned char)196);}
for (int bottom=19;bottom<=49;bottom++) {
At(bottom,3,(unsigned char)196);}
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<"\n\n Last Name : ";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_INTENSITY);
At(18,5,(unsigned char)179);
At(50,5,(unsigned char)179);
At(18,4,(unsigned char)218);
At(50,4,(unsigned char)191);
At(18,6,(unsigned char)192);
At(50,6,(unsigned char)217);
for (int body2=19;body2<=49;body2++) {
At(body2,4,(unsigned char)196);}
for (int bottom2=19;bottom2<=49;bottom2++) {
At(bottom2,6,(unsigned char)196);}
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<"\n\nTelephone Number : ";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_INTENSITY);
At(18,8,(unsigned char)179);
At(50,8,(unsigned char)179);
At(18,7,(unsigned char)218);
At(50,7,(unsigned char)191);
At(18,9,(unsigned char)192);
At(50,9,(unsigned char)217);
for (int body3=19;body3<=49;body3++) {
At(body3,7,(unsigned char)196);}
for (int bottom3=19;bottom3<=49;bottom3++) {
At(bottom3,9,(unsigned char)196);}
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<"\n\n Moblie Number : ";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_INTENSITY);
At(18,11,(unsigned char)179);
At(50,11,(unsigned char)179);
At(18,10,(unsigned char)218);
At(50,10,(unsigned char)191);
At(18,12,(unsigned char)192);
At(50,12,(unsigned char)217);
for (int body4=19;body4<=49;body4++) {
At(body4,10,(unsigned char)196);}
for (int bottom4=19;bottom4<=49;bottom4++) {
At(bottom4,12,(unsigned char)196);}
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<"\n\n Address : ";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_INTENSITY);
At(18,14,(unsigned char)179);
At(50,14,(unsigned char)179);
At(18,13,(unsigned char)218);
At(50,13,(unsigned char)191);
At(18,15,(unsigned char)192);
At(50,15,(unsigned char)217);
for (int body5=19;body5<=49;body5++) {
At(body5,13,(unsigned char)196);}
for (int bottom5=19;bottom5<=49;bottom5++) {
At(bottom5,15,(unsigned char)196);}
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cin.sync();
gotoxy(19,2);
getline(cin,FirstName2);
gotoxy(19,5);
getline(cin,LastName2);
gotoxy(19,8);
getline(cin,Telephone2);
gotoxy(19,11);
getline(cin,Mobile2);
gotoxy(19,14);
getline(cin,Address2);
FirstName=" FirstName : "+FirstName2;
LastName= " LastName : "+LastName2;
Telephone=" Telephone Number : "+Telephone2;
Mobile= " Mobile Number : "+Mobile2;
Address= " Address : "+Address2;
SaveDataBase();}
else {
SetConsoleTitle("Phone Book Classic > Load Data");
system("cls");
cout<<"\n\n\n\n\n\n";
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
cout<<" Enter DataBase Name : ";
cin>>Name;
system("cls");
ImportDataBase(Name);}
}
void SaveDataBase(){
ofstream DB;
DB.open(Name);
DB<<FirstName<<"\n\n"<<LastName<<"\n\n"<<Telephone<<"\n\n"<<Mobile<<"\n\n"<<Address;
DB.close();
cout<<"\n\nThe Datas has been saved !...";
getch();}
void ImportDataBase(char DBName[]){
HANDLE hOut;
hOut = GetStdHandle (STD_OUTPUT_HANDLE);
string Buffer;
ifstream myDB (DBName);
if (myDB.is_open())
{
while (! myDB.eof() )
{
getline (myDB,Buffer);
SetConsoleTextAttribute(hOut,FOREGROUND_GREEN|FORE GROUND_INTENSITY);
cout << Buffer<<endl;
}
myDB.close();
}
else cout << "Unable to open file";
getch();}
void AboutDisplayMassage() {
SetConsoleTitle("Phone Book Classic > About");
system("cls");
cout<<"\n\n\n\n";
cout<<" ____________________________ "<<endl;
cout<<" | |"<<endl;
cout<<" | This Program |"<<endl;
cout<<" | |"<<endl;
cout<<" | Writed by C++ in |"<<endl;
cout<<" | |"<<endl;
cout<<" | Agust 2008 - 1387 H.SH |"<<endl;
cout<<" | |"<<endl;
cout<<" | If you find a bug in this |"<<endl;
cout<<" | Call with this E-Mail : |"<<endl;
cout<<" | Hosein1986@Hotmail.com |"<<endl;
cout<<" |____________________________|"<<endl;
getch();}
[code]
Iman System
06-11-2008, 23:28
پس فارسي چطور ؟ اخه من برنامه ي بانك كه تحت داس هست رو ديدم كه كاملا فارسي بود (چه ورودي چه خروجي) ؟
در عين حال امضاي صاحبحساب رو هم بصورت عكس نشون ميداد .
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.