کمک کنید !!!!!!!!
کمک کنید !!!!!!!!
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
//************************************************** **********************
int Mouse(void){
REGS in,out;
in.x.ax=0x00;
int86(0x33,&in,&out);
if(out.x.ax==0) return 0;
return 1;
}
//************************************************** **********************
void ShowCursor(void){
REGS in,out;
in.x.ax=0x01;
int86(0x33,&in,&out);
}
//************************************************** **********************
void HideCursor(void){
REGS in,out;
in.x.ax=0x02;
int86(0x33,&in,&out);
}
//************************************************** **********************
void CursorLocate(int* column,int* row){
REGS in,out;
in.x.ax=0x03;
int86(0x33,&in,&out);
*column=out.x.cx;
*row=out.x.dx;
}
//************************************************** **********************
void CursorTo(int column,int row){
REGS in,out;
in.x.ax=0x04;
in.x.cx=column;
in.x.dx=row;
int86(0x33,&in,&out);
}
//************************************************** **********************
int Click(int key){
REGS in,out;
in.x.ax=0x05;
in.x.bx=key;
int86(0x33,&in,&out);
return out.x.bx;
}
//************************************************** ***************************
void fill_circle(int x,int y,int r, int c){
setcolor(c);
while(r){
circle(x,y,r);
r--;
}
}
//************************************************** **********************
main(){
int *x,*y,driver=0,mode=DETECT;
initgraph(&driver,&mode,"../bgi");
Mouse();
ShowCursor();
CursorTo(0,0);
setcolor(15);
circle(300,200,10);
for(int i=1;i<=8;i++){
for(int j=1;j<=8;j++){
printf("\n i=%d , j=%d",i,j);
}
}
rectangle(290,190,310,210);
while(1){
CursorLocate(x,y);
if(*x>=290 && *x<=310 && *y>=190 && *y<=210 && Click(0)==1){
HideCursor();
fill_circle(300,200,10,20);
getch();
HideCursor();
exit(1);
}
}
}
دوست من در توربو سی راحت ترین و کامل ترینش اینه ولی در کنسول مایکروسافت یکم راحتر میشه که باید از vC++6 به بالا کار کنی و خروجی مربوط به محیط ویندوزه در کل فرقی نداره آخرش باید موقعیت ماوس را با کلید یا هر قسمتی که به عنوان کلید در نظر گرفتی مقایسه کنی اگر اشاره گر ماوس در اون موقعیت بود و در ماوس حالت یک کلید فشرده بود می تونی یک تابعی رو اجرا کنی اما اگه فکر می کنی مثل سی شارپ یا وی بی میشه با ماوس کار کرد در اشتباهی چون راه دیگه اینه که مستقیم با پورت ماوس حرف بزنی و پورت ماوس بایدمشخص باشه چیه ...................................
آخرین ویرایش به وسیله sadegh-hut : چهارشنبه 26 اسفند 1388 در 01:21 صبح
منم عید رو پیشاپیش به شما و همه دوستان برنامه نویس تبریک می گم و
اینو قبلا توضیح دادم که باید به پورت کارت بلاستر متصل بشی یک سرچی کن تو فروم پیدا می کنی چگونه یک فایل ویو را پخش کنیم؟ ولی تمام سورسی که نیاز داری اینجاست http://www.shdon.com/dos/sound
درست مثل همین ماوسه اول با یک پورت ارتباط بر قرار می کنی و بعد اطلاعات رو براش می فرستی برای ضبظ کردن صدا همین کارو انجام می دی حتما به لینک بالا سر بزن
اما تو ویژوال بهترین راه استفاده از api های ویندوزه که خیلی ساده تر از این کد هاست
تشكر
من هر كاري كه گفته بودي انجام دادم ولي به نتيجه اي نرسيدم .
هم رفتم تو سايتي كه گفته بودي (كه يه چندتا چيز دانلود كردم بعد كه ديدم شون معلوم نبود چي بودن !!!!!!!!!!)
تو تايپيكا هم گشتم من يكي كه هيچي در اين مورد نديدم
در این لینک یک مثال از پخش فایل صوتی و یک مثال از ضبط کردنش وجود داره آخر صفحه
در تاپیکم یکی قبلا پرسیده بود فایل صوتی را چطور پخش کنیم ....
اما شما چه صدایی می خواهید تولید کنید؟
ببين من مي خوام مثلا يه برنامه بنويسم كه وقتي با موس روي چيزي كليك كرديم يه صدايي توليد كنه يا مثلا هركار ديگه كرديم يه صدايي بده .
در ضمن مي خوام اين قابليتو داشته باشه كه كابر بتونه تنظيم كنه كه صدا داشته باشه يا نه
همين !!!!!!!!
برای اینکه یک صدا تولید کنی فقط کافیه از این کد استفاده کنی
sound(6);
delay(500);
nosound();
اگه می خواهی یک فایل صوتی رو پخش کنی بهتره از یک نرم افزار خارج از برنامه که این قابلیت رو داره استفاده کنی و با فرواخوانی نرم افزار خارجی صدا رو پخش کنی ولی روش اول راحت تره
sound(6);
delay(500);
nosound();
از اين استفاده كردم ولي هيچي نشد ؟؟؟؟
ميگم براي گرافيك هم اون اول با TC مشكل داشتم بعد فهميدم كه بايد يه سري فايل از پوشه ي BGI تو پوشه ي BIN كپي مي كردم بعدم مشكل رفع شد.
حالا مي گم يه وقت اينم اينجوري نيست ؟؟؟؟؟؟
دوست من من خودم این کد رو تست کردم یک صدا شبیه به بالا رفتن آسانسور ایجاد می کنه در ضمن احتیاج به سر فایل dos.h داره. البته با ویندوز اکس پی نمی دونم جواب بده یا نه ولی با داس باکس جواب داد:
#include <dos.h>
int main(void)
{
for(int i=1;i<=100;i++){
sound(i);
delay(i);
}
nosound();
return 0;
}
عجب آسانسوري دارين!!!
منظورت صداي داخل كيسه؟؟
من كه نمي خوام از تو كيس صدا بياد !!!
ببین توربو سی یعنی همین صدای بلند گوی کیس البته کلی خندیدم دمت گرم خیلی با حالی...
کار هایی که می گم رو انجام بده تا بوسیله توربو سی یک صدای صاف از اسپیکر پخش بشه
1- صدا هایی که داری رو تبدیل به فایل wav کن یک نمونه از این فایل ها در ضمیمه هست. در ضمن تو پوشه X:\WINDOWS\Media ویندوز از این صدا های کوتاه هست میشه ازشون استفاده کرد.
2- فایل های ویو رو در پوشه X:\TC\bin توربو سی کپی کن.
3- فایل SBWAV.C را در پوشه X:\TC\INCLUDE کپی کن.
4- حالا برنامه زیر رو اجرا کن تا صدا از اسپیکرت پخش بشه.
#include "sbwav.c"
void main ()
{
//Check for Sound Blaster
FindSB ();
if (!SBFound ()) {
printf ("Sound Blaster not found.\n");
return;
}
//Initialise Sound Blaster
SBOpen ();
//Play a file
SBPlay ("TEST.WAV");
do; while (SBPlaying () && !kbhit ());
SBStop ();
//Close Sound Blaster
SBClose ();
}
باور كن اشكال از من نيست من مي فهمم چي مي گي اما .............
اما اين دفعه ديگه صدا آسانسورم در نيمد ، ميگم اين كه گفتي به زبان C بود ديگه (من مي خوام C باشه )
آخه كتابخونه C همه شون "h . " دارن اما اين "c . " بود آخرش.(SBWAV.C)
اينم ارور هاش:
Error ..\INCLUDE\SBWAV.C 203: Function 'memset' should have a prototype
Error ..\INCLUDE\SBWAV.C 309: Function 'strlen' should have a prototype
Error ..\INCLUDE\SBWAV.C 422: Function 'memset' should have a prototype
راستي تو فايل ضميمه كه داده بودي WAVPLAY.C نگفته بودي بايد چي كارش كنم ؟؟؟؟؟؟؟؟
اول از همه دستت درد نكنه؛
آره اجرا شد . اين همون برنامه ايه كه براي من error گرفت ؟؟؟؟؟
خيييييييير....!!!!!
بابا من كه از خيرش گذشتم ! مي خواستم ازش تو پروژم استفاده كنم و كلاس بذارم كه فكر كنم اين چيزا بهم نيومده!
به هر حال ممنون.
كاشكي مشكل اين چيزا بود ؛
هنوزم همون ارور ها رو كه گفتم مي ده .
حالاوقتي رفتم دانشگاه اونجا با كامپيوترا سايت اجراش مي كنم ببينم چي ميشه
فعلا بي خيالش بايد شد . جور ديگر بايد ديد !!!!!!!!!!!!!!!