主題內文:
發起標題:7890AGC 新版軟體如何列印完整sample list!?
發起時間:2010年07月07日 星期三 08時06分50秒
發起者:xpxp <xpxp03@csu.edu.tw>
各位先進好:
   最近購入一台7890A GC,軟體使用Rev. B.04.02 sp1[208],列印
sample List時,無法像舊版軟體Rev. A .10.01[1635]完整列印出一張List,
而是會印出很多張Sample的排列資訊,若想使列印成像舊版軟體那樣A4一張,需要
在哪裡設定呢?
謝謝指導!
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月07日 星期三 11時28分20秒
回覆者:hungen <linhungen@gmail.com>
!
!   Simply Print Sequence Table
!   2010.06.08 hungen / Kaohsiung
!
Name USR_AddSeqMenu
 If TabHdrText$(_CONFIG, WINDOW, CurrentView) = "TOP" Then
!    MenuAdd "&Sequence",,"Separator"
   MenuAdd "Short Sequence Print","Print Simply",USR_PrintSequenceTable    
   DelHook "PreViewMenu", USR_AddSeqMenu
 EndIf  
 If TabHdrText$(_CONFIG, WINDOW, CurrentView) = "DA" Then
!    MenuAdd "&Graphics",,"Separator"
   MenuAdd "Add Information","Add Volume/Vial Mark",USR_AddMark
   DelHook "PreViewMenu", USR_AddSeqMenu    
 EndIf  
EndMacro

Name USR_PrintSequenceTable
Local i,TitleN$,TempN$,STempN$
Parameter noID
 SetMargin 4,4,4
 If TabHdrVal(_sequence[1],seqtable1,numberofrows)>0 Then
   OpenDevice "printer" as #7
   If  TabHdrVal(_sequence[1],seqtable2,numberofrows)>0 Then      
     Print "  Front Sequence Table List .... "
     TitleN$= " Front Table"
     USR_SequenceList TitleN$,"seqtable1"
     TitleN$= " Back Table"
     USR_SequenceList TitleN$,"seqtable2"
   Else
     Print "  Sequence Table List .... "
     TitleN$= ""
     USR_SequenceList TitleN$,"seqtable1"
   EndIf  
   Close #7    
 EndIf
EndMacro

Name USR_SequenceList
Parameter TitleN$,Seqtab$
Local i    
   Print #7,"============================================================================================"    
   Print #7,"                          Chemstation Sequence Report ----  " +TitleN$
   Print #7,"============================================================================================"
   Print #7," No Vial       Sample Name      Method Name        Inj   Type     Data File Name     injVol "
   Print #7,"===|====|====================|====================|===|========|====================|======="
   
   For i=1 To TabHdrVal(_sequence[1],Seqtab$,numberofrows)
     Print Using #7,"###",i
     Print Using #7,"  ### ",TabVal(_sequence[1],Seqtab$,i,vial)            
     Print Using #7,"20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,samplename)),Seqtab$)      
     Print Using #7," 20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,method)),Seqtab$)
     Print Using #7," ###",TabVal(_sequence[1],Seqtab$,i,injvial)
     Print Using #7," 8%",USR_SendSampleType$(i,Seqtab$)
     Print Using #7," 20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,Datafilename)),Seqtab$)
     Print Using #7," 6%",TabText$(_sequence[1],Seqtab$,i,injvolume)
     Print #7,"          "      
   Next i
 
EndMacro
 
Name USR_CutFilename$
Parameter TempN$
Local STempN$  
 If Len(TempN$)>20 Then
   STempN$=TempN$[1:19]+"~"
 Else
   STempN$=TempN$
 EndIf
 Return STempN$  
EndMacro

Name USR_SendSampleType$
Parameter j,Seqtab$
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=1 Then
   Return "Sample"
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=2 Then
   Return "Sample"
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=3 Then
   Return "Calibr."
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=4 Then
   Return "Control"
 EndIf
