Программалаушылар фолклорынан...

"Переводы как женщины: если верны, то некрасивы, а если красивы, то неверны."

Қазақшалағанда:
"Аудармалар (тәржімелер) қыздар сияқты: сенімді болса әдемі емес, әдемі шықса - сенімсіз."

(Моисей Сафир) ..

Абайдың бір қара сөзін көрем десеңіз осы батырманы басыңыз.

Қазақ тіліне Макрос.


Деректердің типтері мен операциялары




VBA көпдеген қарапайым типтерді қолдайды. Кейбіреулерін айнымалылардың атауларыына арнайы белгі (%, $, & с.с.) қосып танытуға болады. Бірақ ол тәртіптен алыс болған жөн. Деректердің типтерін кілттік сөздер арқылы айқын көрсетіп отырған дұрыс болады. Келесі кестеде айнымалының типіне қарай жадыдан алатын орындарының көлемдері көрсетілулі және сол орынға түсетін айнымалының мәндері мінезделген:

Айнымалылардың типтік мінездемелері

ТипіЖады көлеміСипаттамасы
Boolean2 байтЛогикалық(булдік) мәндер
Integer2 байтБүтін сандар
Long4 байтЕкіесе ұзындықтағы бүтін сандар
Single4 байтЖүзгіш нүктелі бөлшек сандар (жүзгіштер)
Double8 байтЕкіесе дәлдіктегі жүзгіштер
Currency8 байтАқша форматындағы сандар
Date8 байтДата мен уақыт мәндері
String1 байт/символғаСимволдар (қаріптер) жолдары
Object4 байтОбъекттерге сілтемелер
Variant16 байтМәнімен анықталатын тип


  • Boolean. Бүл типтегі айнымалылар тек екі мәнді қабылдай алады. Олар- логикалық мәндер: True - шын және False - жалған.
  • Integer. Бүтін санды бейнелейтін сифрлар тізбегі. Мән, -32768 және +32767, екі санмен шектеледі. Орынды аз алады, жету шапшан.
  • Long.Бұл сандар орынды көбірек алады. Шектері: -2147483648 және +2147483647. Бүтінсандық арифметикаға қолайлы.
  • Single. Бөлшек сандардың типы. Яғни сан бейнесінде нүкте болу керек. Шектері: теріс сандары үшін -3.402823E+38 мен -1.401298E-45, оң сандар үшін: 1.401298E-45 пен 3.402823E+38. Сандардың дәлдігі нүктеден соң 6 таңбаға жетеді.
  • Double. Бұл тип сандардың дәлдігін нүктеден соң 14 таңбаға жеткізеді. Шектері: теріс сандары үшін -1.7976931346232E+308 бен -4.94065645841247E-324, оң сандар үшін: 4.94065645841247E-324 пен 1.79769313486232E+308.
  • Currency. Шектері: теріс сандары үшін -922'337'203'685'477.5808 бен +922'337'203'685'477.5807. Сандардың дәлдігі нүктеден соң 4 таңбаға жетеді. Ақша есептерін жүргізу қолайлы да тиімді.
  • Date. 100-ші жылдың 1-ші қантарынан бастап 9999-шы жылдың 31-ші желтоқсанына дейнгі даталарды бейнелеп қамтиды. Дата мәндері #...# немесе "..."таңбаларымен қоршалады.
  • String. Ұзындығы екі миллиард таңба (қарыпқа) жетуі мүмкін. Бұндай мәндер қос тырнақша арасында лөрсетілуы керек. Жолдардың ұзындығы тұрақтыланып көрсетілуы мүмкін, онда ол ұзындық 65536 дан аспауы міндет.
  • Object. Обхектілік типті Object кілттік сөзбен анықтауға болады, немесе нақты объектің типын жазу арқылы. Объектілі тип шын мағнасында сілтеме болады, аталған типты объектке нұсқайтын. Бұндай типті шамаға мән меншіктеу Set операторы арқылы орындалады.
  • Variant. Бұл типты айнымалы кезкелген типтегі мәнді қабылдай алады. Тип нақтылынады меншіктеу кезінде. Іске қосылады, егер айнымалының типы көрсетілмесе немесе мүлде жарияланбаса. Орынды жадыда көп алады, жету амалы баяу өтеді, программаны түзеу кезінде біраз қыйыншылық тудырады.
  • Массивтер
    Әрқайсысына жету үшін ортақ атауы мен кезектегі номері жеткілікті болатын, бір типтегі айнымалылардың жиынын массив деп атайды. Массивты қолданған көпшілікті амалдарды программалауға келгенде істі әдеуір жеңілдетеді. Массивтер бір өлшемді, екі өлшемді немесе көп өлшемді болады, яғни өлшемдігі жариялану керек. Әр өлшемдегі элементтер санын өлшем ұзындығы дейді. Өлшемдегі нақты орынды индексі арқылы көрсете аламыз. Индекстың төменгі және жоғарғы шегі болады. VBA да программаны орындау барысында мөлшер ұзындықтары өзгертуге мүмкіндік бар ReDim операторы арқылы.

    Пайдаланушы анықтайтын типтер
    Пайдаланушы анықтайтын типтер кейде жазулар немесе структуралар деп аталуы мүмкін. Бұлар әртүрлі қарапайым немесе күрделі типтердің қосындысы болуы мүмкін. Бұл типтін жеке дерегіне жету құрамды атауы арқылы ғана орындалады. Байланысқан атаулар нүктемен ажыратылады. Пайдаланушының типын жариялағанда арнайы операторды пайдалану керек. Мысалы:
    Type adam
    aty As String *8
    akesi As String *12
    TuGy As Integer
    End Type
    ОПЕРАЦИЯЛАР