HotXLS Belgeleri

Calculate yöntemi

Belirtilen ifadenin sonucunu hesaplar
Yerleşik değerlendirici; aritmetiği, hücre ve aralık başvurularını, tanımlı adlı aralıkları ve şu işlev gruplarını destekler: metin işlevleri (TRIM, PROPER, CLEAN, CHAR, CODE, T, EXACT, REPT, FIND, SEARCH, SUBSTITUTE, REPLACE); tarih işlevleri (EDATE, EOMONTH, DATEDIF, YEARFRAC, DAYS, WEEKNUM, ISOWEEKNUM); iş günü işlevleri (WORKDAY, NETWORKDAYS); mühendislik/taban dönüştürme işlevleri (DEC2BIN, DEC2HEX, DEC2OCT, BIN2DEC, BIN2HEX, BIN2OCT, OCT2DEC, OCT2BIN, OCT2HEX, HEX2DEC, HEX2BIN, HEX2OCT, BASE, DECIMAL, ARABIC); bit düzeyi işlevler (BITAND, BITOR, BITXOR, BITLSHIFT, BITRSHIFT); istatistiksel işlevler (VAR, VARP, STDEV, STDEVP, MODE, VARA, VARPA, STDEVA, STDEVPA); toplama işlevleri (PRODUCT, SUMSQ); matematik işlevleri (GCD, LCM, MROUND, QUOTIENT, MULTINOMIAL) Özel veya desteklenmeyen çalışma sayfası işlevleri yine de OnUserFunction / OnUserFunctionEx üzerinden çözümlenebilir

Sözdizimi

function Calculate(Expression: WideString):Variant;
Expression WideString. Hesaplanacak ifadeyi belirten bir dize

Örnek

Bu örnek basit bir ifadeyi hesaplar

Val := Workbook.Calculate('100/2*3');
Bu örnek bir metin ifadesini hesaplar

Val := Workbook.Calculate('SUBSTITUTE("a-b-c";"-";"+")');
Bu örnek, etkin çalışma sayfasındaki A1:F10 aralığındaki en küçük değeri bulur

Val := Workbook.Calculate('MIN(A1:F10)');
Bu örnek öncekiyle aynıdır

Val := Workbook.ActiveSheet.Calculate('MIN(A1:F10)');

Önbellekteki sonucun doğrulanması

TXLSWorkbook ve TXLSXWorkbook, saklanan formül sonuçlarını yerini değiştirmeden, taze hesaplanan sonuçlarla karşılaştırabilir
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out Mismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
Dönüş değeri uyuşmazlık sayısıdır. Her kayıt SheetIndex, SheetName, 1 tabanlı Row ve Col, Expected, Actual ve Formula alanlarını içerir. Volatil formüller, veri tablosu hücreleri, saklanmış sonucu olmayan formüller ve değerlendirilemeyen formüller atlanır
MismatchCount := Workbook.CalculateAndVerify(Mismatches);
for I := 0 to MismatchCount - 1 do
  Log(Mismatches[I].SheetName, Mismatches[I].Row,
    Mismatches[I].Col, Mismatches[I].Expected, Mismatches[I].Actual);

Ayrıca bkz.

OnUserFunction callback
TXLSWorksheet.Calculate yöntemi