|
|
#31 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Wandelt einen String in Großbuchstaben um. Converts a string to uppercase letters B e s c h r e i b u n g / D e s c r i p t i o n This function returns a string where all lowercase letters have been converted to uppercase. This function is identical to the Open Access UCASE Programmer function. It has been provided for users of the Database Screen and Print forms. S y n t a x Code:
answer = call ('UCASE' , string)string - is any string or constant R e t u r n s Returns a string variable of the same length as the string passed to i B e i s p i e l / E x a m p l e Code:
attach 'string'
put call ('UCASE' , 'Test String') ! prints TEST STRING
a = 'AA Aerospace'
b = call ('UCASE' , a) ! b contains 'AA AEROSPACE'
detach 'string'LCASE PROPER |
|
|
|
|
|
#32 |
|
Registrierter Benutzer
|
Die ACFG.OAC enthält nur die Funktion ALOADCFG. Allerdings kann ich diese nicht ausführen. Ich erhalte immer die Meldung "OSA-Applikation nicht verfügbar".
Es gibt aber auch noch die CFG.OAC. Diese enthält die Funktionen LOADCFG und SAVECFG. Sie sichert bzw. lädt die CONFIG.OA4. Das hat nach meiner Erinnerung mit unterschiedlichen Configurationen (insbesondere Suchtabelle) mehrerer User zu tun. Der Aufruf erfolgt mit CALL("SAVECFG"). Es öffent sich ein Fester für die Eingabe von [Pfad]Dateiname nach OA-Konvention. Anschließend existiert eine Kopie der der CONFIG.OA4. |
|
|
|
|
|
#33 |
|
Registrierter Benutzer
|
Nützliche Tips (Ergänzungen zum Handbuch)
Es ist die falsche OAC angehängt. FILEXIST befindet sich in der FILECOMP.OAC, welche ja auch im Beispiel korrekt aufgeführt wird. In der FILE.OAC heißt die (wahrscheinlich identische) Funktion EXISTS.
|
|
|
|
|
|
#34 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Löschen einer Datei innerhalb der akutellen Suchtabelle. Diese Funktion stellt OA4 im Programmierer nicht zur Verfügung. B e s c h r e i b u n g / D e s c r i p t i o n Die KILL-Funktion erlaubt dem User eine Datei in einem Verzeichnis der OA-Suchtabelle zu löschen. Die Datei wird ohne Rückfrage gelöscht. Mittels eines Parameters wird bestimmt, ob das erste Vorkommen der Datei oder die Datei in einem bestimmten Verzeichnis gelöscht werden soll. Soll die Löschung bestätigt werden, so muss zunächt mittels EXISTS geprüft werden, ob die zu löschende Datei existiert. Nun kann anhand der Antwort von EXISTS ein Dialog zum User eingebaut werden und abhängig von seiner Antwort die KILL-Funktion ausgeführt werden. S y n t a x Code:
VALUE = CALL ( "KILL", [PFAD:]DATEINAME, TRUE/FALSE) [PFAD:]DATEINAME = die zu löschende Datei TRUE/FALSE = TRUE für erstes Vorkommen, FALSE für Datei im angegebenen Verzeichnis R ü c k g a b e Die Funktion gibt einen ganzzahligen Wert zurück: -1 = es lag ein Parameter-Fehler vor 0 = es wurde keine Datei zum löschen gefunden 1 = die Datei wurde gelöscht B e i s p i e l / E x a m p l e a) - die Datei Text.txt im OA4-Verzeichnis löschen Code:
INT ANTWORT = 0 ATTACH 'FILE' ANTWORT = CALL ( 'KILL' , 'OA4:TEST.TXT' , FALSE ) GET ANTWORT DETACH 'FILE' Code:
ATTACH 'FILE' WHILE CALL ( 'KILL' , 'TEST.TXT' , TRUE ) > 0 END WHILE DETACH 'FILE' EXISTS (prüft, ob eine Datei existiert) |
|
|
|
|
|
#35 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Liefert den aktuellsten Wert einer Zahl. Return the absolute value of a number. B e s c h r e i b u n g / D e s c r i p t i o n This function returns the absolute (positive) value of an integer or decimal passed to it. This function is useful when calculating the difference between two numbers as it always gives a positive value. S y n t a x Code:
value = call ('ABS' , value)value - is any integer or decimal value. R e t u r n s Returns a number of the same type as that passed to it. B e i s p i e l / E x a m p l e Code:
attach 'tools'
put call ('ABS' , -4.5) ! prints 4.5
a = 10.4 - 20.6
b = call ('ABS' , a) ! b contains 10.2
detach 'tools' |
|
|
|
|
|
#36 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Teilt eine Zahl (oder Datum) mit einer anderen ohne Null-Teilung. Divide 1 number (or date) by another without zero divide B e s c h r e i b u n g / D e s c r i p t i o n This function performs a simple divide on two numbers. However, it also prevents a zero divide occurring. This may be useful to users of Screen Forms or Programmer who otherwise have to check the divisor or suffer rude messages from Open Access. S y n t a x Code:
result = call ('DIVIDE' , value1 , value2)value1 - an integer or decimal, the value to be divided value2 - an integer or decimal, the divisor result - a decimal value. If the divisor is zero then the result is set to 0.0 R e t u r n s A decimal value B e i s p i e l / E x a m p l e Code:
attach 'TOOLS'
put call ('DIVIDE' , 21 , 3) ! prints 7.00000
a = 10.0
b = 0
put call ('DIVIDE' , a , b) ! prints 0.00000 without a warning
! message appearing
detach 'TOOLS'PERCENT |
|
|
|
|
|
#37 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Findet den Prozentsatz einer Zahl zu einer Anderen. Find the percentage of one number by another B e s c h r e i b u n g / D e s c r i p t i o n This function performs a simple percentage operation on two numbers. However, it also prevents a zero divide occurring. This may be useful to users of Screen Forms or Programmer who otherwise suffer rude messages from Open Access. S y n t a x Code:
result = call ('PERCENT' , value1 , value2)value1 - an integer or decimal. value2 - an integer or decimal. result - a decimal value. If the divisor is zero then the result is set to 0.0. Otherwise the following calculation is performed value1 / value2 * 100. R e t u r n s A decimal value B e i s p i e l / E x a m p l e Code:
attach 'TOOLS'
put call ('PERCENT' , 4 , 8 ) ! prints 50.00000
a = 10.0
b = 0
put call ('PERCENT' , a , b) ! prints 0.00000 without a warning
! message appearing
detach 'TOOLS'DIVIDE |
|
|
|
|
|
#38 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Rundet den Wert zu einer spezifischen Präzision. Round a value to a specified precision B e s c h r e i b u n g / D e s c r i p t i o n The ROUND function will 'round' a decimal number to a given number of decimal places. This is different to the Open Access Programmer Round statement that always rounds numbers to integers. This flexibility is useful for rounding currency amounts. S y n t a x Code:
newvalue = call('ROUND' , value , precision)value - is a decimal value precision - is the number of decimal places the value is to be rounded to. R e t u r n s A decimal value, rounded to the correct precision. B e i s p i e l / E x a m p l e Code:
attach 'TOOLS'
put call('ROUND' , 3.141592654 , 3) ! prints 3.142
a = 50.38 * 0.10
b = call ('ROUND' , a , 2) ! b contains 5.04
detach 'TOOLS' |
|
|
|
|
|
#39 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Diese OSA-Applikation ist eine Zählfunktion, die bei jedem Aufruf automatisch einen Inkrementwert ausgibt. B e s c h r e i b u n g / D e s c r i p t i o n Die Funktion AUTOVAL ist eine Ergänzung zur Autoinkrement-Funktion in Datenbank-Schirmmasken. AUTOVAL unterscheidet sich insofern, als der Wert bereits bei der Eingabe in die Schirmmaske und nicht beim Speichern des Datensatzes erhöht wird. Dies hat den Vorteil, dass verschiedene Netzwerkstationen nie den gleichen Autoinkrement-Wert auf dem Bildschirm anzeigen. Bei einem regelmäßigen Autoinkrement wird der Autoinkrement-Wert beim Speichern des Datensatzes bestimmt. Abhängigkeiten werden bereits zuvor in der Schirmmaske berechnet. Wenn zwei Netzstationen den gleichen Autoinkrement-Wert anzeigen, dann wird einem der beiden Stationen beim Speichern ein anderer Wert zugewiesen. Dadurch können Abhängigkeiten zum Autoinkrement nicht mehr richtig zugeordnet werden. Mit der Funktion AUTOVAL vermeiden Sie dieses Problem, auch wenn es den Nachteil hat, dass einige Werte übersprungen werden und damit verloren gehen. S y n t a x Code:
nummer=call("autoval",dateiname,dateiname, wert)Die Funktion benötigt drei Parameter
R e t u r n s Numerisch B e i s p i e l / E x a m p l e |
|
|
|
|
|
#40 |
|
Registrierter Benutzer
|
E r g e b n i s / R e s u l t
Liefert den Monat aus einem Datum B e s c h r e i b u n g / D e s c r i p t i o n Die Funktion gibt einen Integerwert zwischen 1 und 12 aus, der dem Monat des angegebenen Datums entspricht. Müsste der OSA-Funktion DATCONV1 entsprechen S y n t a x Code:
ergebnis = call("month",datum)R e t u r n s Integer B e i s p i e l / E x a m p l e Code:
attach "month"
put call("month",sysdate)
detach "month"DATCONV1 |
|
|
|