EndMacro

Name USR_AddMark
Local AddInfor$,T1$,T2$,i,j,k,T3$
 
 If RegSize(Chromreg)<1 Then
   Print " Not enough data in Data Analysis Mode , Please load and overlap it. !!"
   Goto A10
 EndIf
 
 CopyObj chromreg,treg    
 NewObj injVol,1,1,1
 NewObjHdrVal injVol,ActualVol
 For j=1 To RegSize(treg)
   delobj chromreg    
   CopyObj treg[j],chromreg
   IntegrateObj Chromreg
   SetObjHdrVal injVol[j],ActualVol,ObjHdrVal(chromres,actinjvolume)
   NewObj injVol,1,1,1
 Next j
 delobj chromreg
 CopyObj treg,chromreg  
 delobj treg
 For i=1 To RegSize(chromreg)      
   DelAnn chromreg[i],,1
   T1$=" ,Vail = "+ Val$(ObjHdrVal(chromreg[i],vial))    
   T2$=ObjHdrText$(chromreg[i],title)+"  "    
   T3$=" ,InjVolume = "+ Val$(ObjHdrVal(injVol[i],ActualVol))    
   k= NewTextAnn(chromreg[i],T2$+T1$+T3$,,,,1)
   T2$=""
   Draw 38,chromreg    
 Next i
 DelObj injVol
 A10:
EndMacro
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月07日 星期三 11時31分51秒
回覆者:hungen <linhungen@gmail.com>
Save above file to seqprint.mac and put in x:\chem32\core
Save below file to user.mac and put in x:\Chem32\core
and restart Chemstation

Macro "seqprint.mac"
SetHook "PreViewMenu", USR_AddSeqMenu

----------------------------------------
Enjoying using Chemstation ...  Everything can do it.
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月07日 星期三 18時22分15秒
回覆者:donald chen <donald_chen@agilent.com>
感謝! 感謝! 人在大陸的Hung-En Lin.
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月07日 星期三 20時54分13秒
回覆者:鐵牛
請問大師兄:

新版的 HPLC chemstation 是否可以適用??
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月07日 星期三 23時51分00秒
回覆者:grayjack <biograyjack1016@gmail.com>
我剛剛試了 新版的HPLC chemstation也行
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月08日 星期四 09時05分27秒
回覆者:xpxp <xpxp03@csu.edu.tw>
感謝各位先進的幫忙,這真是個溫暖的地方,
能彼此技術交流或學習,是一件很幸福的事:)
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月08日 星期四 17時10分04秒
回覆者:Donald Chen <donald_chen@agilent.com>
某幾行似乎有亂換行, 請小心使用.
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月08日 星期四 17時47分07秒
回覆者:xpxp <xpxp03@csu.edu.tw>
各位先進:
   對marco的執行指令並不是很熟,照以下的方式執行後,依然沒辦法運作,
是不是我對下面的意思有誤解,是不是可以再說明一下,謝謝.
Save above file to seqprint.mac and put in x:\chem32\core
Save below file to user.mac and put in x:\Chem32\core
and restart Chemstation

Macro "seqprint.mac"
SetHook "PreViewMenu", USR_AddSeqMenu
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月08日 星期四 18時16分32秒
回覆者:Donald Chen <donald_chen@agilent.com>
前面一大段的Macro 以seqprint.mac 用Notepad.exe編輯, 小心不該換行確換行
存到你的 C 或D碟,看Chemstation 裝在哪 x 就是它.

另外一個也要存在同一個子目錄的檔案 User.mac 它負責產生Chemstation上增出
某些功能的Menu選項, User.mac 文字檔內容只有短短兩行如下

Macro "seqprint.mac"
SetHook "PreViewMenu", USR_AddSeqMenu

把這兩個檔案存到規定的位置, 就可以重開Chemstation, 之後請到Sequence menu
的最尾端, 就找得到新加上的列印功能.
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月12日 星期一 11時38分32秒
回覆者:hungen <linhungen@gmail.com>
!
!   Simply Print Sequence Table
!   2010.06.08 hungen / Kaohsiung
!
!   Fix GC front sequence table can't print
!
Name USR_AddSeqMenu
 If TabHdrText$(_CONFIG, WINDOW, CurrentView) = "TOP" Then
!    MenuAdd "&Sequence",,"Separator"
   MenuAdd "Short Sequence Print","Print Simply",USR_PrintSequenceTable    
   DelHook "PreViewMenu", USR_AddSeqMenu
 EndIf  
 If TabHdrText$(_CONFIG, WINDOW, CurrentView) = "DA" Then
!    MenuAdd "&Graphics",,"Separator"
   MenuAdd "Add Information","Add Volume/Vial Mark",USR_AddMark
   DelHook "PreViewMenu", USR_AddSeqMenu    
 EndIf  
EndMacro

Name USR_PrintSequenceTable
Local i,TitleN$,TempN$,STempN$
Parameter noID
 SetMargin 4,4,4
 If TabHdrVal(_sequence[1],seqtable1,numberofrows)>0 or TabHdrVal(_sequence[1],seqtable2,numberofrows)>0 Then
   OpenDevice "printer" as #7
   If  TabHdrVal(_sequence[1],seqtable2,numberofrows)>0 Then      
     If TabHdrVal(_sequence[1],seqtable1,numberofrows)>0 Then        
       Print "  Front Sequence Table List .... "
       TitleN$= " Front Table"
       USR_SequenceList TitleN$,"seqtable1"
     EndIf      
     TitleN$= " Back Table"
     USR_SequenceList TitleN$,"seqtable2"
   Else
     Print "  Sequence Table List .... "
     TitleN$= ""
     USR_SequenceList TitleN$,"seqtable1"
   EndIf  
   Close #7    
 EndIf
EndMacro

Name USR_SequenceList
Parameter TitleN$,Seqtab$
Local i    
   Print #7,"============================================================================================"    
   Print #7,"                          Chemstation Sequence Report ----  " +TitleN$
   Print #7,"============================================================================================"
   Print #7," No Vial       Sample Name      Method Name        Inj   Type     Data File Name     injVol "
   Print #7,"===|====|====================|====================|===|========|====================|======="
   
   For i=1 To TabHdrVal(_sequence[1],Seqtab$,numberofrows)
     Print Using #7,"###",i
     Print Using #7,"  ### ",TabVal(_sequence[1],Seqtab$,i,vial)            
     Print Using #7,"20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,samplename)),Seqtab$)      
     Print Using #7," 20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,method)),Seqtab$)
     Print Using #7," ###",TabVal(_sequence[1],Seqtab$,i,injvial)
     Print Using #7," 8%",USR_SendSampleType$(i,Seqtab$)
     Print Using #7," 20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,Datafilename)),Seqtab$)
     Print Using #7," 6%",TabText$(_sequence[1],Seqtab$,i,injvolume)
     Print #7,"          "      
   Next i
 
EndMacro
 
Name USR_CutFilename$
Parameter TempN$
Local STempN$  
 If Len(TempN$)>20 Then
   STempN$=TempN$[1:19]+"~"
 Else
   STempN$=TempN$
 EndIf
 Return STempN$  
EndMacro

Name USR_SendSampleType$
Parameter j,Seqtab$
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=1 Then
   Return "Sample"
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=2 Then
   Return "Sample"
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=3 Then
   Return "Calibr."
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=4 Then
   Return "Control"
 EndIf
EndMacro

