Antwort schreiben...
 
Themen-Optionen Thema durchsuchen
Alt 06.06.2007, 19:14   #31
RKabis
Registrierter Benutzer
Beschreibung vorhanden UCASE

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)
P a r a m e t e r

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'
Q u e r v e r w e i s / R e f e r e n c e

LCASE
PROPER
RKabis ist offline   Mit Zitat antworten
Alt 13.06.2007, 16:45   #32
Heinz_Richartz
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.
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 13.06.2007, 22:00   #33
Heinz_Richartz
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.
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 14.06.2007, 18:22   #34
Heinz_Richartz
Registrierter Benutzer
Beschreibung vorhanden OSA KILL (Datei löschen)

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)
P a r a m e t e r
[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'
b) - alle Dateien Text.txt in allen Verzeichnissen löschen
Code:
ATTACH 'FILE'
WHILE CALL ( 'KILL' , 'TEST.TXT' , TRUE ) > 0
END WHILE
DETACH 'FILE'
Q u e r v e r w e i s / R e f e r e n c e
EXISTS (prüft, ob eine Datei existiert)
Angehängte Dateien
Dateityp: oac FILE.OAC‎ (14.0 KB, 5x aufgerufen)
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 14.06.2007, 21:06   #35
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA ABS

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)
P a r a m e t e r
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'
Angehängte Dateien
Dateityp: oac TOOLS.OAC‎ (18.5 KB, 5x aufgerufen)
Dateityp: txt TOOLS.TXT‎ (6.5 KB, 3x aufgerufen)
RKabis ist offline   Mit Zitat antworten
Alt 16.06.2007, 17:26   #36
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA DIVIDE

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)
P a r a m e t e r
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'
Q u e r v e r w e i s / R e f e r e n c e
PERCENT
Angehängte Dateien
Dateityp: oac TOOLS.OAC‎ (18.5 KB, 3x aufgerufen)
RKabis ist offline   Mit Zitat antworten
Alt 16.06.2007, 17:28   #37
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA PERCENT

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)
P a r a m e t e r
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'
Q u e r v e r w e i s / C r o s s R e f e r e n c e
DIVIDE
Angehängte Dateien
Dateityp: oac TOOLS.OAC‎ (18.5 KB, 3x aufgerufen)
RKabis ist offline   Mit Zitat antworten
Alt 16.06.2007, 17:30   #38
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA ROUND

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)
P a r a m e t e r
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'
Angehängte Dateien
Dateityp: oac TOOLS.OAC‎ (18.5 KB, 4x aufgerufen)
RKabis ist offline   Mit Zitat antworten
Alt 16.06.2007, 17:48   #39
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA AUTOVAL

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)
P a r a m e t e r
Die Funktion benötigt drei Parameter
  • Der erste Parmeter ist der Namer der Datei, in der der aktuelle AUTOVAL-Wert gespeichert ist.
    Der Dateiname hat die Erweiterung ".AUT". Wenn die Datei in einem bestimmten Verzeichnis angelegt werden soll, können Sie das Verzeichnis durch Eingabe des Parmeters (VOLUME:DATEINAME) angeben. Andernfalls wird die .AUT-Datei in einem Verzeichnis erstellt, das durch den zweiten Parameter festgelegt wird. Enthält der zweite Parameter keine Angabe über das Verzeichnis, dann wird die .AUT-Datei im ersten Verzeichnis der Suchreihenfolge erstellt. Wenn der erste Parameter leer ("") bleibt, wird dem Dateinamen des zweiten Parameters die Erweiterung .AUT hinzugefügt und die Datei wird als .AUT-Datei verwendet.
  • Der zweite Parameter ist der Name der einer Datei, die sich in dem Verzeichnis befindet, in der die .AUT-Datei erstellt werden soll.
    Dadurch sind Sie in der Wahl des gewünschten Verzeichnisses innerhalb eines Netzes wesentlich freier. In der Regel sollte die Datei des zweiten Parameters eine .DF-Datei sein. Die Erweiterung .DF wird nicht automatisch hinzugefügt sondern muß eingegeben werden. Bleibt dieser Parameter frei oder ist er ungültig und kann nicht gefunden werden, dann wird die .AUT-Datei im ersten Verzeichnis der Suchreihenfolge erstellt.
  • Der dritte Parameter ist ein Wert, der festlegt, ob und wie die Funkion AUTOVAL tatsächlich ein Autoinkrement ausführt.
    Ist der Wert Null (0), sird die Funktion AUTOVAL ausgeführt. Bei jedem anderen Wert wird dieser Parameterwert als Ergebnis der Funktion ausgegeben. Dieser Parameter soll verhindern, dass das Autoinkerment bei jeder Auswertung der Funktion ausgefürt wird. Wenn Sie zum Beispiel neue Datensätze eingeben, soll der Wert eines Feldes in der Regel inkrementiert werden. Möchten Sie hingegen einen bestehenden Datensatz nur ansehen, dann soll der Wert nicht inkremendiert werden. Normalerweise geben Sie den aktuellen Wert des Feldes als dritten Parameter ein. Bei einem neuen Datensatz ist dieser Wert Null und wird daher inkrementiert.
Dabei gibt es allerdings eine Schwierigkeit: Open Access berechnet die Abhängigkeiten innerhalb der Schirmmaske ständig neu, wobei ein abhängiges Feld auf seinen ursprünglichen Wert zurückgeseetzt wird. Um endolse Rechenschleifen zu vermeiden, darf ein Feld dessen Wert inkremmentiert wird, nicht als dritter Parameter eingesetzt werden. Ein Feld, das automatisch inkrementiert werden soll muß vielmehr als BEDINGT definiert sein. Geben Sie hierzu ein Funktion ein, die die Dateu AUTOVAL.OAC aufruft, in der der dritte Parameter ein numerisches Feld, vom tatsächlichen Autoinkrement-Feld abhängiges Feld ist. Sie benötogen also zwei numerische Felder in ihrer Datenbankdatei, die immer den gleichen Wert haben (der Autoinkrement-Wert) und die mit einem numerischen Feld in Verbindung stehen (BEDINGT), das wiederum von dem CALL-Feld abhängitg ist (ein auf scih selbst bezogenes Feld hätte neue Komplikationen zur Folge).

R e t u r n s
Numerisch

B e i s p i e l / E x a m p l e
Angehängte Dateien
Dateityp: oac AUTOVAL.OAC‎ (14.5 KB, 4x aufgerufen)
RKabis ist offline   Mit Zitat antworten
Alt 16.06.2007, 18:14   #40
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA MONTH

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)
P a r a m e t e r

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"
Q u e r v e r w e i s / R e f e r e n c e
DATCONV1
Angehängte Dateien
Dateityp: oac MONTH.OAC‎ (12.5 KB, 6x aufgerufen)
RKabis ist offline   Mit Zitat antworten


Antwort schreiben...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche