FabyaVisionKullanım Kılavuzu
/

C işlevleri

5 dk okumaBetikler

C betiklerinden çağrılan hazır işlevler: tag, nesne, sayfa, sistem, DLL karşılıkları, dosya ve C kitaplığı. Desteklenmeyen işlev grupları.

İşlevler nasıl gelir

İşlevlerin çoğu #include "apdefap.h" ile gelir (yeni C betiklerinin şablonu bu satırla başlar). Her işlevin tam imzası ve örneği kod alanındaki Başvuru panelindedir; arama kutusu tüm işlevlerde arar. Bu konu grupları ve davranış kurallarını özetler.

Tag işlevleri

Ad parçalardan oluşur: Get (oku) ya da Set (yaz) + Tag + veri tipi + isteğe bağlı ek. İlk parametre tag adıdır (Tag Tag_Name; sabit metin ya da char dizisi verilir).

Tag türüİşlev ailesiDönüş / değer
BoolGetTagBit, SetTagBit1 ya da 0
Byte, USIntGetTagByte, SetTagByte0 – 255
SIntGetTagSByte, SetTagSByte−128 – 127
Word, UIntGetTagWord, SetTagWord16 bit işaretsiz
IntGetTagSWord, SetTagSWord16 bit işaretli
DWord, UDIntGetTagDWord, SetTagDWord32 bit işaretsiz
DIntGetTagSDWord, SetTagSDWord32 bit işaretli
RealGetTagFloat, SetTagFloatfloat
LRealGetTagDouble, SetTagDoubledouble (tipi bilinmeyen sayısal tag için güvenli seçim)
StringGetTagChar, SetTagCharchar*; dönen metin işlev bitene dek geçerlidir, saklanacaksa strcpy ile kopyalayın
DateTimeGetTagDateTime, SetTagDateTimeSYSTEMTIME
Ham baytGetTagRaw, SetTagRaw—
  • Ekler: …Wait ekli ve eksiz işlev aynı sonucu verir (okuma o anki değeri döndürür, yazma değerin gönderilmesini bekler). …State(…, &durum) değerle birlikte durum kodunu, …StateQC(…, &durum, &kalite) durum ve kalite kodunu verir (yalnız okuma işlevlerinde). Yazma işlevlerinde …State yazmanın durumunu verir.
  • Durum kodu: 0 iyi; 0x0001 bağlantı yok; 0x0080 değer henüz okunmadı; 0x0200 adres hatası; 0x0400 tag yok. Kalite: 192 iyi, 84 değer tag'in alt / üst sınırının dışında.
  • Birden çok tag: GetTagMultiWait, SetTagMultiWait (ve …MultiState… türevleri), GetTagValue / SetTagValue ailesi.
  • Artır / azalt: IncreaseTag, DecreaseTag; bit işlemleri SetBit, ResetBit, InvertBit.
  • Olmayan tag hata vermez: işlev FALSE / 0 döner ve tanılamaya bir satır yazar (Bool tag 1 / 0).

Nesne işlevleri

İlk parametre sayfanın, ikincisi nesnenin adıdır. Olaydan çalışan kodda lpszPictureName olayın sayfasını, lpszObjectName olayın nesnesini verir; başka sayfadaki nesne için sayfa adı yazılır. Renkler tek sayıdır (0x00BBGGRR: kırmızı + 256 × yeşil + 65536 × mavi).

Grupİşlevler
Genel özellikGetPropBOOL / SetPropBOOL, GetPropChar / SetPropChar, GetPropDouble / SetPropDouble, GetPropWord / SetPropWord: özellik adı metin olarak verilir
Özelliğe özelGet / Set + Visible, BackColor, ForeColor, BorderColor, Text, Left, Top, Width, Height, OutputValueDouble, OutputValueChar, FillingIndex, Operation, FontBold, FontSize, FlashBackColor, PictureName, Pressed, Process, Min, Max ve diğerleri (GetInputValueDouble, GetLayer yalnız okur)
Odak ve tag bağıSet_Focus, Get_Focus, GetLinkedVariable, GetLink, SetLink (bağ değişikliği oturum boyunca geçerlidir)

Olmayan sayfa ya da nesne, eşlemesi olmayan özellik ve yanlış türde değer hata fırlatmaz: işlev FALSE / 0 / boş metin döner ve tanılama satırı (aynı metin bir kez) yazılır. Yazılan değer oturum boyunca geçerlidir; projeye yazılmaz.

Sayfa, dil, kullanıcı, sistem

Grupİşlevler
SayfaOpenPicture, OpenHomePicture, OpenPrevPicture, StorePicture, OpenStoredPicture, OpenScreeninPopup, ClosePopup, GetLocalPicture, GetParentPicture, GetParentPictureWindow; TIA adlarıyla ActivateScreen, ActivateStartScreen, ActivatePreviousScreen
DilGetLanguage, SetLanguage, SetLanguageByName ("tr", "en", "de"), InquireLanguage. Dil projede tanımlı olmalıdır.
KullanıcıShowLogonDialog, Logoff, PASSCheckLevelPermission (DLL bildirimi gerekmez)
Tanılamaprintf, TraceText, TraceTime: satırlar betik tanılama listesine ve olay günlüğüne yazılır
Program ve bilgisayarGetComputername, DeactivateRTProject, StopRuntime, ConvertLocalTimeToUTC, ConvertUTCToLocalTime, ProgramExecute (program izni; bitmesi beklenmez, dönüş 31'den büyükse başlatma başarılı)
Aksiyon belleğiSysMalloc, SysFree: aksiyon bitince bellek kendiliğinden geri verilir
Reçete (kullanıcı arşivi)ua… işlevleri: uaConnect, uaQueryArchive, uaArchiveOpen / Close, MoveFirst / Next …, GetFieldValue…, SetFieldValue…, Update, Insert, Delete, ReadTagValues, WriteTagValues. Arşiv, aynı adlı reçetedir. Yapılandırma işlevleri ve içe / dışa aktarma yoktur.

DLL karşılıkları

Gerçek DLL yüklenmez; aşağıdaki işlevlerin karşılığı Live'ın içindedir ve #pragma code("dll adı") / #pragma code() satırları arasında bildirilir. #include "PWRT_api.h" UseAdmin bildirimlerini hazır getirir.

DLLİşlevler
UseAdmin.dllPWRTLogin, PWRTLogout, PWRTGetCurrentUser, PWRTGetLoginPriority, PWRTCheckPermission, PWRTSilentLogin
kernel32.dllSleep, GetTickCount, GetLocalTime, GetSystemTime, GetComputerNameA, WinExec
user32.dllMessageBoxA (düğmeler 1 Tamam, 2 İptal, 6 Evet, 7 Hayır)
shell32.dllShellExecuteA
PDLRTAPI.DLLPDLRTAllowSetForegroundWindow, PDLRTSetScreenKeyboardMode (yapılacak iş yoktur, TRUE döner)

Dosya ve C kitaplığı

  • Dosya (Dosyalara erişme izni): fopen, fclose, fprintf, fputs, fgets, fgetc, fread, fwrite, feof, fflush, fseek (yalnız okunan dosyada), remove, rename … Yalnızca metin kipi; yazarken \n → \r\n, okurken \r\n → \n çevrilir.
  • Metin: strlen, strcpy, strncpy, strcat, strcmp, strchr, strstr, strtok, sprintf, sscanf, atoi, atof, strtol, strtod, toupper, isdigit …
  • Matematik: fabs, sqrt, pow, floor, ceil, fmod, sin, cos, tan, atan, atan2, exp, log, log10, abs, rand, srand.
  • Bellek: memset, memcpy, memmove, memcmp, malloc, free.
  • Zaman: time, localtime, strftime, mktime, difftime, clock.

Desteklenmeyen işlevler

Aşağıdaki gruplar tanımlıdır (kod derlenir) ama çağrılınca iş yapmaz: tanılamaya bir satır yazılır, FALSE / 0 döner. Studio Sorunlar listesinde (F7) bunları önceden uyarır.

  • Alarm işlevleri (AXC_OnBtn…, AcknowledgeMessage …)
  • Tablo ve eğri penceresi işlevleri (Tlg…) ve eski işlevler
  • Rapor işleri (ReportJob, RPTJobPreview, RPTJobPrint)
  • Kullanıcı arşivi yapılandırma ve içe / dışa aktarma işlevleri (uaAddArchive, uaArchiveExport …)
  • Karşılık gelen nesne özelliği olmayan Get… / Set… işlevleri (ör. GetBackColor2)
  • fscanf, freopen, tmpfile, tmpnam, fgetpos, fsetpos, getchar, gets, scanf, vfprintf
  • OpenNextPicture: ileri sayfa geçmişi tutulmaz, 0 döner

Sınırlar ve dikkat edilecekler

  • Listede olmayan bir DLL işlevi çağrılırsa betik anlaşılır bir hatayla durur; Studio derlemede uyarır.
  • FillDiagnoseInTags uyumluluk için tanımlıdır, etkisi yoktur.
  • Dosya ve program işlevleri izin kapalıyken çalışmaz; Studio izni kapalı çağrıyı önceden uyarır.

İlgili konular

FabyaVision 0.1.0 Kullanım Kılavuzu · 18 Ekim 2026© Fabyatek Yazılım Bilişim Teknolojileri Ltd. Şti.