Name USR_AddMark
Local AddInfor$,T1$,T2$,i,j,k,T3$
 
 If RegSize(Chromreg)<1 Then
   Print " Not enough data in Data Analysis Mode , Please load and overlap it. !!"
   Goto A10
 EndIf
 
 CopyObj chromreg,treg    
 NewObj injVol,1,1,1
 NewObjHdrVal injVol,ActualVol
 For j=1 To RegSize(treg)
   delobj chromreg    
   CopyObj treg[j],chromreg
   IntegrateObj Chromreg
   SetObjHdrVal injVol[j],ActualVol,ObjHdrVal(chromres,actinjvolume)
   NewObj injVol,1,1,1
 Next j
 delobj chromreg
 CopyObj treg,chromreg  
 delobj treg
 For i=1 To RegSize(chromreg)      
   DelAnn chromreg[i],,1
   T1$=" ,Vail = "+ Val$(ObjHdrVal(chromreg[i],vial))    
   T2$=ObjHdrText$(chromreg[i],title)+"  "    
   T3$=" ,InjVolume = "+ Val$(ObjHdrVal(injVol[i],ActualVol))    
   k= NewTextAnn(chromreg[i],T2$+T1$+T3$,,,,1)
   T2$=""
   Draw 38,chromreg    
 Next i
 DelObj injVol
 A10:
EndMacro
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月12日 星期一 11時40分03秒
回覆者:hungen <linhungen@gmail.com>
fix GC sequence table can't print only back table information problem.
----------
please replace old file.
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月14日 星期三 17時14分35秒
回覆者:xpxp <xpxp03@csu.edu.tw>
謝謝hungen大大,已經可以列印前後端ECD的Sample List了,
感謝您撥空幫忙:)
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月20日 星期二 16時43分17秒
回覆者:hungen <linhungen@gmail.com>
Update to print WellPlate sequence table.
Please replace old file and restart Chemstation.
---------------------------------------------------

!
!   Simply Print Sequence Table
!   2010.06.08 hungen / Kaohsiung
!
!   Modify GC Back sequence table issue
!   Add support WellPlate vial number
!
Name USR_AddSeqMenu
 If TabHdrText$(_CONFIG, WINDOW, CurrentView) = "TOP" Then
!    MenuAdd "&Sequence",,"Separator"
   MenuAdd "Short Sequence Print","Print Simply",USR_PrintSequenceTable    
   DelHook "PreViewMenu", USR_AddSeqMenu
 EndIf  
 If TabHdrText$(_CONFIG, WINDOW, CurrentView) = "DA" Then
!    MenuAdd "&Graphics",,"Separator"
   MenuAdd "Add Information","Add Volume/Vial Mark",USR_AddMark
   DelHook "PreViewMenu", USR_AddSeqMenu    
 EndIf  
EndMacro

Name USR_PrintSequenceTable
Local i,TitleN$,TempN$,STempN$
Parameter noID
 SetMargin 4,4,4
 If TabHdrVal(_sequence[1],seqtable1,numberofrows)>0 or TabHdrVal(_sequence[1],seqtable2,numberofrows)>0 Then
   OpenDevice "printer" as #7
   If  TabHdrVal(_sequence[1],seqtable2,numberofrows)>0 Then      
     Print "  Front Sequence Table List .... "
     If TabHdrVal(_sequence[1],seqtable1,numberofrows)>0 then
       TitleN$= " Front Table"
       USR_SequenceList TitleN$,"seqtable1"
     EndIf      
     TitleN$= " Back Table"
     USR_SequenceList TitleN$,"seqtable2"
   Else
     Print "  Sequence Table List .... "
     TitleN$= ""
     USR_SequenceList TitleN$,"seqtable1"
   EndIf  
   Close #7    
 EndIf
EndMacro

