Delphi-дегі сервер компоненттері


СОДЕРЖАНИЕ

1. DELPHI-ДЕГІ СЕРВЕР КОМПОНЕНТТЕРІ4

1. 1. Excel сервері. 10

Excel Application1. Dialogs[xlDialogOpen] . Show(22

1. 2. OLE автоматизациясын Excel, Word, Outlook, Access жұмыстарында қолдану. 22

Try25

1. 3. ADO мәліметтер қоры сияқты Excel кітабымен жұмыс. 29

2. ПРАКТИКАЛЫҚ ЖҰМЫСТАР39

If not varIsEmpty(MSExcel) then begin48

ҚОРТЫНДЫ51

ӘДЕБИЕТТЕР ТІЗІМІ52

1. DELPHI-ДЕГІ СЕРВЕР КОМПОНЕНТТЕРІ

Delphi5-пен бастағанда, Word, Excel және басқада көптеген Windows немесе MicrosoftOffice стандартты орнатуларына жататын кең тараған бағдарламалармен өзара әрекеттеседі Servers бетіндегі кітапханада орналасқан компоненттердің көмегімен Delphi қолданбаларында жүзеге аса алады. Бұл компоненттер көптеген COM импортталатын серверлерді бейнелейді. Олардың барлығы өзінің TOleServer базалық класының буыны болып табылады. Бұл класта сервермен байланысты орнатуға мүмкіндік беретін абстрактілі әдістермен қасиеттер жарияланған. Сондықтан TOleServer класс объектлерін тікелей құруға болмайды. Қолдонбаларда тек осы кластың буындары-СОМ нақты серверлері қолданылады. Олар Delphi ортасында projectImport командасымен іске асырылатын импортты типтер кітапханасымен құрылады.

Servers бетінің компоненттері MicrosoftOffice 97 және MicrosoftOffice 2000/XP үшін әртүрлі. Дегенмен, бұл компоненттерсіз өз қолданбаңызда кластарға сәйкес келетін объктлер құруға болады. Бұл жерде Delphi6-ның әрбір сервер класында екіншіден модульға ие екенін ескере кеткен жөн. Мысалы: Excel сервері үшін бұл Excel 97 және Excel 2000 модульдары. Яғни, бұларға қарап айыруға болады, бірінші MicrosoftOffice97-ге, ал екінші MicrosoftOffice2000 ға жатады. Сондай-ақ Excel сервері үшін excel97 және Word2000 модульдары бар. Delphi 7-де Windows XP үшін ExcelXP, WordXP және т. б модульдер қосылған.

Серверлер қолданатын қолданбаларда ең аз дегенде бір жоғарыда көрсетілген модульдарды қосу қажет. Мысалы: Excel серверімен жұмыс барысында сіздің қолданбаңызда

Uses … Excel97; операторы қосылған болуы қажет, немесе

Uses … Excel2000; операторы немесе

Uses … ExcelXP; операторы.

Сервер сипаттайтын көрсетілген модульдердің бірін іске қосу барысында сіз Microsoft Office 97, немесе Microsoft 2000, немесе MicrosoftXP -мен жұмыс атқаратын қолданба құра аласыз. Бірақ кей жағдайда кез-келген офиспен жұмыс атқаратын әмбебап қолданба құруға болады. Онда екі немесе үш модуль қосу қажет. Мысалы:

Uses Excel97, Excdel2000;

Соңғы мысалда қосылған модуль (мысалда Excel2000) үнсіздік бойынша жұмыс істейді. Ал басқа модуль қасиеттерімен әдістеріне мәтінде анық сілтемелер беру қажет.

Орындалу үрдісінде нақты модуль объектісін қолдану үшін, бағдарламалық түрде анықтау үшін Windows нұсқаларының анықтау тәсілдерін пайдалануға болады. Мысалы:

If (GetVersion>=$8)

Then … // операторы

Else… //операторы

Шынында да, егер Windows нұсқаулары MicrosoftOffice нұсқауларымен сәйкес келмесе, онда ол жүзеге аса алмайды. Мысалы: Windows98-де MicrosoftOffice 2000 орнатылуы мүмкін. Бұл жағдайда Version серверлер қасиеттері көмек көрсетеді. Мысалы TExcelApplication класының ExcelApplication1 объектісі үшін бұл қасиет Excel2002 үшін “10. 0” жолынан және Excel97 үшін “8. 0”жолынан тұрады. Сол себепті бұл нұсқауларды оқу (анықтау) келесі түрде хатталуы мүмкін.

If (StrToInt(Copy(ExcelApplication1. Version0, Pos(‘. ’, ExcelApplication1. Version) -1) ) ) <9

Then … //Excel 97

Else …// Excel2000

Енді Excel серверлер мысалында серверлер объектлерімен жұмыс атқаруда жалпы ерекшеліктерін қарастырайық. Тек осы серверлермен жұмыс Delphi қолданбалары үшін көп мөлшерде перспективті болып келеді. Серверлерді қолдану үшін екі режим болуы мүмкін: Servers бетінен ExcelApplication сәйкес компоненттерін формаға тасымалдау, немесе TExcelApplication класс объектлерін бағдарламалық түрде құру. Бірінші жағдайда жобалау барысында жарияланған серверлер қасиеттрін орнатуға болады. Екінші жағдайда, бағдарламалық түрде беруге болады. Мысалы: Excel сервері үшін ол келесі түрде жасалады:

Var ExcelApplication1: TExcelApplication;

ExcelApplication1: =TExcelApplication. Create(self) ;

… //

ExcelApplication1. Connect;

Дегенмен, AutoConnect қасиетімен немесе Connect әдісімен байланыс орнату міндетті емес. Қандайда бір сервер әдісін шақыру орындау барысында немесе оның қандайда бір қасиетіне мән берілсе, онда байланыс автоматты түрде орнатылады.

AutoConnect қасиетін қолдану үшін true мәнін орнату тек қолданбаны іске қосу жағдайында ғана әсер ететінін аңғаруға болады, яғни егер бұл қасиет жобалау кезінде орнатылса қолданбаның орындалу барысында AutoConnect=true мәнін беру ешқандай әсер етпейді. Сол үшін сервер компонентін қолданбайтын болсаңыз, бұл қасиетті беру қажет емес.

ConnectKind қасиеті сервермен байланыс шынында да қалай жүзеге асатынын анықтайды. Бұл қасиет келесі мәндерді қабылдауы мүмкін.

сkRunningOrNew Орындалу үстіндегі серверге қосылу немесе

сервердің жаңа экземплярын құру.

сkNewInstance Әрқашан сервердің жаңа экземплярын құру.

ckRunningInstance Тек орындалу үстіндегі серверге қосылу.

ckRemote Қашықтағы серверге қосылу.

Бұл опция RemoteMachineName қасиетінің берілуімен үйлесімді бллуы тиіс. ckAttcehToInterface Серверге қосылмау. Бұның орнына қолданба ConnectTo интерфейс әдісін қамтамасыз етеді. ckAttcehToInterface опциясы AutoConnect қасиетіне True мәні орнатылған жағдайда қатар қолданылмайды. Үнсіздік жағдайда ConnectKind мәні crRunningOnNew-ге тең. Егер байланысу барысында орындалу үстіндегі сервер бар болса (ExcelApplication-ға Excel анық болса), онда қолданбада тек осы орындалып жатқан сервер экземплярымен байланысады. Егер бұл кезде сәйкес сервер орындалып жатпаса онда жаңа сервер экзампляры құрылады (біздің жағдайда Excel-ты іске қосу жүзеге асырылады.

Егер ConnectKind мәні ckRunningOnNew мәніне тең болса, онда қолданба әрқашан сервердің жаңа экземплярын құрады. Егер ConnectKind мәні ckRunningInstance болса онда қолданба әрқашан орындалып жатқан сервер жоқ болса, онда EOleSysError шығарылуы генерирленеді. Сондықтан ConnectKind=ckRunningInstance болғанда байланыс кезінде компьютерде орындалатын сервер бар болады, байланысты мысалы мына түрде жүзеге асыруға болады:

Uses ComObj;

Try

ExcelApplication1. Connect;

Except

On EOleSysError do begin

Application. MessageBox(‘на компьютере не выполняющегося в

данный момент Excel’, приложение будет закрыто’, MB_OK+MB_ICONEXCLAMATION) ;

Application. Terminate;

End;

End;

Келтірілген код EOleSysError шығаруын жолдан ұстап алады және қолданушыға сәйкес хабарлауды ұсынады. Тек қолданбада EOleSysError шығарылуы жарияланатын ComObj модуліне қосылған жоғарыда келтірілген Uses операторын қою қажет. Бұл модуль автоматты түрде қосылмайды. ConnektKind=ckRemote мәні егер қашықтағы сервермен байланыс болған жағдайда қолданылады. Бұл жағдайда RemotMachineName қасиеті қашықтағы сервер орындалатын компьютерді көрсетуі қажет.

Сайып келгенде, серверге қосылуды қамтамасыз ететін қасиеттерді қарастыруды келесі түрде алуға болады:

-Егер сіз қолданбаңызда қолданба іске қосылу кезінде орындалатын сервердің қандайда бір ашық құжатымен жұмыс істеу қажет болса, онда ConnectKind=ckRunningInstansce мәнін беру керек.

-Егер, сізге керісінше, қолданбаңыз орындалатын серверде қандай да бір құжатта кедергісін тигізбеу қажет болса, онда кездейсоқ ConnectKind=ckNewInstansce беру керек.

-Егер сізде қашықтағы сервермен байланысу қажет болса, онда ConnectKind=ckNewInstansce беру керек және сәйкес RemoteMachineName мәнін орнату керек.

-Қалған жағдайларда, ckRunningOrNew қатынасы үнсіздік жағдайда берілген мақсатқа лайықты сақталады.

Сервермен байланысты орнатқанан кейін ол қолданушыға әліде көрінбей тұрады. Дегенмен, қолданба осы сервермен жұмыс жасай алады., оның кезкелген әдістерән шақыра алады, қасиеттерін өзгерте немесе оқи алады. Бірақ сервердің өзі қолданушы үшін кадр артында қалып қояды. Егер тіпті қажет болса, яғни қолданушы серверде не болып жатқанын көріп тұруы қажет болса, онда Visible қасинтіне True мәнін беру керек.

ExcelApplication1. Visible=True;

Сервермен байланысуды тоқтату Disconnect әдісімен жүзеге асады. Бұдан басқа СОМ серверінің ExcelApplication сияқты компоненттері AutoQuit қасиеттеріне ие. Егер бұл қасиетке True мәнін берсе, онда қолданбаның аяқталуы барысындағы аяқтайтын автоматы түрде әдісі шақырылады. Бұл қасиет, егер сіз қолданбаңыз құрған сервердің экземплярымен жұмыс жасап отырған болсаңыз, онда True мәнін орнату тиімді болып келеді және қолданбамен жұмысты аяқтау барысында қолданушы сервермен жұмысын ары қарай жалғастыра алады. Онда AutoQuit-ке True мәнін орнату қажет немесе қолданбаны аяқтау барысында ExcelApplication1. Disconnect түріндегі операторды орнату қажет.

Әсіресе, егер сіздің қолданбаңыздың сервермен жұмыс жасау үрдісі кезінде серверді көрінбейтіндей етпеген жағдайда қажетті. Егер сіз байланысты жаппаған болсаңыз, онда қолданбаңызбен жұмыс аяқталғаннан кейінде сервер бұрынғыша көрінбей тұрады, және ол мақсат жол атында бейнеленбейді. Бірақ шынында да ол орындалады.

Қолданушы Windows-ты жапқысы келгенде, ол кездейсоқ қандай да бір хабарламалардың шығуы мүмкін, мысалы сақтау туралы сұраныс т. б.

Егер сіз сервер компонентін қолданбайтын болсаңыз, ал бағдарламалық сервер объектісін құратын болсаңыз, онда бұның барлығы келесі түрде ұйымдастырылад:

Var TExcelApplication;

Procedure TForm1. FormCreate(Sender:TObject) ;

begin

ExcelApplication1:=TExcelApplication. Create(Self) ;

ExcelApplication1. ConnectKind:=ckNewInstance;

ExcelApplication1. AutoQuit:=true;

ExcelApplication1. Visible:=true;

end;

Procedure TForm1. FormDestroy(Sender:TObject) ;

Begin

ExcelApplication1. Free;

end;

Бұл мысалда OnCreate форма оқиғаларын өңдеуде ExcelApplication1. сервер объектісі құрылады. Оның ConnectKind қасиетіне Excel-дің жаңа экзамплярын құруды қамтамасыз ететін ckNewInstance беріледі. Бұл опеатор сервер әдістеріне немесе қасиеттеріне қатынасатын операторлардың алды Excel бағдарламасымен байланысуды орнатады. Егер бұл операторда ConnectKind-тің талап етілген мәні берілсе, онда байланысу үнсіздік жағдайында тағайындалған ckRunningOrNew мәні арқылы жүзеге асады. Бұдан кейін ConnectKind-қа басқа мәндер берудің қажеті жоқ.

AutoQuit қасиетінің келтірілген кодында қолданба аяқталу барысында автоматты түрде Excel-ді жабуды қамтамасыз ететін True мәні орнатылады. Ары қарй құрылған Excel экзамплярын оператормен байланысын ExcelApplication1. Connect түрінде жүзеге асыруға болады.

Соңғы келтірілген мысалда Visible сервер қасиетіне True мәні беріледі. Мұны егер есеп шарты бойынша Excel терезесін көре алатын жағдайда жүзеге асыруға болады.

OnDestray форма оқиғалары өңдеушісінде сервер объектісінің астында белгіленген жады басталады. Егер AutoQuit қасиетіне ертерек True мәні берілген болса, онда форманы жабу кезінде ; операторын орындау қажет.

1. 1. Excel сервері.

Әдетте қолданбада есептелінген немесе мәліметтер қорыннан алынған мәліметтерді қандайда бір бланкке енгізу және құжатты баспаға беру қажет болса Delphi қолданбасынан Excel-ге қатынасу жиі қажет болады. Яғни бұл жағдайда қолданушыға дайындалған Excel құжатын алдын-ала қарауға және онда қандайда бір өзгертулер жасауға мүмкіндік береді.

Осының барлығын сәйкес серверлер кластарының көмегімен жүзеге асыруға болады. Жоғарыда Excel серверлері толығымен қарастырылды. Енді Excel-дің сервермен жұмыс істеу ерекшеліктеріне тоқталамыз.

Excel, MicrosoftOffice 2000/XP-да дайындалған құжаттарды еркін оқи алады. Сондықтан, Uses операторына Excel2000 файлын қосып жаза аламыз, және қолданба офистің кез-келген нұсқасында жұмыс істей алады. Бірақ кейбір жағдайларда Windows-тың нұсқаларын тексеріп алуымыз қажет.

Толығымен алғанда Excel-мен ұйымдастыру сызбасы мынандай түрде болады.

Uses… OleServer; Excel97, Excel2000;

Var ExcelApplication1:T ExcelApplication;

ExcelWorkbook;

ExcelWorkSheet;

Procedure TForm1. FormCreate(Sender:TObject) ;

Begin

ExcelApplication1:=TExcelApplication. Greate(Self) ;

ExcelApplication1. ConnectKind:=ckNewInstance;

ExcelApplication1. AutoQuit:=True;

ExcelApplication1. Visible[LOCAL_USER_DEFAULT] :=true;

ExcelWorkbook1:= ExcelApplication1. ActiveWorkbook. ActiveSheet

As ExcelWorksheet;

End;

Procedure TFormFormDestroy(Sender:Tobject) ;

Begin

Excel. Free;

End;

Uses операторы өзіне OleServer, Excel97 және Excel2000 модульдарын қосады. Біріншісі сервермен жұмыс кезінде қолданылатын кейбір тұрақтыларды жариялаудан тұрады. Excel97 және Excel2000 модульдарын егер Microsoft Office-ң әртүрлі нұсқасымен жұмыс істеген кезде және әдістер қолданған кезде қосып жазуға болады. Керісінше бұл жағдайда осы модуьдардың біреуін ғана қосу жеткілікті. Келтірілген кодта үш тұрақты жариялаған. ExcelApplication1 тұрақтысы-сервер объектісі, ExcelWorkbook1 тұрақтысы-кітап объектісі, ExcelWorkSheet1 тұрақтысы-кітап беттері объектісі. Егер сіз Srvers беті кітапханасынан ExcelApplication, ExcelWorkbook және ExcelWorkSheet сәйкес компоненттерін қолданған болсаңыз, онда бұл жарияланудың қажеті жоқ. Бірақ бұл жерде сервердің қолданылмайтын компоненттері, варианттары қарастырылады.

Форманың OnCreate оқиғасы өңдеушіде бірінші оператор сервер объектісінқұрады. Келесі оператор Excel-ң жаңа экзамплярын құруды қамтамасыз ететін ConnectKind сервер қасиетіне ckNewInstance-ке теңестіоеді. Бұл оператор сервер сервер әдісінежәне қасиеттеріне қатынасушы операторлардың біріншісі болып табылады. Керісінше жағдайда Excel-мен байланысу үнсіздік жағдайында қабылданған CKRunningOrNew мәні кезінде жүзеге асады. Осыдан кейін ConnectKind-қа басқа мәндер беру жай болып кетеді.

AutoQuit қасиетіне келтірілген кодқа қолданба аяқталған кезде Excel-ді автоматты түрде жабуды қамтамасыз ететін True мәні орнатылады. Келтірілген мысал соңында Visible сервер қасиеті True мәніне тең. Яғни, бұл берілген мәннің көмегімен қолданушы Excel терезесін көре алады. Ал егер Excel-мен жұмыс “курсордың арғы жағында” жүру керек болса, онда бұл оператордың керегі жоқ. Visible қасиетінен кейін кодта LOCALE_USER_DEFAULT квадраттық жақшада мәні берілген. Delphi-да жүзеге асатын Excel серверінің өте көптеген қасиеттерімен әдістері жергілікті идентификаторы LCID беруді талап етеді. Жалпы айтқанда, Windows-ң көптеген нұсқалары LCID=0 беріледі. Бірақ осы идентификаторды LOСALE_SYSTEM_DEFAULT немесе LOCALE_USER_DEFAULT-жергілікті идентификатор немесе ағымдық қолданушы мәнін беру тиімдірек. Егер сіз модульде немесе параметрлер арасынан LCID көретін болсаңыз, онда оны көрсетілген тұрақтылардың бірін тең етіп беруге болады. Excel серверінде ActiveWorkBook-активті кітап қасиеті бар. Осы қасиеттің ActiveSheet-активті парақ бағыныңқы қасиеті бар. Бұл қасиеттер келтірілген кодта ExcelWorkSheet айнымалысына мән беру үшін қолданылған.

OnDestroy форма оқиғасы өңдеушісінде сервер объектісі астында бөлектелінген жады басталады. Егер AutoQuit қасиетіне True мәні берілген болса, онда форманы жабу кезінде ExcelApplication1. DisConnect операторын орындау қажет.

Егер тағыда бір кітап құру қажет болса, онда оны ExcelApplication1. Workbooks. Add(EmptyParam, LOKALE_USER_DEFAULT) ; операторы көмегімен жүзеге асыруға болады.

Ал егер файлда сақталған кітапты ашу қажет болса, онда оны келесі кодтың көмегімен ашуға болады:

If OpenDialog1. Excecute

Then ExcelWorkbook1:= ExcelApplication1. Workboks. Add(

OpenDialog1. FileName, LOCALE_USER_DEFAULT) ;

Бұл жерде файлды ашудың стандартты диалогы шақырылады, және егер қолданушы оның ішінен файл таңдаған болса, онда ол Workboks коллекциясында ашылады және қосылады.

Жаңа кітаптар үнсіздік жағдайында орнатылған парақтар саны құрылады. Егер құрылатын кітапта парақтар санын өзіңіз бергіңіз келсе, онда Add әдісінің орындалуының алдында SheetsInNewWorkbook қасиетіне сәйкес мәндерді беруге болады. ExcelApplication1. SheetsInNewWorkbook(LOCALE_USER_DEFAULT) :=1; операторын орындасаңыз онда келесі барлық барлық шақыруында Add әдісінің SheetsInNewWorkbook-қа мәнін өзгертсеңіз бір парақты кітап құрылады. Workbooks ашық кітап коллекциясы қандайда бір операциялар орындалатын кітапты көрсетуге мүмкіндік береді. Бұл қасиетті индекс 1-бірінші ашық кітапқа, 2-екінші, т. с. с сәйкес келетін индекстелген массив ретінде қарастыруға болады. Мысалы:

ExcelBook1:=ExcelApplication1. Workbook(StrToInt(Edit1. Text) ) ; операторы ExcelWorkbook1 айнымалысына индексі Edit1 редактирлеу терезесінде көрсетілген кітапты тасымалдайды. Осыдан кейін ExcelWorkbook1объект қасиеттерімен әдістері осы кітапқа қатынасады. Егер оны қолданушыға ашу керек болса, онда оны ExcelWorkbook1. Active(LOCALE_USER_DEFAULT) ; операторының көмегімен активті етуге болады.

Workbooks қасиетінің Count бағыныңқы қасиеті Excel-де ашылған кітаптар санын анықтайды. Count қасиеті барлық кітаптарды индекc бойынша цикл ұйымдастыруға мүмкіндік береді. Workbooks массивіне тек индекс бойынша емес, кітап атыменде қатынасуға болады. Мысалы, келесі операторларн (мысалы, “книга1”) атты Edit1 терезесінде жазылған кітапты ашады және активті етеді:

ExcelWorkbook1:= ExcelApplication1. Workbooks[Edit1. Text] ;

ExcelWorkbook1. Activate(LOCALE_USER_DEFAULT) ;

Кітапты тек бір ғана LCID-аргументі берілетін Save әдісі арқылы сақтауға болады. Мысалы:

ExcelApplication1. ActiveWorkbook1. Save(LOCALE_USER_DEFAULT) ; операторы (Excel терезесі ашылған) активті кітапты сақтайды. Ал ExcelWorkbook1. Save(LOCALE_USER_DEFAULT) ; операторы ExcelWorkbook1 объектісімен байланысқан кітапты сақтайды. Бұл кітап дәл осы кезде активті болуы мүмкін.

Келесі мысал барлық ашық кітапты сақтайды.

Var i:integer;

for I; =1 to ExcelApplication1. Workbooks. Count do

ExcelApplication1. Workbooks[i] . Save(LOCALE_USER_DEFAULT) ; Сипатталған Save әдісі атты каталогтағы кітап атымен сәйкес келетін (мысалы, “книга1. xls”) кітапты файлда сақтайды. Егер осындай атпен файл бар болса, онда қолданушыдан бар файлды ауыстыруға бола ма деп сұралынады.

Кітаптарды сақтаудың кең ауқымды мүмкіндігін SaveAs әдісі береді. Ол келесі түрде жарияланады:

Prosedure SaveAs(filename:Olevariant; FileFormat: OleVariant;

Password: OleVariant; WriteResPassword: OleVariant;

ReadOnlyRecommended: OleVariant; CreateBackup: OleVariant;

AccsesMode:XLsaveAs AccsesMode;

ConflictResolution: OleVariant; AddToMru: OleVariant;

TextCodePage: OleVariant; TextVisualLayout: OleVariant;

Lcid:Integer) ;

Filename параметрі-кітап сақталатын файл аты. Егер атта жол көрсетілмеген болса, онда файл ағымдық каталогта сақталады. AccessMode параметрі файлға қатынау режімін анықтайды және xlNoChange-бұрын орнатылған режимді өзгертпейді, xlShared-басқа қолданушылардың еркін қабылдауы, xlExclusive-қолданушының файлға нақты қатынауы сияқты мәндерді қабылдауы мүмкін. xlExclusive мәнінде кітап көрсетілген файлда сақталынады, ал егер осы кітап басқа қолданушымен ашық болса, онда файлда басқа атпен сақтау туралы сұрау ұсынылады. Icid әдісінің соңғы параметрі 0-ге тең болып беріледі. Қалған параметрлерді EmptyParam-ға тең етіп беруге болады. Бұл параметрлер сақтау қатынастарын және FileFormat-файл форматы, Password-файлды ашу паролі; WriteResPassword-файлды өзгерту паролі; ReadOnlyRecomended-тек оқу үшін кепілдеме беру; CreateBackup-әр қашан қорлы көшірме құру; ConflictResolution-қолданушылар арасындағы келіспеушілікті шешу тәсілі; AddToMru-файлды жуықта қолданылған файлдар ретінде қосу және т. с. с. файлды қолдану.

Келесі код SaveDialog файлды сақтау диалогын шақырады және қолданушымен берілген активті кітапта файлды сақтайды:

If SaveDialog1. Execute

Then

ExcelApplication1. ActiveWorkbook. SaveAs(SaveDialog1. FileName’

EmmptyParam, EmmptyParam, EmmptyParam, EmmptyParam,

EmmptyParam, xlNoChange, EmmptyParam, EmmptyParam,

EmmptyParam, EmmptyParam, LOCALE_USER_DEFAULT) ;

Excel-дегі барлық ашық кітаптарды тек бір ғана LCID-аргументі берілетін Close әдісінің көмегімен жабуға болады.

ExcelApplication1. Workbooks. Close(LOCALE_USER_DEFAULT) ;

Тек нақты кітапты жабу үшін бір атты Close әдісі арқылы жабуға болады, бірақ тек кітапқа қатыстысымен. Бұл әдіс келесі түрмен жарияланған:

Proсedure Close (SaveChanges:OleVariant; FileName: OleVariant;

RouteWorkbook: OleVariant; LCID:Integer) ; SaveChanges-параметрі әлі сақталмаған, бірақ қандайда бір өзгертулер енгізілген кітапты жабу кезінде не болатынын көрсетеді. Егер SaveChanges=True; болса, онда аты FileName параметрі көрсетілмеген болса (EmmptyParam-ға тең болса ), онда қолданушыға файл атын көрсету қажет. Егер SaveChanges=False; онда FileName мәніне тәуелсіз өзгертулер сақталмайды. Ал егер SaveChanges= EmmptyParam; болса, онда қолданушыға өзгертілген файлды сақтау туралы сұрау қояды. Шынында да, осының барлығы құжаттамалардан туындайды. Ал тәжірибеде Excel-ң көптеген нұсқалары SaveChanges=False; жағдайында қалай жұмыс істесе SaveChanges= EmmptyParam; жағдайында солай жұмыс істейді, бұл дегеніміз, мәліметтерді сақтау қажеттілігі туралы сұрақтың қойылуы.

RoutWorkbook параметрі қандай да бір адреске сілтеме жасау үшін арналған кітап жағдайында қолданылады. Жай жағдайларда бұл параметр EmmptyParam-ға тең болуы мүмкін.

ExcelApplication1. Workbooks[1] . Close(EmmptyParam, EmmptyParam,

EmmptyParam, LOCALE_USER_DEFAULT) ; операторы бірінші кітапты жабады, ал егер онда сақталмаған болса, онда қолданушыға сақтау туралы сұрау қойылады.

Келесі мысал барлық ашық кітаптарды жабады:

Var i:integer;

For i:=1 to ExcelApplication1. Workbooks. Cout do ExcelApplication1. Workbooks[1] . Close (EmmptyParam, EmmptyParam,

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Бала-бақша МҚБЖ-н құру
Delphi-де мәліметтер қорын құру технологиялары
Delphi және мәліметтер қоры сервері
ADO технологиясы
Delphі-ді көрсетуші объекті - бағытталған жүйеде жобалау
Ипотекалық несие беру деректер базасын жобалау
Деректер базасының түрлері
Деректер базасының сервері
Деректер базасының кестесін компонентпен байланыстыру
Мәліметтер қоры сервері
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz