Example #1
0
void ana_menu(void)
{
	char *p;
	int gecici = 2, ch = 0, sayac;
	char *panel_elemanlari[4] = { "M�KELLEF", "�DEMELER", "RAPORLAR",
								  "��LEMLER"};

	git_xy(24, 80);
	for (sayac = 0; sayac < 4; sayac++)
		doldur(4 + sayac, 2, ' ', 10, MAVI_);
	doldur(3, 2, '�', 10, MAVI_ | A_MAVI);
	doldur(8, 2, '�', 10, MAVI_ | A_MAVI);
	for (sayac = 0; sayac < 4; sayac++)
		harfler(sayac + 4, 3, panel_elemanlari[sayac], MAVI_ | A_BEYAZ);

	for (;;) {
		switch(ch) {
			case UP : seckin--; break;
			case DOWN : seckin++; break;
		}
EKRAN:
		switch (seckin) {
			case -1 : seckin = 3; break;
			case 4 : seckin = 0; break;
		}
		harfler(gecici + 4, 3, struprtr(panel_elemanlari[gecici]), MAVI_ | A_BEYAZ);
		harfler(gecici + 4, 3, panel_elemanlari[gecici], MAVI_ | A_BEYAZ);
		harfler(gecici + 4, 0, "��", A_MAVI);
		harfler(gecici + 4, 12, "��", A_MAVI);
		harfler(seckin + 4, 3, strlwrtr(panel_elemanlari[seckin]), YESIL_ | A_BEYAZ);
		harfler(seckin + 4, 3, panel_elemanlari[seckin], YESIL_ | A_BEYAZ);
		harfler(seckin + 4, 0, "  ", YESIL_ | A_BEYAZ);
		harfler(seckin + 4, 12, "  ", YESIL_ | A_BEYAZ);
		gecici = seckin;

		switch (seckin) {
			case 0 : musavir();
					 goto EKRAN;
			case 1 : odemeler();
					 goto EKRAN;
			case 2 : raporlar();
					 goto EKRAN;
			case 3 : islemler();
					 goto EKRAN;
		}
	ch = islem();
	}
}
int main()
{
	int girilenSayi;
	int basamak4, basamak3, basamak2, basamak1;
	int *x;

	printf("4 basamakli bir sayi giriniz:");
	scanf_s("%d",&girilenSayi);
	x = &girilenSayi;

	islem(x);


	_getch();
	return 0;
}
Example #3
0
long detay_liste_kutusu(int satir, int kolon, int baslangic, int boy, int en, int renk1, int renk2, DOSYA *handle)
{
	char *eleman;

	int sayac = 0, toplam = handle->indeks_baslik->toplam_kayit, isaretli_sayac = 0,
		ch = 0, bayrak = 0, yeni_baslangic = 0;

	eleman = (char *) malloc((en+1) * boy * 2);
	if (eleman == NULL) {
		msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
		exit(1);
	}
	memset(eleman, 0, (en+1) * boy * 2);

	if (toplam == 0) {
		free(eleman);
		return -2;
	}
	else if (toplam < boy) {
		boy = toplam;
		bayrak = 1;
	}

	detay_liste_elemani(satir, kolon, eleman, handle, baslangic, en, boy, renk1);
	for (;;) {
		if (yeni_baslangic != baslangic) {
			yeni_baslangic = baslangic;
			detay_liste_elemani(satir, kolon, eleman, handle, baslangic, en, boy, renk1);
		}
		for (sayac = 0; sayac < boy; sayac++)
			harfler(satir + sayac, kolon, &eleman[en * sayac], renk1);

		harfler(satir + isaretli_sayac, kolon, &eleman[en * isaretli_sayac], renk2);

		ch = islem();

		switch (ch) {
			case ESC: free(eleman);
					  return -1;
			case DOWN: isaretli_sayac++;
					   if (isaretli_sayac == boy)
						   baslangic++;
					   break;
			case UP: isaretli_sayac--;
					 if (isaretli_sayac == -1)
						 baslangic--;
					 break;
			case PGDN : baslangic += boy - 1;
						if ((baslangic + isaretli_sayac) > (toplam - boy) && bayrak == 0) {
							baslangic = toplam - boy;
							isaretli_sayac = boy;
							mesaj_goster_kac(" Dosya Sonu ...");
						}
						else if ((baslangic + isaretli_sayac) > (toplam - boy) && bayrak == 1) {
							baslangic = 0;
							isaretli_sayac = boy;
							mesaj_goster_kac(" Dosya Sonu ...");
						}
						break;
			case PGUP :	baslangic -= (boy - 1);
						if ((baslangic + isaretli_sayac) <= (toplam % boy)+1 && bayrak == 0) {
							baslangic = 0;
							isaretli_sayac = 0;
							mesaj_goster_kac(" Dosya Ba�� ...");
						}
						else if (bayrak == 1) {
							baslangic = 0;
							isaretli_sayac = 0;
							mesaj_goster_kac(" Dosya Ba�� ...");
						}
						break;
			case KP_ENTER:
			case ENTER: free(eleman);
						return (long) isaretli_sayac + baslangic;
		}
		if (isaretli_sayac == boy)
			isaretli_sayac = boy - 1;

		if (isaretli_sayac == -1)
			isaretli_sayac = 0;

		if (baslangic == toplam - boy + 1&& bayrak == 0) {
			baslangic = toplam - boy;
			mesaj_goster_kac(" Dosya Sonu ...");
		}
		else if (baslangic == toplam - boy + 1 && bayrak == 1) {
			baslangic = 0;
			mesaj_goster_kac(" Dosya Sonu ...");
		}

		if (baslangic == -1) {
			baslangic = 0;
			mesaj_goster_kac(" Dosya Ba�� ...");
		}
	}
}
/* Mathematical String Parsing Function*/
double parsing(double doubleValue, char func[])
{
    char ek[BUFSIZE];/* kullanilacak array */
    char yeni_1[BUFSIZE];/* gelen fonksiyonun duzenlenmis halini tutar */
    int intStrng; /* stringin uzunlugu icin */
    int intEklenecek; /* x yerine yazilacak sayinin karakter sayisini tutar */
    int i,j=0,k=0,l; /* Donguler icin */
    int intXCount=0; /* Stringdeki 'x' sayisini tutar */
    char* strFunc[3]; /* strtok ile parcalanan stringi tutmak icin */
    char* strSayi[2]; /* parsingde 1. kisimdaki sayilari tutmak icin */
    char* strSayi_2[2]; /* parsingde 2. kisimdaki sayilari tutmak icin. */
    char charOperator; /* 1. operator */
    char charOperator_2; /* 2. operator */
    double doubleResult; /* sonuc */

    memset(yeni_1,'\0',BUFSIZE * sizeof(char));
    memset(ek,'\0',BUFSIZE * sizeof(char));    

    /******** Degisim *********/
    sprintf(ek,"%f",doubleValue);
    intStrng=strlen(func);/* stringin uzunlugu */
    intEklenecek=strlen(ek); /* eklenecek stringin uzunlugu */

    for(i=0; i<intStrng; i++)
    {
        if(func[i] == 'x')
        {
            intXCount++; /* Stringdeki 'x' sayisi */
        }   
    }

    for(i=0; i<intStrng; i++)
    {
        if(func[i] == 'x')
        {
            for (k = 0; k < intEklenecek; ++k)
            {
                yeni_1[j]=ek[k];/* stringdeki 'x' yerine zaman yazilir. */
                j++;
            }
        }
        else
        {
            yeni_1[j]=func[i];
            j++;
        }
        yeni_1[j]='\0';/* en sona \0 yazilir. */
    }

    /*****************/
    /* strtok ile ilk parantezden bolunur */
    strFunc[0] = strtok (yeni_1,"(");
    
    /****** pow ******/
    if(!(strcmp(strFunc[0],"pow")))
    {    
        strFunc[1] = strtok (NULL, ",");
        strFunc[2] = strtok (NULL, ")");
      
        /****** 1. Kisim *****/
        
        for (i = 0; i < strlen(strFunc[1]); ++i)
        {
            if((strFunc[1][i] == '-') || (strFunc[1][i] == '+') || (strFunc[1][i] == '*') || (strFunc[1][i] == '/'))
            {
                charOperator = strFunc[1][i];
                break;
            }
        }
        
        /* Strtok ile operatorden bolunur */
        strSayi[0] = strtok(strFunc[1],"-+/*");
        strSayi[1] = strtok(NULL,"\0");

        /****** 2. Kisim *****/

        for (i = 0; i < strlen(strFunc[2]); ++i)
        {
            if((strFunc[2][i] == '-') || (strFunc[2][i] == '+') || (strFunc[2][i] == '*') || (strFunc[2][i] == '/'))
            {
                charOperator_2 = strFunc[2][i];
                break;
            }
        }
        
        /* Strtok ile operatorden bolunur */
        strSayi_2[0] = strtok(strFunc[2],"-+/*");
        strSayi_2[1] = strtok(NULL,"\0");

        /* Sonuc */
        doubleResult = pow(islem(charOperator, atof(strSayi[0]), atof(strSayi[1])),islem(charOperator_2, atof(strSayi_2[0]), atof(strSayi_2[1])));
    }
    
    /****** sqrt ******/
    if(!(strcmp(strFunc[0],"sqrt")))
    {    
        strFunc[1] = strtok (NULL, ")");

        for (i = 0; i < strlen(strFunc[1]); ++i)
        {
            if((strFunc[1][i] == '-') || (strFunc[1][i] == '+') || (strFunc[1][i] == '*') || (strFunc[1][i] == '/'))
            {
                charOperator = strFunc[1][i];
                break;
            }
        }
        
        strSayi[0] = strtok(strFunc[1],"-+/*");
        strSayi[1] = strtok(NULL,"\0");

        /* Sonuc */
        doubleResult = sqrt(islem(charOperator, atof(strSayi[0]), atof(strSayi[1])));
    }
    
    /****** sinus ******/
    if(!(strcmp(strFunc[0],"sin")))
    {    
        strFunc[1] = strtok (NULL, ")");
    
        for (i = 0; i < strlen(strFunc[1]); ++i)
        {
            if((strFunc[1][i] == '-') || (strFunc[1][i] == '+') || (strFunc[1][i] == '*') || (strFunc[1][i] == '/'))
            {
                charOperator = strFunc[1][i];
                break;
            }
        }

        strSayi[0] = strtok(strFunc[1],"-+/*");
        strSayi[1] = strtok(NULL,"\0");

        /* Sonuc */
        doubleResult = sin(islem(charOperator, atof(strSayi[0]), atof(strSayi[1])));
    }
    
    /****** cosinus ******/
    if(!(strcmp(strFunc[0],"cos")))
    {    
        strFunc[1] = strtok (NULL, ")");

        for (i = 0; i < strlen(strFunc[1]); ++i)
        {
            if((strFunc[1][i] == '-') || (strFunc[1][i] == '+') || (strFunc[1][i] == '*') || (strFunc[1][i] == '/'))
            {
                charOperator = strFunc[1][i];
                break;
            }
        }
        
        strSayi[0] = strtok(strFunc[1],"-+/*");
        strSayi[1] = strtok(NULL,"\0");

        /* Sonuc */
        doubleResult = cos(islem(charOperator, atof(strSayi[0]), atof(strSayi[1])));
    }

    return (doubleResult);
}
Example #5
0
int main()
{
    OZELLIK_MIN *fMin;
    OZELLIK_MAX *fMax;


    int i,j,k,x,y;
    int degerlerMin_MaxBoyut;
    int indis;
    double oklidDegeri;

    int r ;
    int argSayisi = 0;
    char dosyaAdiOkuma[100];
    char dosyaAdiYazma[] = "features.arff";
    char tmpSatir[LINESIZE];
    char ayrac;
    int kelimeUzunlugu;

    double **degerler;
    double **oklids;

    int degerSayisi;
    double tmpDeger = 0.0;
    double dDonustur = 1.0;
    double isaret = 1.0;


    int sure;
    int frekans;
    int atlamaOrani;
    int labelType = 0;

    char *ozellikler[] = {"MINRED","MAXRED","MININC","MAXINC","MINVAL","MAXVAL", "RANGE",
                          "ARTMEAN","HARMEAN", "QUADMEAN", "MOD", "MEDIAN", "STD","VAR", "IEARTMEAN", "IEHARMEAN",
                          "IEQUADMEAN", "COV"
                         };

    // char *labels[] = {"walking","car","bus","tram","metro1","metro2","marmaray","metrobus","bicycle","ferry","n"};
    char *labels[] = {"walking_walking","minibus_sitting","minibus_standing","car_car","bus_sitting","tram_sitting","metroH_sitting","metroK_sitting","marmaray_sitting","metrobus_sitting","ferry_sitting","bus_standing","tram_standing","metroH_standing","metroK_standing","marmaray_standing","metrobus_standing","ferry_standing"};

    char *labels1[]= {"walking","minibus","car","bus","tram","metro","metrobus","ferry"};

    char label[100];
    char alan[100];
    int kacinciKelime;
    int yazildi=0;
    int ozellikSayisi = 18;
    int labelSayisi = 18;
    int labelSayisi1= 8;

    FILE *fRead;
    FILE *fWrite;

    //fRead = fopen(dosyaAdiOkuma,"r");
    //dosyaErr(fRead);

    //printf("\nDosya Adi: ");
    //scanf("%s",dosyaAdiYazma);

    printf("\nAzaltilmis labellar?(1 - evet, 0 - hayir) ");
    scanf("%d",&labelType);

    fWrite = fopen(dosyaAdiYazma,"w");
    dosyaErr(fWrite);

    fprintf(fWrite,"@RELATION vehicle_classification\n\n");


    //  fputs(tmpSatir,fWrite);

    DIR *dp;
    struct dirent *ep;

    dp = opendir ("./");
    if (dp == NULL)
    {
        exit(1);
    }
    while ((ep = readdir (dp)))
    {
        // printf("\n%d,",ep);
        strcpy(dosyaAdiOkuma,ep->d_name);
        if (isCSV(dosyaAdiOkuma))
        {
            labelBul(dosyaAdiOkuma,label,labelType);
            fRead = fopen(dosyaAdiOkuma,"r");
            //printf("Dosya isleniyor: %s ...\n",dosyaAdiOkuma);
            fgets(tmpSatir,LINESIZE,fRead);

            i = 0;

            if(!yazildi)
            {


                while(tmpSatir[i])
                {

                    if(tmpSatir[i] == ',' || tmpSatir[i] == ';')
                    {

                        argSayisi++;
                        //printf("argSayisi= %d\n",argSayisi);
                        ayrac = tmpSatir[i];
                    }
                    i++;
                }
                i = 1;
                j= 0;
                /**
                 Bir azaltma sebebim sondaki iki kolonun ölçülecek bir yanı olmaması.
                 */
                argSayisi--;
                i=0;
                kacinciKelime=0;
                k=0;
                kelimeUzunlugu=0;
                while(kacinciKelime<argSayisi)
                {
                    if(tmpSatir[i] != ayrac)
                    {
                        alan[kelimeUzunlugu] = tmpSatir[i];
                        printf("%c",alan[kelimeUzunlugu]);
                        kelimeUzunlugu++;
                    }
                    else
                    {
                        alan[kelimeUzunlugu] = '\0';
                        printf("\n");
                        for(k=0; k<ozellikSayisi; k++)
                        {
                            fprintf(fWrite,"@ATTRIBUTE \"%s_%s\" NUMERIC\n",alan,ozellikler[k]);
                        }
                        kelimeUzunlugu=0;
                        kacinciKelime++;
                    }
                    i++;
                }

                for(k=0; k<ozellikSayisi; k++)
                {
                    fprintf(fWrite,"@ATTRIBUTE \"ACC_%s\" NUMERIC\n",ozellikler[k]);
                }

                for(k=0; k<ozellikSayisi; k++)
                {
                    fprintf(fWrite,"@ATTRIBUTE \"GYRO_%s\" NUMERIC\n",ozellikler[k]);
                }
                for(k=0; k<ozellikSayisi; k++)
                {
                    fprintf(fWrite,"@ATTRIBUTE \"MAG_%s\" NUMERIC\n",ozellikler[k]);
                }

                fprintf(fWrite,"@ATTRIBUTE label {");
                labelSayisi--;
                if(labelType == 0)
                {
                    for(i=0; i<labelSayisi-1; i++)
                    {
                        fprintf(fWrite,"%s,",labels[i]);
                    }
                    fprintf(fWrite,"%s",labels[i]);
                }
                else if (labelType == 1)
                {
                    for(i=0; i<labelSayisi1; i++)
                    {
                        fprintf(fWrite,"%s,",labels1[i]);
                    }
                }

                fprintf(fWrite,"}\n\n@DATA\n");


                printf("Arg Sayisi= %d\n",argSayisi);


                printf("\nFrekans Nedir? (hz) ");
                scanf("%d",&frekans);

                printf("\nNe Kadarlik Zaman Araliginin Ozelligini Cikarmak İstersiniz? (milisaniye cinsinden) ");
                scanf("%d",&sure);

                printf("\nAtlama oranini yuzde olarak giriniz(Tam Sayi) ");
                scanf("%d",&atlamaOrani);


                kontrolAdet = (sure*frekans)/1000;
                atlamaMik = (kontrolAdet*atlamaOrani)/100;
                //   ozellikSayisi = (degerSayisi-kontrolAdet)/atlamaMik + 1;
                degerlerMin_MaxBoyut = argSayisi + oklidBoyutu;
                fMax = (OZELLIK_MAX *) malloc(degerlerMin_MaxBoyut*sizeof(OZELLIK_MAX));
                for(i=0; i<degerlerMin_MaxBoyut; i++)
                {
                    fMax[i].min = MAX_UC;
                    fMax[i].max = MAX_UC;
                    fMax[i].ranj = MAX_UC;
                    fMax[i].minInc = MAX_UC;
                    fMax[i].maxInc = MAX_UC;
                    fMax[i].minRed = MAX_UC;
                    fMax[i].maxRed = MAX_UC;
                    fMax[i].median = MAX_UC;
                    fMax[i].mod = MAX_UC;
                    fMax[i].aritmetikOrtalama = MAX_UC;
                    fMax[i].harmonikOrtalama = MAX_UC;
                    fMax[i].kuadratikOrtalama = MAX_UC;
                    fMax[i].stdSapma = MAX_UC;
                    fMax[i].varyans = MAX_UC;
                    fMax[i].anlikAritmetikOrt = MAX_UC;
                    fMax[i].anlikHarmonikOrt = MAX_UC;
                    fMax[i].anlikKuadratikOrt = MAX_UC;
                    fMax[i].varyasyonKatSayi = MAX_UC;
                }

                fMin = (OZELLIK_MIN *) malloc(degerlerMin_MaxBoyut*sizeof(OZELLIK_MIN));
                for(i=0; i<degerlerMin_MaxBoyut; i++)
                {
                    fMin[i].min = MIN_UC;
                    fMin[i].max = MIN_UC;
                    fMin[i].ranj = MIN_UC;
                    fMin[i].minInc = MIN_UC;
                    fMin[i].maxInc = MIN_UC;
                    fMin[i].minRed = MIN_UC;
                    fMin[i].maxRed = MIN_UC;
                    fMin[i].median = MIN_UC;
                    fMin[i].mod = MIN_UC;
                    fMin[i].aritmetikOrtalama = MIN_UC;
                    fMin[i].harmonikOrtalama = MIN_UC;
                    fMin[i].kuadratikOrtalama = MIN_UC;
                    fMin[i].stdSapma = MIN_UC;
                    fMin[i].varyans = MIN_UC;
                    fMin[i].anlikAritmetikOrt = MIN_UC;
                    fMin[i].anlikHarmonikOrt = MIN_UC;
                    fMin[i].anlikKuadratikOrt = MIN_UC;
                    fMin[i].varyasyonKatSayi = MIN_UC;
                }


                oklids = (double**) malloc(oklidBoyutu*sizeof(double*));
                doubleMErr(oklids);
                for(i=0; i<oklidBoyutu; i++)
                {
                    oklids[i] = (double*) malloc(kontrolAdet * sizeof(double));
                    doubleDErr(oklids[i]);
                }

                degerler = (double**) malloc(argSayisi * sizeof(double*));
                doubleMErr(degerler);
                for(i=0; i<argSayisi; i++)
                {
                    degerler[i] = (double*) malloc(kontrolAdet * sizeof(double));
                    doubleDErr(degerler[i]);
                }

                yazildi=1;
            }

            degerSayisi = 0;
            r = 0;


            while(fgets(tmpSatir,LINESIZE,fRead))
            {

                if(degerSayisi >= kontrolAdet)
                {
                    degerSayisi = kontrolAdet - atlamaMik;

                    for(x=0; x<oklidBoyutu; x++)
                    {
                        indis = x*3;

                        for(y=0; y<kontrolAdet; y++)
                        {
                            oklidDegeri = degerler[indis][y]*degerler[indis][y] + degerler[indis+1][y]*degerler[indis+1][y] + degerler[indis+2][y]*degerler[indis+2][y];
                            oklids[x][y] = sqrt(oklidDegeri);
                        }
                    }


                    islem(degerler,r,argSayisi,ayrac,&fWrite,fMin,fMax);
                    islem(oklids,r,oklidBoyutu,ayrac,&fWrite,(fMin+argSayisi),(fMax+argSayisi));

                    fprintf(fWrite,"%s",label);
                    putc('\n',fWrite);


                }

                j=0;
                for(i=0; i<argSayisi; i++)
                {
                    isaret = 1.0;
                    tmpDeger = 0.0;
                    dDonustur = 1.0;
                    if(tmpSatir[j]== '-')
                    {
                        isaret = -1.0;
                        j++;
                    }

                    while(tmpSatir[j] != ayrac && tmpSatir[j] != '.')
                    {

                        tmpDeger *= 10;
                        tmpDeger += (tmpSatir[j] - '0');
                        j++;
                    }
                    if(tmpSatir[j] != ayrac)
                        j++;
                    while(tmpSatir[j] != ayrac)
                    {
                        dDonustur *= 10;
                        tmpDeger = tmpDeger + (tmpSatir[j] - '0')/dDonustur;
                        j++;
                    }
                    // printf("%f,",tmpDeger*isaret);
                    degerler[i][r] = tmpDeger*isaret;

                    j++;

                }
                // printf("\n");
                r++;
                r %= kontrolAdet;
                degerSayisi++;
            }
            //printf("\n\n");

            fclose(fRead);
        }
    }



    for(i=0; i<argSayisi; i++)
    {
        free(degerler[i]);

    }


    free(degerler);


    fclose(fWrite);

    for(i=0; i<degerlerMin_MaxBoyut; i++)
    {
        printf("\n%f,",fMin[i].min);

    }

    free(fMin);
    free(fMax);



    return 0;
}
Example #6
0
long liste_kutusu(int satir, int kolon, int baslangic, int boy, int en, int renk1, int renk2, DOSYA *handle)
{
	char *eleman;

	int sayac = 0, toplam = handle->indeks_baslik->toplam_kayit, isaretli_sayac = 0,
		ch = 0, bayrak = 0, yeni_baslangic = 0;
	long adres = 0;

	eleman = (char *) malloc((en+5) * boy * 2);
	if (eleman == NULL) {
		msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
		exit(1);
	}
	memset(eleman, 0, (en+5) * boy * 2);

	if (toplam == 0) {
		free(eleman);
		return -2;
	}
	else if (toplam < boy) {
		boy = toplam;
		bayrak = 1;
	}

	liste_elemani(satir, kolon, eleman, handle, baslangic, en, boy, renk1);
	for (;;) {
		if (yeni_baslangic != baslangic) {
			yeni_baslangic = baslangic;
			liste_elemani(satir, kolon, eleman, handle, baslangic, en, boy, renk1);
		}
		for (sayac = 0; sayac < boy; sayac++)
			harfler(satir + sayac, kolon, &eleman[en * sayac], renk1);

		harfler(satir + isaretli_sayac, kolon, &eleman[en * isaretli_sayac], renk2);

		ch = islem();

		switch (ch) {
			case ESC: free(eleman);
					  return -1;
			case DOWN: isaretli_sayac++;
					   if (isaretli_sayac == boy)
						   baslangic++;
					   break;
			case UP: isaretli_sayac--;
					 if (isaretli_sayac == -1)
						 baslangic--;
					 break;
			case PGDN : baslangic += boy - 1;
						if ((baslangic + isaretli_sayac) > (toplam - boy) && bayrak == 0) {
							baslangic = toplam - boy;
							isaretli_sayac = boy;
							mesaj_goster_kac(" Dosya Sonu ...");
						}
						else if ((baslangic + isaretli_sayac) > (toplam - boy) && bayrak == 1) {
							baslangic = 0;
							isaretli_sayac = boy;
							mesaj_goster_kac(" Dosya Sonu ...");
						}
						break;
			case PGUP :	baslangic -= (boy - 1);
						if ((baslangic + isaretli_sayac) <= (toplam % boy)+1 && bayrak == 0) {
							baslangic = 0;
							isaretli_sayac = 0;
							mesaj_goster_kac(" Dosya Ba�� ...");
						}
						else if (bayrak == 1) {
							baslangic = 0;
							isaretli_sayac = 0;
							mesaj_goster_kac(" Dosya Ba�� ...");
						}
						break;
			case KP_ENTER:
			case ENTER: if (baslik.referans == Form_IS_TAKIBI+1 && baslik.kontrol == 1) {
							adres = indeks_gezgini(handle, isaretli_sayac + baslangic);
							detay_oku(handle, adres, DATA_AL);
							memcpy(dataci, handle->ana_detay->data, baslik.data_uzunlugu);
							if (strcmp(&dataci[74], "HAYIR   ") == 0) {
								strcpy(&dataci[74], "EVET    ");
								strcpy(&eleman[(en * isaretli_sayac) + 46], "EVET    ");
							}
							else {
								strcpy(&dataci[74], "HAYIR   ");
								strcpy(&eleman[(en * isaretli_sayac) + 46], "HAYIR   ");
							}
							memcpy(handle->ana_detay->data, dataci, baslik.data_uzunlugu);
							indeks_uzunlugu(handle, handle->indeks_detay->data);
							eski_kayit(handle, adres);
						}
						else {
							free(eleman);
							return (long) isaretli_sayac + baslangic;
						}
		}
		if (isaretli_sayac == boy)
			isaretli_sayac = boy - 1;

		if (isaretli_sayac == -1)
			isaretli_sayac = 0;

		if (baslangic == toplam - boy + 1&& bayrak == 0) {
			baslangic = toplam - boy;
			mesaj_goster_kac(" Dosya Sonu ...");
		}
		else if (baslangic == toplam - boy + 1 && bayrak == 1) {
			baslangic = 0;
			mesaj_goster_kac(" Dosya Sonu ...");
		}

		if (baslangic == -1) {
			baslangic = 0;
			mesaj_goster_kac(" Dosya Ba�� ...");
		}
	}
}
Example #7
0
void form_cagir(int referans)
{
	char *bellek;

	TABLO_BILGI baslik2 = {20, 345, Form_PARA_KUTUSU, 0};
	TABLO_FORM tablo2[] = { {Data_ParaKutusu_Genel, KAPALI_MENU, 3, 17, 9 , BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, KMenu_ISLEM_TURU, SONRA},
							{Data_ParaKutusu_Genel, KAPALI_MENU, 3, 46, 11, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, KMenu_ACILIS, SONRA},
							{Data_ParaKutusu_Genel, YAZI, 5, 20, 14, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Indeks_Bilgisi, YOK},
							{Data_ParaKutusu_Genel, TARIH, 5, 49, 10, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Indeks_Bilgisi, SONRA},
							{Data_ParaKutusu_Genel, YAZI, 6, 20, 39, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Indeks_Bilgisi, YOK},
							{Data_ParaKutusu_Genel, YAZI, 7, 20, 39, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, SONRA},
							{Data_ParaKutusu_Genel, KAPALI_MENU, 8, 21, 8, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, KMenu_ODEME_TURU, SONRA},
							{Data_ParaKutusu_Genel, SAYI, 8, 45, 14, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, SONRA},
							{Data_ParaKutusu_Genel, YAZI, 9, 20, 39, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_Genel, YAZI, 10, 20, 14, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_Genel, TARIH, 10, 43, 10, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_Genel, YAZI, 11, 20, 39, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_Genel, YAZI, 12, 12, 11, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_Genel, YAZI, 12, 33, 12, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_Genel, YAZI, 12, 53, 6, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, YOK},
							{Data_ParaKutusu_CekDetayi, KAPALI_MENU, 3, 38, 9, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, KMenu_AYLAR, SONRA},
							{Data_ParaKutusu_KurBilgisi, SAYI, 3, 38, 14, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, SONRA},
							{Data_ParaKutusu_KurBilgisi, SAYI, 3, 38, 14, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, SONRA},
							{Data_ParaKutusu_IndeksAdres, SAYI, 3, 38, 3, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, SONRA},
							{Data_ParaKutusu_IndeksAdres, SAYI, 3, 38, 3, BEYAZ_ | A_BEYAZ, BEYAZ_ | GRI, Data_Bos_Referans, SONRA}
						  };
	tabloyarat("bin/parakutu.tbl", &baslik2, tablo2);
	bellek = ekran_giris();

	switch (referans) {
		case Form_ACILIS :
			tablo = (TABLO_FORM *) tabloyukle("bin/acilis.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu);
			formyukle(2, 15, "bin/acilis.Frm");
			tablo_oynatici(2, 15, Data_Acilis_Bilgisi, (char *) dataci, tablo, &baslik);
			kayit_adresi = 0;
			free(dataci);
			break;
		case Form_IS_TAKIBI :
			formyukle(2, 15, "bin/takip.frm");
			tablo = (TABLO_FORM *) tabloyukle("bin/takip.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			strcpy(menu_ayarla, "00011111");
			memset(dataci, 0, baslik.data_uzunlugu);
			tablo_oynatici(2, 15, Data_IsTakip_Genel, (char *) dataci, tablo, &baslik);
			kayit_adresi = 0;
			free(dataci);
			strcpy(menu_ayarla, "00000000");
			break;
		case Form_MUKELLEF_LISTESI :
			pencere.turu += DUZEY;
			formgolge(7, 20, "bin/tekalan.frm");
			formyukle(7, 20, "bin/tekalan.frm");
			tablo = (TABLO_FORM *) tabloyukle("bin/tekalan.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu);
			tablo_oynatici(7, 20, Data_TekAlan, (char *) dataci, tablo, &baslik);
			free(dataci);
			pencere.turu -= DUZEY;
			break;
		case Form_PARAMETRELER :
			formgolge(3, 22, "bin/prmtre.frm");
			formyukle(3, 22, "bin/prmtre.frm");
			tablo = (TABLO_FORM *) tabloyukle("bin/prmtre.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu);
			tablo_oynatici(3, 22, Data_Parametreler, (char *) dataci, tablo, &baslik);
			free(dataci);
			break;
		case Form_PARA_KUTUSU :
			tablo = (TABLO_FORM *) tabloyukle("bin/parakutu.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu);
			formyukle(2, 15, "bin/parakutu.frm");
			kasa_goruntusu();
			kayit_adresi = 0;
			tablo_oynatici(2, 15, Data_ParaKutusu_Genel, (char *) dataci, tablo, &baslik);
			kayit_adresi = 0;
			free(dataci);
			break;
		case Form_ODEME_LISTESI :
			pencere.turu += DUZEY;
			tablo = (TABLO_FORM *) tabloyukle("bin/tumalan.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu+20);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu+20);
			formgolge(6, 20, "bin/tumalan.frm");
			formyukle(6, 20, "bin/tumalan.frm");
			tablo_oynatici(6, 20, Data_TumAlan, (char *) dataci, tablo, &baslik);
			free(dataci);
			pencere.turu -= DUZEY;
			break;
		case Form_KESINTI_LISTESI :
			pencere.turu += DUZEY;
			formgolge(7, 20, "bin/tekalan.frm");
			formyukle(7, 20, "bin/tekalan.frm");
			tablo = (TABLO_FORM *) tabloyukle("bin/tekalan.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu);
			tablo_oynatici(7, 20, Data_TekAlan, (char *) dataci, tablo, &baslik);
			free(dataci);
			pencere.turu -= DUZEY;
			break;
		case Form_BORCU_OLANLAR :
			pencere.turu += DUZEY;
			tablo = (TABLO_FORM *) tabloyukle("bin/tumalan.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu+20);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu+20);
			formgolge(6, 20, "bin/tumalan.frm");
			formyukle(6, 20, "bin/tumalan.frm");
			tablo_oynatici(6, 20, Data_TumAlan, (char *) dataci, tablo, &baslik);
			free(dataci);
			pencere.turu -= DUZEY;
			break;
		case Form_ODEME_KARTI :
			pencere.turu += DUZEY;
			formgolge(7, 20, "bin/tekalan.frm");
			formyukle(7, 20, "bin/tekalan.frm");
			tablo = (TABLO_FORM *) tabloyukle("bin/tekalan.tbl", &baslik);
			dataci = (char *) malloc(baslik.data_uzunlugu);
			if (dataci == NULL) {
				msj_kutu(NULL, HATA_BELLEK_YETERSIZ, HATA);
				exit(1);
			}
			memset(dataci, 0, baslik.data_uzunlugu);
			tablo_oynatici(7, 20, Data_TekAlan, (char *) dataci, tablo, &baslik);
			free(dataci);
			pencere.turu -= DUZEY;
			break;
		case Form_KULLANICI :
			formyukle(2, 15, "bin/kullan.frm");
			git_xy(0, 0);
			islem();
			break;
		case Form_FIRMA_AYARI :
			formyukle(2, 14, "bin/firmayar.frm");
			git_xy(0, 0);
			islem();
			break;
		case Form_YAZICI :
			formgolge(5, 20, "bin/yazici.frm");
			formyukle(5, 20, "bin/yazici.frm");
			git_xy(0, 0);
			islem();
			break;
		case Form_DATA_ISLEMLERI :
			formyukle(2, 14, "bin/dataislm.frm");
			git_xy(0, 0);
			islem();  break;
		case Form_HESAP_MAKINESI :
			formgolge(4, 32, "bin/hesapci.frm");
			formyukle(4, 32, "bin/hesapci.frm");
			git_xy(0, 0);
			islem();
			break;
		case Form_NOTLAR :
			formgolge(6, 29, "bin/notlar.frm");
			formyukle(6, 29, "bin/notlar.frm");
			git_xy(0, 0);
			islem();
			break;
		case Form_MESAJLASMA :
			formgolge(6, 29, "bin/mesaj.frm");
			formyukle(6, 29, "bin/mesaj.frm");
			git_xy(0, 0);
			islem();
			break;
	}
	ekran_cikis(bellek);
}