Name USR_SequenceList
Parameter TitleN$,Seqtab$
Local i    
   Print #7,"=============================================================================================="    
   Print #7,"                          Chemstation Sequence Report ----  " +TitleN$
   Print #7,"=============================================================================================="
   Print #7," No Vial       Sample Name      Method Name        Inj   Type     Data File Name     injVol "
   Print #7,"===|======|====================|====================|===|========|====================|======="
   
   For i=1 To TabHdrVal(_sequence[1],Seqtab$,numberofrows)
     Print Using #7,"###",i
     If TabVal(_sequence[1],Seqtab$,i,vial)< 4000 Then        
       Print Using #7,"    ### ",TabVal(_sequence[1],Seqtab$,i,vial)            
     Else    
       Print Using #7," 6% ",USR_WellPlateVial$(TabVal(_sequence[1],Seqtab$,i,vial))
     EndIf
     
     Print Using #7,"20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,samplename)),Seqtab$)      
     Print Using #7," 20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,method)),Seqtab$)
     Print Using #7," ###",TabVal(_sequence[1],Seqtab$,i,injvial)
     Print Using #7," 8%",USR_SendSampleType$(i,Seqtab$)
     Print Using #7," 20%",USR_CutFilename$(ConvertText$(trim,TabText$(_sequence[1],Seqtab$,i,Datafilename)),Seqtab$)
     Print Using #7," 6%",TabText$(_sequence[1],Seqtab$,i,injvolume)
     Print #7,"          "      
   Next i
 
EndMacro

Name USR_WellPlateVial$
Parameter NoVial
 
 If NoVial<4100 Then
   Return "P1-A-"+Val$(NoVial-4096+1)
 Else
   If NoVial<4200 Then
     Return "P1-B-"+Val$(NoVial-4160+1)
   Else
     If NoVial<8220 Then
       Return "P2-A-"+Val$(NoVial-8192+1)
     Else        
       Return "P2-B-"+Val$(NoVial-8256+1)
     EndIf
   EndIf
 EndIf
EndMacro

 
Name USR_CutFilename$
Parameter TempN$
Local STempN$  
 If Len(TempN$)>20 Then
   STempN$=TempN$[1:19]+"~"
 Else
   STempN$=TempN$
 EndIf
 Return STempN$  
EndMacro

Name USR_SendSampleType$
Parameter j,Seqtab$
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=1 Then
   Return "Sample"
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=2 Then
   Return "Sample"
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=3 Then
   Return "Calibr."
 EndIf
 If TabVal(_sequence[1],Seqtab$,j,sampletype)=4 Then
   Return "Control"
 EndIf
EndMacro

Name USR_AddMark
Parameter NoID  
Local AddInfor$,T1$,T2$,i,j,k,T3$
 
 If RegSize(Chromreg)<1 Then
   Print " Not enough data in Data Analysis Mode , Please load and overlap it. !!"
   Goto A10
 EndIf
 
 CopyObj chromreg,treg    
 NewObj injVol,1,1,1
 NewObjHdrVal injVol,ActualVol
 For j=1 To RegSize(treg)
   delobj chromreg    
   CopyObj treg[j],chromreg
   IntegrateObj Chromreg
   SetObjHdrVal injVol[j],ActualVol,ObjHdrVal(chromres,actinjvolume)
   NewObj injVol,1,1,1
 Next j
 delobj chromreg
 CopyObj treg,chromreg  
 delobj treg
 For i=1 To RegSize(chromreg)      
   DelAnn chromreg[i],,1
   T1$=" ,Vail = "+ Val$(ObjHdrVal(chromreg[i],vial))    
   T2$=ObjHdrText$(chromreg[i],title)+"  "    
   T3$=" ,InjVolume = "+ Val$(ObjHdrVal(injVol[i],ActualVol))    
   k= NewTextAnn(chromreg[i],T2$+T1$+T3$,,,,1)
   T2$=""
   Draw 38,chromreg    
 Next i
 DelObj injVol
 A10:
EndMacro
回覆標題:Re: 7890AGC 新版軟體如何列印完整sample list!?
回覆時間:2010年07月26日 星期一 10時00分25秒
回覆者:Donald Chen <donald_chen@agilent.com>
宏恩,謝謝啦!