PMS32 Online- Hilfereferenz
cOTS - Umwandlung von C-Structure Dateien nach der "neuen" Maßgabe. Es werden Collections erzeugt und ausgewertet!
Umwandlung von C-Structure Dateien nach der "neuen" Maßgabe. Es werden Collections erzeugt und ausgewertet!
*/ Kurzbeispiel für den Zugriff auf diese Struktur */ Der Zugriff erfolgt über: My.CStructs.cOTS */ Wird dieses Objekt in einem REPLACE oder einer Schleife SCAN ... ENDSCAN | FOR ... NEXT benötigt */ so sollte vor der Schleife die Objektstruktur in eine Variable geholt werden! */ Die Ausführungsgeschwindigkeit wird dadurch sehr vergrößert! */ Beispiel: */ Definieren einer LOKALEN Variablen LOCAL locOTS AS My.CStructs.cOTS */ Setzen der Variablen locOTS = My.CStructs.cOTS */ Jetzt erst die Schleifen durchlaufen... man beachte ALL, dass können ne Menge Sätze sein... REPLACE ALL Feldname1 WITH locOTS.Function1(),Feldname2 WITH locOTS.Function1(), ... */ Oder in einer Schleife... SCAN lvValue = locOTS.Function(Alias.Spalte) + 25 lvValue = locOTS.Function2(m.lvValue) REPLACE Feldname WITH m.lvValue,... ENDSCAN */ Es sind auch geschachtelte Aufrufe möglich...
Rückgabe:[Boolean], Richtung, in der die Verzeichnisse nach den Dateien gescannt werden. Siehe ReadCStructure... Standard=.F. (1-N), .T.=(N-1), .NULL.=(1)
Boolean = My.CStructs.cOTS.ChangeDirection(tlDirection AS Variant) Boolean = My.CStructs.cOTS.ChangeDirection(tlDirection)
Rückgabe:[Boolean], Kopiert mehrere Items aus der C-Structure: 'pms32.all.define'. Das Item kann mit einem cTree abgefragt werden. Nur beim Aufbau von O=>A!
Boolean = My.CStructs.cOTS.CopyItems(tcKey AS STRING,tlNoOverwrite AS Boolean) Boolean = My.CStructs.cOTS.CopyItems(tcKey,tlNoOverwrite)
Rückgabe:[Variant], Führt ein Benutzerscript aus, dass an einer Property hängt. Rückgabe: .T. | .F. | .NULL.. .NULL. = .T. jedoch wird die interne Methode ausgeführt
Variant = My.CStructs.cOTS.ExecUScript(tvScript AS Variant, tlAfter AS Boolean) Variant = My.CStructs.cOTS.ExecUScript(tvScript,tlAfter)
Rückgabe:[Variant], Rückgabe eines Items aus der C-Structure: 'pms32.all.define'. Das Item kann mit einem cTree abgefragt werden. Zusätzlich kann der Defaultwert angegeben werden, wenn der cTree nicht ausgewertet werden kann. Nur beim Aufbau von O=>A!
Variant = My.CStructs.cOTS.GetItem(tcKey AS STRING,tvDefault AS Variant) Variant = My.CStructs.cOTS.GetItem(tcKey,tvDefault)
Rückgabe:[String], Gleiche Methode wie GetItem() jedoch werden auch Text-Objekte geprüft und der Text eines solchen Objektes zurückgegeben.
String = My.CStructs.cOTS.GetItemText(tcKey AS STRING,tcDefault AS STRING) String = My.CStructs.cOTS.GetItemText(tcKey,tcDefault)
eIndex = My.CStructs.cOTS.GetKey(eIndex) eIndex = My.CStructs.cOTS.GetKey(eIndex)
Rückgabe:[Variant], Versuch der Umwandlung eines Ausdrucks, Kann in Methoden verwendet werden... EMPTY-STRING, wenn es nicht geht!
Variant = My.CStructs.cOTS.ITry(tvValue AS Variant) Variant = My.CStructs.cOTS.ITry(tvValue)
eIndex = My.CStructs.cOTS.Item(eIndex) eIndex = My.CStructs.cOTS.Item(eIndex)
Rückgabe:[Variant], Versuchen den Ausdruck umzuwandeln, es wird tvValue zurückgegeben, wenn es NICHT geht...
Variant = My.CStructs.cOTS.JTry(tvValue AS Variant) Variant = My.CStructs.cOTS.JTry(tvValue)
Rückgabe: [String], läd die angegebene Datei und sucht in den Pfaden...
String = My.CStructs.cOTS.LoadFile(tcFileName AS STRING @) String = My.CStructs.cOTS.LoadFile(@tcFileName)
Variant = My.CStructs.cOTS.LoadScript(tcFileName AS STRING @) Variant = My.CStructs.cOTS.LoadScript(@tcFileName)
Rückgabe:[String], Nachladen einer Scriptdatei während des Aufbaus der Struktur
String = My.CStructs.cOTS.LoadScriptFile(tcMenuFile AS STRING,tcMenuTree AS STRING) String = My.CStructs.cOTS.LoadScriptFile(tcMenuFile,tcMenuTree)
Rückgabe:[Object], Umwandlung einer O-Collection- Structure in eine Anwendungsstruktur. Hier müssen die Klassen und Therms angegeben sein!
Object = My.CStructs.cOTS.ObjectToApplication(toObject AS COLLECTION, toMaster AS OBJECT) Object = My.CStructs.cOTS.ObjectToApplication(toObject,toMaster)
Object = My.CStructs.cOTS.ObjectToScriptS(toStructure AS My_CS_NewCStruct) Object = My.CStructs.cOTS.ObjectToScriptS(toStructure)
Rückgabe:[String], Wandelt eine O-Structure in eine C-Structure um. Rückgabe ist immer STRING.
String = My.CStructs.cOTS.ObjectToString(toObject AS COLLECTION,toSubFiles AS COLLECTION @) String = My.CStructs.cOTS.ObjectToString(toObject,@toSubFiles)
Rückgabe:[String], Wandelt eine Objekt-Struktur in eine XML-Struktur um. Zurückgegeben wird die XML Struktur
String = My.CStructs.cOTS.ObjectToXML(toObject AS COLLECTION,tcTag AS String) String = My.CStructs.cOTS.ObjectToXML(toObject,tcTag)
Variant = My.CStructs.cOTS.ReadAndSaveFile(tcFileName AS STRING @,tcFile AS STRING,tlDirection AS Boolean) Variant = My.CStructs.cOTS.ReadAndSaveFile(@tcFileName,tcFile,tlDirection)
Rückgabe:[Object], Lesen einer C-Structure Datei und Umwandlung in eine O-Structure
Object = My.CStructs.cOTS.ReadCStructure(tcFile AS STRING,tlDirection AS Variant) Object = My.CStructs.cOTS.ReadCStructure(tcFile,tlDirection)
Variant = My.CStructs.cOTS.SetInSubFiles(tcText AS STRING,tcFile AS STRING) Variant = My.CStructs.cOTS.SetInSubFiles(tcText,tcFile)
Rückgabe:[Object], Wandelt eine C-Structure in eine O-Structure um. Rückgabe ist Objekt (IMMER)
Object = My.CStructs.cOTS.StringToObject(tcStructure AS STRING,toObject AS OBJECT) Object = My.CStructs.cOTS.StringToObject(tcStructure,toObject)
Rückgabe:[String], spezielle Umwandlung von Informationen in Stringketten
String = My.CStructs.cOTS.TransformSpecial(tvValue AS Variant,tlShortChar AS Boolean) String = My.CStructs.cOTS.TransformSpecial(tvValue,tlShortChar)
Object = My.CStructs.cOTS.XMLtoObject(tcXML AS STRING,toObject AS OBJECT) Object = My.CStructs.cOTS.XMLtoObject(tcXML,toObject)
Variant = My.CStructs.cOTS.kTry(tvValue AS Variant) Variant = My.CStructs.cOTS.kTry(tvValue)
Variant = My.CStructs.cOTS.nTry(tvValue AS Variant) Variant = My.CStructs.cOTS.nTry(tvValue)
Variant = My.CStructs.cOTS.vTry(tcExpression AS STRING,tvReturn AS Variant) Variant = My.CStructs.cOTS.vTry(tcExpression,tvReturn)
Variant = My.CStructs.cOTS.xProperty(tcProp AS STRING,tlITry AS Boolean) Variant = My.CStructs.cOTS.xProperty(tcProp,tlITry)
Variant = My.CStructs.cOTS.yProp(tcProp AS STRING) Variant = My.CStructs.cOTS.yProp(tcProp)
Variant = My.CStructs.cOTS.yProperty(tvProperty AS Variant,tcTyp AS String @) Variant = My.CStructs.cOTS.yProperty(tvProperty,@tcTyp)
String = My.CStructs.cOTS.Count
Suchverzeichnisfolge für die C-Structure Dateien...
Array = My.CStructs.cOTS.aCssDir[tiIndex1 AS Integer , tiIndex2 AS Integer] Array = My.CStructs.cOTS.aCssDir[tiIndex1,tiIndex2]
Zähler für aCSSDir(n)
Array = My.CStructs.cOTS.aCssDirCount
Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Auszug aus der Pfaddatei pms32.pth:
*/ Verzeichnis der Microcube - Dateien. Wenn leer dann gleich: cDbfdir
cCubdir = ""
*/ Ein 'anderes' Dokumentenverzeichnis kann angegeben werden. Wenn nicht angegeben dann gleich: cDbfdir+'docs\'
*/ cDocDir = ""
*/ Verzeichnis der Mandantentabellen. Hier ein Beispiel mit UNC Pfaden.
*/ Wird die Freigabe auf dem Server 'versteckt' \pms$\ angegeben, so kann ein Cryptovirius das Verzeichnis nicht finden!
cDbfdir = "\\server\pms$\pms32\daten\demo.32\"
*/ Verzeichnis der Reporttabellen
*/ Gibt man Bilddateien in einem Report mit My.Clients.Path.cFrxDir+'BILDNAME.JPG' an, so kann PMS32 einfach auf einen anderen Rechner kopiert werden!
cFrxdir = "\\server\pms$\pms32\reports\demo.32\"
*/ Beschreibung des Mandanten
cIcx02 = "TESTMANDANT DEMO"
*/ ID der Firmenparameter zum Mandant.
cIdx09 = "DEMO"
*/ Kann unter der Mandanteninformation leer sein, wenn für mehrere Mandanten das 'gleiche' Systemverzeichnis gültig ist.
cSysdir = ""
*/ Willkommens-Information als Hintergrundbild in PMS32
cWelcome= "pms32.htm"
*/ Nummer des Mandanten, beim Einsatz eines BarcodeScanners sollte diese Nummer EINDEUTIG sein!
nNumber = 1
<>
String = My.CStructs.cOTS.cIdx02
*/ Abfrage der Mandanten-ID WAIT WINDOW My.CStructs.cOTS.cIdx02 */ Wenn man mittels VFP Zugriff auf die Applikation braucht: */ 1. vfp9.exe öffenen */ 2. In das Startverzeichnis von PMS32 wechseln (MUSS) CD c:\pms\pms32 */ 3. My Instanziieren My = NEWOBJECT("pmsmy","pmsmyhandler.vcx","pmsmyhandler.app") */ 4. Den letzten aktuellen Mandanten zuweisen My.cIdx02 = My.cIdx02 */ 5. Los gehts...
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]
String = My.CStructs.cOTS.cMethod
*/ Abruf... WAIT WINDOW My.CStructs.cOTS.cMethod
Reset C-Structure
Diese Property ist normalerweise WriteOnly! Sie dient zum Zurücksetzen verschiedener Informationen.
#DEFINE CRI_REMOVE_MENUES "REMOVE-MENUES"
#DEFINE CRI_REMOVE_CSFILES "REMOVE-CS-FILES"
#DEFINE CRI_REMOVE_SCRIPTS "REMOVE-CS-SCRIPTS"
#DEFINE CRI_CHANGE_IDX09 "CHANGE-IDX09"
#DEFINE CRI_LOGIN "USER_LOGIN"
String = My.CStructs.cOTS.cResetInfos
*/ Verschiedene RESET Befehle... My.CStructs.cOTS.cResetInfos = "REMOVE-MENUES" My.CStructs.cOTS.cResetInfos = "REMOVE-CS-FILES" My.CStructs.cOTS.cResetInfos = "REMOVE-CS-SCRIPTS" My.CStructs.cOTS.cResetInfos = "CHANGE-IDX09" My.CStructs.cOTS.cResetInfos = "USER_LOGIN" */ Je nach Klasse wird ein entsprechender RESET ausgeführt!
E = My.CStructs.cOTS.eStructure
Wert:[Boolean], Richtung, in der die Verzeichnisse nach den Dateien gescannt werden. Siehe ReadCStructure... Standard=.F. (1-N), .T.=(N-1), .NULL.=(1)
Boolean = My.CStructs.cOTS.lDirection
Boolean = My.CStructs.cOTS.lWriteOneCFile
Wert:[Boolean], Kommentare berücksichtigen. sowohl beim Lesen wie beim Schreiben der Daten
Boolean = My.CStructs.cOTS.lWriteWithComments
Wert:[Boolean], Sollen TABS geschrieben werden?
Boolean = My.CStructs.cOTS.lWriteWithTabs
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.
Number = My.CStructs.cOTS.nError
WAIT WINDOW My.CStructs.cOTS.nError
Zeilennummer, in der der letzte Fehler auftrat
Number = My.CStructs.cOTS.nLine
WAIT WINDOW My.CStructs.cOTS.nLine
Siehe auch : Hauptmenü / Hauptindex / Such Index / Cursor Index / Programm Module / Tabellen Index / Tabellenmodule / Masken Index / Programmcode Index / Servicepacks / My.Struktur / Funktionen / Sonstiges Index
Lokale Benutzerhilfe : Meine eigene Hilfe / Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022
Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen
PMS32 WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt. Unbefugtes Weiterleiten,
Veröffentlichen, Kopieren usw. sind untersagt und werden gerichtlich verfolgt.
© PMS Compelec GmbH 2022 ® el-Projekt