11-маъруза: Файллар билан ишлаш. Файлни ёзиш ва ы=иш учун очиш. Файл ишини якунлаш. Дискдаги файл =андай ы=илади?
Яратиладиган компьютер дастурларининг кыпчилигида дискдан ы=иш ёки дискка ёзиш зарур. Кып щолларда бу жараён фойдаланувчига кыринмайди, яъни сиз Visual Basic дан фойдаланаётган былсангиз, Visual Basic дискдаги маълумотлар базаси билан ишлашда маълумотлар базасини бош=арувчи ядродан фойдаланади. Бу щолда сиз файлларни очиш ёки ёпиш ща=ида ташвишланмасангиз щам былади. Биро= ахборотни ы=иш ва дискка ёзишни билиб =ыйиш керак былиб =олиши мумкин.
Масалан, иш жараёнида дастур ташкилий файллардан бирортасини келгусида ахборотни чи=ариш учун дискка кычириб олиш заруриятини юзага келиши мумкин.
Файллар билан ишлаш учун турли оператор ва функциялар мавжуд былиб, улар =уйидаги жадвалда келтирилган:
Оператор, функция
|
Вазифаси
| Open |
Файлни очади
|
Close
|
Барча очилган фалларни ёпади
|
Close #
|
Кырсатилган тартиб ра=амидаги файлни ёпади
|
Reset
|
Буфер(хотира)да са=ланаётган барча файлларни ёпади
|
Print #
|
Маълумотларни файлга ёзади
|
FileCopy
|
Файлдан нусха олади
|
EOF
|
Файл охирини ани=лайди
|
FileAttr
|
Очи= файлдан фойдаланиш турини ани=лайди
|
FileDateTime
|
Файлнинг яратилган ва=тини ва санасини ани\лайди
|
FileLen
|
Файл хажмини байтда ани=лайди
|
FreeFile
|
Очилган файлларнинг быш =олган тартиб ра=амини ани=лайди
|
GetAttr
|
Файл атрибутини ани=лайди
|
SetAttr
|
Файлга атрибут ырнатади
|
Loc
|
Очилган файлдаги актив турган жойни ани=лайди
|
LOF
|
Очилган файлнинг хажмини байтларда ани=лайди
|
Seek
|
Очилган файлнинг актив турган жойини ызгартиради
|
Dir
|
Жорий турган папка номини ани=лайди
|
Kill
|
Файлни ычиради
|
Lock
|
Кып фойдаланувчили мухитда файлни химоялайди
|
UnLock
|
Кып фойдаланувчили мухитда файл химоясини олиб ташлайди
|
Name
|
Файл номини ызгартиради
|
Get #
|
Файл таркибидаги маълумотни ы=ийди
|
Input #
|
Файл таркибидаги маълумотни ы=ийди
|
Line Input #
|
Файл таркибидаги сатрни ы=ийди
|
Put #
|
Маълумотларни файлга ёзади
|
Write #
|
Маълумотларни файлга ёзади
|
Файлни очиш учун Open буйру\идан фойдаланилади. У =уйидагича кыринишга эга:
Open pathName For mode [access] [lock] As [#] fileNumber [Len=recLength]
бу ерда:
pathName – файлнинг тыла номи;
mode – файл билан ишлашга рухсат олиш тури. Улар Append, Binary, Input, Random турларидир;
access – файл билан ишлаш усули. Файл ы=иш(Read) учун, ёзиш(Write) учун ёки ы=иш ва ёзиш(Read/Write) учун очилиши мумкин;
lock – Тармо=дада кыпчилик фойдаланганида ишлатилади. +ийматлар ва уларнинг таърифи =уйидагича: Shared (Умумий), Lock Read (Ы=ишни химоялаш), Lock Write (Ёзишни химоялаш), Lock Read Write (ы=иш ва ёзишни химоялаш);
fileNumber – Файлни =айта ишлаш учун унинг тартиб ра=ами. Тартиб ра=ам 1 дан 511 гача былиши мумкин (511 та файлни бир ва=тда очиш мумкин);
recLength – Файлга маълумотларни ёзиш ёки ы=ишда чегараланган буфер (хотира хажми).
+уйидаги мисол матн файлини ойнага =андай юклашни кырсатади:
1. Янги дастур яратинг, унга матн ойнаси ва буйру= тугмасини жойлаштиринг. Матн ойнасининг Scrollbars хусусиятини Vertical щолатига, Multiline хусусиятини эса True щолатига ытказинг.
2. Тугманинг Click(Босиш) щодисасига =уйидаги кодни ёзинг:
On Error GoTo ErrorHandler
Dim FileNum As Integer
FileNum = FreeFile
Open "C:\AUTOEXEC.BAT" For Input As #FileNum
Text1.Text = Input(LOF(FileNum), #FileNum)
Close #FileNum
Exit Sub
ErrorHandler:
MsgBox "Хатолик:" & Err.Description
3. Дастурни ишга туширинг ва тугмани босинг. Матн ойнасида AUTOEXEC.BAT файлининг мазмуни чи=ади.
Бу мисолдаги коднинг ишлаши ща=ида бир неча фикрлар. Visual Basic очи= файлларни номери быйича идентификациялайди. FreeFile функцияси быш номерни =айтаради, Open … For lnput оператори файлни очади, кейин эса lnput функцияси файлни ы=ийди. LOF (Length of File – файл узунлиги) функцияси lnput функцияси ы=иши учун файл узунлигини ани=лайди. Ы=иш операцияси сынгида Close# функцияси файлни ёпади.
Файлга маълумот ёзиш
Файлга маълумот ёзиш коди файлни ы=иш кодига ыхшаш. Аслида, файл ы=иш/ёзиш режимида очилганда сиз файлни ы=ишингиз ва зарур былса, унга маълумот ёзишингиз мумкин. Файлга маълумот ёзиш =уйидагича кыринишга эга булади:
Ю=оридаги каби ойна хосил =илинг ва Command1 тугмачасини Click ходисасига келтиринг щамда =уйидаги кодни ёзинг:
On Error GoTo ErrorHandler
Open "C:\MyFile.tmp" For Output As #1
Write #1, Text1.Text
MsgBox "Файлга Text1 майдонидаги ёзувлар сакланди"
Close #FileNum
Exit Sub
ErrorHandler:
MsgBox "Хатолик:" & Err.Description
Text1 майдонига ызингизнинг таржимаи холингизни киритиб уни Блокнот ёрдамида “C:\MyFile.tmp” дан кыришингиз мумкин.
Рыйхатга олувчи файлни яратиш
Бу мисолда дастурни ишга тушурилган щамда ёпилган санаси ва ва=тини ызига оладиган рыйхатга олиш файлини яратиш намунаси келтирилган.
Энг мущими файлни ты\ри режимда очиш зарур. Агар сиз файлдан иккилик маълумот ы=имо=чи былсангиз, файлни (иккилик маълумот) ы=иш (Open for Binary) режимида очинг. Шу билан бирга сиз файлни =айси режимда очилишидан =аътий назар маълумотлар базасига мурожат =илиш режимини щам белгилашингиз мумкин.
1. Янги ойна (Form) яратинг ва унинг Load(Юклаш) щодисасига =уйидаги кодни ёзинг:
On Error GoTo ErrorHandler
Open "C:\EASYSTEP.LOG" For Append As #1
Write #1, "Дастур ишга тушди: " & Str$(Now)
Close #1
Exit Sub
ErrorHandler:
MsgBox "Хатолик: " & Err.Description
2. Яратилган ойнанинг Unload щодисаси учун щам ю=оридаги кодни ёзинг ва Write оператори билан бошланувчи сатрни =уйидаги сатр билан алмаштиринг:
Write #1, «Дастур ёпилади:» & Str$(Now)
Бу мисол дастур биринчи марта ишга туширилганида рыйхатга олувчи файл щосил =илади. Кейин ишга тушганда эса ахборотни мавжуд файлга ёзиб боради.
Ю=оридаги дастурни бир неча бор (камида икки марта) ишга туширинг щамда блокнот ёрдамида "C:\EASYSTEP.LOG" файлини очиб кыринг. У ерда мавжуд дастур =ачон ишга туширилганлиги ва =ачон ёпилганлиги ёзиб =олдирилган.
12-маъруза: Фойдаланувчи интерфейсини =айта ишлаш. Интерфейс типлари, элементлари (меню, =урилмалар панели, муло=от ойналари), CommonDialog
Интерфейс – фойдаланувчи ишини осонлаштирувчи ички =оби= дастури щисобланиб, фойдаланувчига кыринмас механизмларни бош=ариш щамда компютердаги хужжатлар ва бош=а маълумотлар устида ишлаш имкониятини беради. Хар =андай дастурнинг асосий ма=сади – маълумотларни =айта ишлашда энг ю=ори =улайлик ва эффектли ишлашдан иборат (Хужжатлар, маълумотлар омбори, графика ёки тасвир ва бош=алар). Бундай дастурларни ИНТЕРФЕЙС дан фойдаланмай туриб тузиш имкони мавжуд эмас. Шунинг учун интерфейс хар =андай дастур тузишнинг энг асосий былими былиб =олади.
Интерфейсларни =айта ишлашда =уйидаги принцпларни =ыллаш керак:
Стандартлаштириш. Интерфейслардан фойдаланишда, стандарт, кып дастурчи ва фойдаланувчилар томонидан синовдан ытганлари ишлатилиши лозим;
Фойдаланувчи учун =улайлик. Интерфейс барча учун тушунарли былиши лозим. Барча амаллар тез эсда =олиши ва кып амаллар бажарилмаслиги керак. Масалан тугмачаларнинг орти=ча босилиши, шарт былмаган сыровларнинг чи=иши ва бош=алар;
Ички дизайн. Интерфейс кыриниши кызни тез толи=тирмаслиги балки фойдаланувчи уни ишлатишда бутун кун быйи ишлаши лозимлигини щисобга олиш лозим;
Формани жихозлаш. Форма бош=арув элементлари билан тылдирилиши талаб этилади;
Группалаш. Бош=арув элементларини вазифасига =араб гурухларга ажратилади. Бу эса фойдаланувчи керакли амалларни тез бажаришда =ыл келади.
Формага объектларни жойлаштириш. Объектлар формада бир бири билан зич жойлашмай эркин жойлашиши лозим былади. Чунки фойдаланувчи эркни ишлаши керак.
Интерфейс турлари.
Windows операцион системаси учун Visual Basic 6 ёрдамида дастурлашда уч хил турдаги интерфейс мавжуд ва улар =уйидагилар: якка документли SDI (Sindle-Document Interface), кып документли MDI(Multiple-Document Interface) ва проводник туридаги интерфейс (Explorer).
|