亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美主播一区二区三区| 麻豆国产欧美一区二区三区| 成人午夜短视频| 国产视频在线观看一区二区三区 | 日韩高清中文字幕一区| 欧美精品粉嫩高潮一区二区| 视频一区视频二区中文| 欧美一区三区四区| 久久电影网电视剧免费观看| 26uuu精品一区二区三区四区在线| 国产福利一区在线| 亚洲日本va午夜在线影院| 欧美伊人久久大香线蕉综合69| 亚洲成人综合网站| 日韩欧美中文一区| 成人性色生活片免费看爆迷你毛片| 最新国产精品久久精品| 欧美日韩国产免费一区二区 | 亚洲成a人v欧美综合天堂下载| 91超碰这里只有精品国产| 久久99国产精品久久99| 亚洲欧洲无码一区二区三区| 91精品综合久久久久久| 国产91丝袜在线观看| 亚洲一区二区三区四区中文字幕| 日韩免费观看高清完整版 | 国产亚洲精品中文字幕| 日本高清不卡视频| 狠狠色狠狠色综合系列| 亚洲尤物视频在线| 久久午夜羞羞影院免费观看| 在线观看日韩精品| 国产精品一区专区| 亚洲高清免费一级二级三级| 国产婷婷色一区二区三区在线| 欧美日韩激情一区二区| 成人黄色777网| 狠狠狠色丁香婷婷综合久久五月| 一区二区成人在线| 欧美激情一区二区三区| 91精品国产综合久久香蕉麻豆| zzijzzij亚洲日本少妇熟睡| 美女网站色91| 亚洲成va人在线观看| 国产亚洲女人久久久久毛片| 欧美一区二区在线观看| 色婷婷av一区二区三区软件| 国产成人在线视频播放| 日韩在线一区二区三区| 亚洲精品videosex极品| 国产精品美日韩| 精品99久久久久久| 69精品人人人人| 日本韩国欧美国产| 91在线视频观看| 成人免费看片app下载| 国产老妇另类xxxxx| 久久99久久99| 日本成人中文字幕| 亚洲午夜免费福利视频| 亚洲人妖av一区二区| 国产精品色哟哟| 国产欧美日韩中文久久| 精品国产精品一区二区夜夜嗨| 在线综合视频播放| 欧美日韩国产另类一区| 色综合久久久久综合体| 色呦呦网站一区| 成人黄色软件下载| 成人美女在线观看| av亚洲精华国产精华精| 99久久精品一区| 91视视频在线观看入口直接观看www| 成人av在线一区二区| 成人一区二区三区| 成人一级视频在线观看| www.99精品| 北条麻妃国产九九精品视频| 成人免费看视频| 91麻豆国产自产在线观看| 色吧成人激情小说| 欧美日韩中字一区| 欧美精品在欧美一区二区少妇| 88在线观看91蜜桃国自产| 在线播放日韩导航| 欧美xingq一区二区| 激情深爱一区二区| 国产亚洲视频系列| 中文字幕欧美日韩一区| 亚洲视频在线一区| 亚洲va国产天堂va久久en| 肉丝袜脚交视频一区二区| 奇米777欧美一区二区| 国产在线不卡视频| 成人久久视频在线观看| 色琪琪一区二区三区亚洲区| 欧美精品在线视频| 欧美电影免费观看高清完整版在 | 色综合亚洲欧洲| 欧美日韩在线直播| 日韩三级中文字幕| 国产女同性恋一区二区| 亚洲激情自拍视频| 麻豆成人久久精品二区三区红| 国产精品一区二区在线观看不卡| 成人福利视频在线| 欧美精品tushy高清| 久久久不卡影院| 艳妇臀荡乳欲伦亚洲一区| 美女一区二区视频| 99精品国产99久久久久久白柏| 欧美亚洲国产一区在线观看网站| 日韩精品一区二区三区四区视频| 国产欧美日韩亚州综合| 亚洲成人你懂的| 懂色av一区二区夜夜嗨| 欧美日韩激情在线| 中文字幕成人av| 五月婷婷久久综合| 成人免费观看av| 日韩一区和二区| 亚洲精品国产成人久久av盗摄| 久久草av在线| 在线观看av不卡| 国产亚洲欧美在线| 日韩国产高清影视| 一本一道综合狠狠老| 久久久久久久网| 日韩精彩视频在线观看| 99久久综合99久久综合网站| 日韩一区二区视频| 夜夜精品视频一区二区| 成人午夜免费av| 欧美不卡一二三| 亚洲一区二区三区在线| 成人ar影院免费观看视频| 欧美videos大乳护士334| 亚洲国产欧美在线人成| 成人av网在线| 国产欧美一区二区三区鸳鸯浴 | 日韩vs国产vs欧美| 色久综合一二码| 欧美韩国日本一区| 国精品**一区二区三区在线蜜桃| 欧美日韩国产系列| 亚洲国产成人va在线观看天堂| 99久久久无码国产精品| 久久久精品日韩欧美| 精品一区二区成人精品| 欧美精品免费视频| 亚洲一区在线视频观看| 日本高清不卡在线观看| 亚洲欧美激情插| 91在线视频观看| 日韩理论在线观看| a美女胸又www黄视频久久| 久久久久国产精品厨房| 国产精品一区二区不卡| 精品国产乱码久久久久久影片| 日日夜夜精品视频免费| 91精品在线免费观看| 亚洲国产wwwccc36天堂| 欧美日韩精品一区二区在线播放| 亚洲一区二区三区在线| 欧美日韩中文字幕精品| 亚洲成人黄色影院| 欧美日韩国产系列| 日本不卡一二三| 日韩美一区二区三区| 精品一区二区三区日韩| 久久一区二区三区四区| 国产精品一二三四区| 日本一区二区三区免费乱视频| 成人激情电影免费在线观看| 国产精品久久久久aaaa| 色婷婷久久综合| 亚洲va韩国va欧美va精品| 555www色欧美视频| 久久99热这里只有精品| 国产欧美精品一区二区色综合| 成人激情小说乱人伦| 亚洲主播在线播放| 欧美日韩国产大片| 麻豆成人91精品二区三区| 久久久久久久久蜜桃| 91视频在线看| 日韩高清电影一区| 久久久久97国产精华液好用吗| 成人福利在线看| 午夜私人影院久久久久| 久久综合狠狠综合久久激情 | 欧洲人成人精品| 亚洲国产精品综合小说图片区| 91麻豆精品国产| 粉嫩av一区二区三区粉嫩| 亚洲午夜羞羞片| 久久午夜电影网| 日本精品一区二区三区高清| 日韩av中文字幕一区二区三区| 欧美国产日韩亚洲一区|