亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? edloop.c

?? GESPI 2.0動態系統模擬工具  
?? C
字號:
#include "copyleft.h"

/*
    GEPASI - a simulator of metabolic pathways and other dynamical systems
    Copyright (C) 1989, 1992  Pedro Mendes
*/

/*************************************/
/*                                   */
/*          GWTOP - Topology         */
/*        MS-WINDOWS front end       */
/*                                   */
/*          Loops dialog box         */
/*                                   */
/*           QuickC/WIN 1.0          */
/*                                   */
/*   (include here compilers that    */
/*   compiled GWSIM successfully)    */
/*                                   */
/*************************************/


#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "defines.h"					/* symbols also used in .DLG files		*/
#include "globals.h"					/* gepasi's own symbols					*/
#include "gwtop.h"						/* macros, function prototypes, etc.	*/
#include "gep1.h"						/* gepasi's variables					*/
#include "topgvar.h"					/* global variables						*/

void ModSel( HWND hCB, int r, unsigned char modn );

#pragma alloc_text( CODE4, ModSel, EdLoop)

void ModSel( HWND hCB, int r, unsigned char modn )
{
 char name[NAME_L];
 int i, j;

 /* first get the text of the new metabolite					*/
 SendMessage( hCB, WM_GETTEXT, (WORD) NAME_L, (DWORD) (LPSTR) name);
 if( ! strcmp( "<not defined>", name ) )
 {
  for( j=0; j<totm; j++ )
   if( (*lp)[r][j] == modn )
   {
    (*lp)[r][j] = 0;
    nmd[r]--;
   }
 }
 else
 {
  for( i=0; i<totm; i++)
   if( ! lstrcmp( &metn[i][0], name ) ) break;
  if( i==totm )						/* metab. not yet defined			*/
  {
   lstrcpy( &metn[i][0], name );
   totm++;
   for(j=0; j<nst; j++) sto[i*MAX_MET + j] = 0;
   intm[i] = 0;
  }
  if( (*lp)[r][i]==0) nmd[r]++; 	/* increase nmd if no modif. before	*/
  (*lp)[r][i] = modn;
 }
}

BOOL FAR PASCAL EdLoop( HWND hDlg, WORD message, WORD wParam, LONG lParam )
{
 static	HWND	hReactLst, hCombo, hMoreButt, hTitle, hCount;
 static int	ridx[MAX_STEP];
 static int react_sel;
 static unsigned char modfnum;
 int i, j, r;
 char buff[128];

 switch( message )
 {
  case WM_INITDIALOG:
   lbWidth = 0;											/* set the width of the list box to 0	*/

   /* show the image on the mirror.				*/
   _fmemcpy( (void __far *) lp,
   	         (void __far *) loop,
             (size_t) MAX_STEP * MAX_MET * sizeof( unsigned char ) );
   _fmemcpy( (void __far *) kinet,
   	         (void __far *) kinetu,
             (size_t) MAX_STEP * sizeof( int ) );
   _fmemcpy( (void __far *) metn,
   	         (void __far *) metname,
   	         (size_t) MAX_MET * NAME_L * sizeof( char ) );
   _fmemcpy( (void __far *) sto,
   	         (void __far *) stoiu,
             (size_t) MAX_MET * MAX_STEP * sizeof( int ) );
   _fmemcpy( (void __far *) intm,
   			 (void __far *) intmet,
   			 (size_t) MAX_MET * sizeof( int ) );
   _fmemcpy( (void __far *) nmd,
 	         (void __far *) nmod,
             (size_t) MAX_STEP * sizeof( unsigned char ) );
   nst = nsteps;
   totm = totmet;

   /* get handles to controls									*/
   hReactLst = GetDlgItem( hDlg, IDC_REACTLST );
   hCombo = GetDlgItem( hDlg, IDC_LOOPLST );
   hMoreButt = GetDlgItem( hDlg, ID_MORE );
   hTitle = GetDlgItem( hDlg, IDSTAT_3 );
   hCount = GetDlgItem( hDlg, IDSTAT_1 );

   /* insert <not defined> in the first position of the combo box	*/
   SendMessage( hCombo, CB_INSERTSTRING, -1, (DWORD) (LPSTR) "<not defined>" );

   /* insert all metabolites to the combo box						*/
   for( i=0; i<totmet; i++ )
    SendMessage( hCombo, CB_INSERTSTRING, -1, (DWORD) metname[i] );

   /* initialize hReactLst: add all reactions with modifiers	*/
   for( i=0,j=0; i<nsteps; i++ )
    if( ktype[kinet[i]].nmodf > 0 )
    {
     ridx[j] = i;
     AddReactLst( hReactLst, i, 0, 0, &totmet, metname, stoiu, intmet, revers, rstr );
     j++;
    }

    /* select the first reaction of hReactLst						*/
    SendMessage( hReactLst, LB_SETCURSEL, 0, 0 );
    react_sel = 0;

    /* it is the first modf that we are dealing with now			*/
    modfnum = 1;
    /* display its ordinal number									*/
    wsprintf( (LPSTR) buff, "%d%s modifier", modfnum,
              (modfnum % 10) == 1 ? (LPSTR) "st"
                                  : ( (modfnum % 10) == 2 ? (LPSTR) "nd"
                                                          : ( (modfnum % 10) == 3 ? (LPSTR) "rd"
                                                                                  : (LPSTR) "th"
                                                             )
                                    )
            );
    SendMessage( hTitle, WM_SETTEXT, 0, (DWORD) (LPSTR) buff );

    /* if this type has several modfs show the MORE button			*/
    if( ktype[kinet[ridx[react_sel]]].nmodf > 1 )
    {
     ShowWindow( hMoreButt, SW_SHOW );
     wsprintf( buff, "This reaction has %d modifiers",
                     ktype[kinet[ridx[react_sel]]].nmodf );
    }
    else
    {
     ShowWindow( hMoreButt, SW_HIDE );
     wsprintf( buff, "This reaction has 1 modifier" );
    }
    SendMessage( hCount, WM_SETTEXT, 0, (DWORD) (LPSTR) buff );

   /* select the appropriate modifier								*/
   for(i=0; i<totm; i++)
    if( (*lp)[ridx[react_sel]][i] == modfnum )
    {
     SendMessage( hCombo, CB_SETCURSEL, i+1, 0 );
     break;
    }
   if( i==totm ) SendMessage( hCombo, CB_SETCURSEL, 0, 0 );

   return( TRUE );

  case WM_COMMAND:
   switch( wParam )
   {
    case IDC_REACTLST:
     if( HIWORD( lParam ) == LBN_SELCHANGE )
     {
      /* process previous selection										*/
      ModSel( hCombo, ridx[react_sel], modfnum );

      /* select the appropriate reaction of hReactLst					*/
      if( ( react_sel = (int) SendMessage( hReactLst, LB_GETCURSEL, 0, 0 ) ) != LB_ERR )
      {
       /* signal that it is the first modf that we are dealing with now	*/
       modfnum = 1;
       /* display its ordinal number									*/
       wsprintf( (LPSTR) buff, "%d%s modifier", modfnum,
                 (modfnum % 10) == 1 ? (LPSTR) "st"
                                     : ( (modfnum % 10) == 2 ? (LPSTR) "nd"
                                                             : ( (modfnum % 10) == 3 ? (LPSTR) "rd"
                                                                                     : (LPSTR) "th"
                                                               )
                                       )
               );
       SendMessage( hTitle, WM_SETTEXT, 0, (DWORD) (LPSTR) buff );

       /* if this type has several modfs show the MORE button			*/
       if( ktype[kinet[ridx[react_sel]]].nmodf > 1 )
       {
        ShowWindow( hMoreButt, SW_SHOW );
        wsprintf( buff, "This reaction has %d modifiers",
                        ktype[kinet[ridx[react_sel]]].nmodf );
       }
       else
       {
        ShowWindow( hMoreButt, SW_HIDE );
        wsprintf( buff, "This reaction has 1 modifier" );
       }
       SendMessage( hCount, WM_SETTEXT, 0, (DWORD) (LPSTR) buff );

       /* select the appropriate modifier								*/
       for(i=0; i<totm; i++)
        if( (*lp)[ridx[react_sel]][i] == modfnum )
        {
         SendMessage( hCombo, CB_SETCURSEL, i+1, 0 );
         break;
        }
       if( i==totm ) SendMessage( hCombo, CB_SETCURSEL, 0, 0 );
       return TRUE;
      }
      else return FALSE;
     }
     else return FALSE;

    case ID_MORE:
     ModSel( hCombo, ridx[react_sel], modfnum );
     if( modfnum == ktype[kinet[ridx[react_sel]]].nmodf ) modfnum = 1;
     else modfnum++;
     wsprintf( (LPSTR) buff, "%d%s modifier", modfnum,
               (modfnum % 10) == 1 ? (LPSTR) "st"
                                   : ( (modfnum % 10) == 2 ? (LPSTR) "nd"
                                                           : ( (modfnum % 10) == 3 ? (LPSTR) "rd"
                                                                                   : (LPSTR) "th"
                                                              )
                                     )
             );
     SendMessage( hTitle, WM_SETTEXT, 0, (DWORD) (LPSTR) buff );

     /* select the appropriate modifier								*/
     for(i=0; i<totm; i++)
      if( (*lp)[ridx[react_sel]][i] == modfnum )
      {
       SendMessage( hCombo, CB_SETCURSEL, i+1, 0 );
       break;
      }
     if( i==totm ) SendMessage( hCombo, CB_SETCURSEL, 0, 0 );
     return TRUE;

    case IDC_HELP:                        /* Help for this Dialog Box			 */
   	 WinHelp( hDlg, (LPSTR) szHelpFile, HELP_KEY, (DWORD) (LPSTR) "Loop editor" );
     return( TRUE );

    case IDOK:
     ModSel( hCombo, ridx[react_sel], modfnum );
     /* copy the altered image to the original	*/
     _fmemcpy( (void __far *) loop,
   	           (void __far *) lp,
               (size_t) MAX_STEP * MAX_MET * sizeof( unsigned char ) );
     _fmemcpy( (void __far *) kinetu,
   	           (void __far *) kinet,
               (size_t) MAX_STEP * sizeof( int ) );
     _fmemcpy( (void __far *) metname,
   	           (void __far *) metn,
   	           (size_t) MAX_MET * NAME_L * sizeof( char ) );
     _fmemcpy( (void __far *) stoiu,
   	           (void __far *) sto,
               (size_t) MAX_MET * MAX_STEP * sizeof( int ) );
     _fmemcpy( (void __far *) intmet,
   			   (void __far *) intm,
   			   (size_t) MAX_MET * sizeof( int ) );
     _fmemcpy( (void __far *) nmod,
 	           (void __far *) nmd,
               (size_t) MAX_STEP * sizeof( unsigned char ) );
     nsteps = nst;
     totmet = totm;

     for( i=0, loopass=0; i<nsteps ; i++)
     {
      /* copy nmd to nmod						*/
      nmod[i] = nmd[i];
      /* count the number of assigned loops		*/
      if( (ktype[kinet[i]].nmodf>0) &&
          (ktype[kinet[i]].nmodf == nmod[i]) ) loopass++;
     }
     notsaved = 1;
     /* close the dialog box and return			*/
     EndDialog( hDlg, IDOK );
     return( TRUE );

    case IDCANCEL:
     /* close the dialog box and return			*/
     EndDialog( hDlg, IDCANCEL );
     return( TRUE );
   }

  default: return( FALSE );
 }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久一线不卡| 精品三级在线看| www激情久久| 午夜日韩在线观看| 91论坛在线播放| 久久精品亚洲乱码伦伦中文| 日韩电影在线一区二区三区| 欧美在线不卡一区| 亚洲国产精品黑人久久久| 久久精品国产999大香线蕉| 欧美日韩国产经典色站一区二区三区 | 日韩手机在线导航| 亚洲国产日韩av| 91视频观看视频| 国产精品伦理在线| 成年人国产精品| 国产午夜精品理论片a级大结局| 喷水一区二区三区| 欧美一区二区网站| 免播放器亚洲一区| 国产日韩视频一区二区三区| 秋霞成人午夜伦在线观看| 欧美猛男男办公室激情| 亚洲国产你懂的| 欧美日韩夫妻久久| 视频一区二区中文字幕| 欧美日韩久久一区二区| 亚洲电影视频在线| 91精品国产手机| 久久国产人妖系列| 中文字幕欧美国产| 色域天天综合网| 亚洲国产综合在线| 欧美一激情一区二区三区| 日韩综合在线视频| 久久久久久久久免费| 国产成人在线免费观看| 最新国产精品久久精品| 色婷婷一区二区三区四区| 午夜一区二区三区在线观看| 日韩一区二区三区四区| 国产成人在线观看免费网站| 成人免费在线播放视频| 欧美性猛交xxxx乱大交退制版| 蜜臀精品一区二区三区在线观看 | 久久成人免费网| 中文字幕va一区二区三区| 色综合久久中文字幕综合网| 精品一区二区三区免费视频| 中文字幕乱码一区二区免费| 色婷婷精品久久二区二区蜜臀av| 丝袜国产日韩另类美女| 国产精品全国免费观看高清| 精品视频资源站| 国产精品一卡二卡在线观看| 亚洲资源在线观看| 久久久精品天堂| 欧美疯狂做受xxxx富婆| 99国产精品久久久久久久久久久| 麻豆国产欧美一区二区三区| 国产精品二三区| 久久精品视频一区二区| 日韩亚洲欧美在线| 欧美视频在线一区二区三区| 国产成人av一区二区三区在线 | 1区2区3区欧美| 精品久久久久一区二区国产| 欧美军同video69gay| 色综合天天综合给合国产| 国产成人av福利| 国产一区二区三区在线观看免费视频| 久久99精品久久久久久动态图| 一区二区三区四区不卡视频| 国产精品久久久久久久久果冻传媒| 精品少妇一区二区三区在线播放| 欧美一卡二卡在线观看| 欧美一级在线视频| 欧美一区二区国产| 日韩手机在线导航| 久久众筹精品私拍模特| 亚洲欧洲韩国日本视频| 91精品国产综合久久婷婷香蕉 | 欧美一区二区三区在| 欧美一区二区三区白人| 欧美电影免费观看高清完整版在线 | 亚洲国产一区视频| 一区二区三区在线视频免费| ...av二区三区久久精品| 一区二区三区小说| 亚洲最新视频在线观看| 男人的天堂亚洲一区| 国模一区二区三区白浆| 成人教育av在线| 91福利在线免费观看| 日韩天堂在线观看| 亚洲天堂成人在线观看| 丝袜亚洲另类丝袜在线| 国产最新精品精品你懂的| hitomi一区二区三区精品| 欧美亚洲一区二区在线| 亚洲精品在线一区二区| 亚洲图片一区二区| 国产高清一区日本| 欧美日韩三级视频| 久久久亚洲高清| 午夜一区二区三区在线观看| 成人精品视频一区二区三区 | 国产中文字幕一区| 日本精品一区二区三区高清| 日韩欧美国产一二三区| 综合激情网...| 免费在线欧美视频| 26uuu精品一区二区| 欧美a级理论片| 欧美综合欧美视频| 国产精品婷婷午夜在线观看| 秋霞午夜鲁丝一区二区老狼| 91蝌蚪porny成人天涯| 久久丁香综合五月国产三级网站| 成人av第一页| 久久综合精品国产一区二区三区 | 91官网在线免费观看| 欧美激情一区二区三区蜜桃视频| 日韩电影在线观看网站| 欧美中文字幕一区| 亚洲第一av色| 色综合久久天天综合网| 亚洲国产高清在线观看视频| 精品影院一区二区久久久| 日韩三级伦理片妻子的秘密按摩| 亚洲国产一区在线观看| 欧美色手机在线观看| 亚洲精品视频在线观看网站| 91同城在线观看| 一区二区三区四区乱视频| 日本乱人伦一区| 亚洲一区二区在线免费看| 91美女在线视频| 一区二区高清在线| 在线观看av一区| 伦理电影国产精品| 26uuu精品一区二区| 韩国三级在线一区| 中文久久乱码一区二区| caoporn国产精品| 一区二区在线观看免费| 欧美久久久久久久久久| 国产精品夜夜爽| 综合分类小说区另类春色亚洲小说欧美| 成年人网站91| 亚洲午夜国产一区99re久久| 精品国免费一区二区三区| 成人的网站免费观看| 亚洲黄色小说网站| 国产欧美日韩三级| aaa亚洲精品一二三区| 日韩激情在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 在线一区二区视频| 国产自产高清不卡| 亚洲精品国产a| 久久综合给合久久狠狠狠97色69| 91精彩视频在线| 美国十次综合导航| 国产日韩欧美高清| 在线不卡免费av| av一区二区不卡| 国产综合一区二区| 午夜欧美视频在线观看| 国产精品天美传媒| 91超碰这里只有精品国产| 成人激情动漫在线观看| 国产高清成人在线| 麻豆精品在线播放| 图片区日韩欧美亚洲| 亚洲欧美电影一区二区| 久久香蕉国产线看观看99| 日韩一二在线观看| 91麻豆精品91久久久久同性| 欧洲色大大久久| 91电影在线观看| 色婷婷av一区| 成人午夜av在线| 九色|91porny| 午夜av区久久| 婷婷综合在线观看| 亚洲一区二区三区自拍| 中文字幕一区二区三区不卡| 国产精品传媒入口麻豆| 综合色天天鬼久久鬼色| 亚洲国产成人午夜在线一区 | 日本视频一区二区| 麻豆国产一区二区| 日韩国产精品久久久久久亚洲| 日韩精品一区第一页| 老司机精品视频在线| 久久电影网电视剧免费观看| 国产精品69久久久久水密桃| 日韩精品一区二区在线| 国产亚洲欧美中文|