Scripting Εφαρμογής

Scripting Εφαρμογής

Scripting Εφαρμογής

Από το μενού της εφαρμογής επιλέγουμε  Βοηθητικά Προγράμματα –> Ρυθμίσεις -> System ->Scripting -> Scripting εφαρμογής

Το script της εφαρμογής εκτελείται όταν ανοίξει η εφαρμογή TopShop / TopValue. Ο κώδικας που θα γραφτεί μεταξύ begin και end θα εκτελεστεί άμεσα  όταν εκτελεστεί το script.  Επίσης μπορούμε να γράψουμε function και procedures οι οποίες μπορούν να χρησιμοποιηθούν από το Form Script και το Client Script.

Ο παρακάτω πίνακας επεξηγεί τα method που είναι διαθέσιμα από το PRG

ΌνομαΛειτουργίαΠαράμετροιΠαράδειγμα
QueryValuesΕπιστρέφει  τις τιμές ενός sql querySQL : String [Το ερώτημα που πρόκειται να εκτελεστεί]
Params : Variant [Οι παράμετροι του ερωτήματος, αν υπάρχουν]
Var
  vRes: Variant;
Begin
  vRes := QueryValues('Select ID From PUSER Where ShortName=:Param', 'Supervisor');
End.
ExecQueryΕκτελεί ένα sql query και επιστρέφει τον αριθμό των εγγραφών που επηρεάστηκαν από το sql querySQL : String [Το ερώτημα που πρόκειται να εκτελεστεί]
Params : Variant [Οι παράμετροι του ερωτήματος, αν υπάρχουν]
Begin
  ExecQuery('Update PUser Set Password=Null', Null);
End.
ExecStoreProcΕκτελεί μια sp και επιστρέφει τις τιμές των παραμέτρων που έχουν οριστεί ως output ή inputoutput στην spspName : String [Το όνομα της sp που πρόκειται να εκτελεστεί]
Params : Variant [Οι τιμές των παραμέτρων της sp]
var ReturnValue : integer [Η τιμή επιστροφής της sp]
var i:Integer;
Begin
  ExecStoreProc('spname',[param1,param2],i);
End.
QueryDataSetΕκτελεί ένα sql query και επιστέφει τα αποτελέσματα σε datasetOwner : TComponent [Σε ποιον ανήκει το dataset.]
SQL : String [Το ερώτημα που πρόκειται να εκτελεστεί]
Params : Variant [Οι παράμετροι του ερωτήματος, αν υπάρχουν]
Var
  DS : TClientDatSet;
Begin
  DS := QueryDataSet(Nil, 'Select * From PUser', Null);
End.
AppParamΕπιστρέφει την τιμή μιας παραμέτρου της εφαρμογής.
**Οι παράμετροι εφαρμογής είναι ίδιοι με αυτούς που χρησιμοποιούνται στα Report (Application Params)
ParamName : String [Το όνομα της παραμέτρου]
Var
  aParam: variant;
Begin
  aParam := AppParam('UserID');
End.
CreateBOΕπιστρέφει ένα ΒΟ της εφαρμογήςBOName :string [Το όνομα του ΒΟ]
InitParams : string [Παράμετροι του ΒΟ]
Owner : TComponent [Σε ποιον ανήκει το ΒΟ]
var BO: TBOLink;
Begin
   BO := CreateBO('BOname','',Nil);
End.
CreateFormΕπιστέφει μια φόρμα του προγράμματοςFormClassName : String [Το όνομα της φόρμας. Προσοχή!! Η φόρμα πρέπει να είναι Registered στην εφαρμογή]
OpenType : Integer [Ο τρόπος με τον οποίο θα ανοίξει η φόρμα]
LoadKeyValue : Variant [η τιμή μιας συγκεκριμένης εγγραφής]
CreateForm2Επιστέφει μια φόρμα του προγράμματοςOwner : TComponent [Σε ποιον ανήκει η φόρμα.]
FormClassName: String [Το όνομα της φόρμας]
OpenType : Integer [Ο τρόπος με τον οποίο θα ανοίξει η φόρμα]
LoadKeyValue : Variant [η τιμή μιας συγκεκριμένης εγγραφής]
var
CrmBO: TBolink;
CrmForm: TMFormLink;
key: variant;
Begin
if CrmForm = nil then begin
CrmForm:= TMFormLink(prg.CreateForm2(frm, 'TFCOMPROC', 5, null));
CrmBO:= CrmForm.BOLink;
end;
key:= CrmBO.Save;
CrmForm.BrowserDef.UpdateBrowserRow(key, butAppend);
if CrmForm <> nil then
CrmForm.FormInstance.Show;
end;
End;
CreateReportΕπιστρέφει ένα Report του ΠρογράμματοςReportID : Integer [To Id του Report]
Implement : Integer [Not in use]
LayOutID : Integer [To Layout του Report]
CreateReport2Επιστρέφει ένα Report του ΠρογράμματοςReportID : Variant [To Id του Report]
LayOutID : String [To Layout του Report]
ExecTaskByNameΕκτέλεση ενός task ή action της εφαρμογήςtask :string [Το όνομα του task]
Begin
  ExecTaskByName('mytask'); 
End.
ShowMessageΕμφάνιση μηνύματοςMsg: Variant [Το μήνυμα προς εμφάνιση]
Begin
  ShowMessage('Welcome To topValue'); 
End.
WaitΑναμονήsecs :integer [Ο χρόνος για αναμονή σε δευτερόλεπτα ]
Begin
  Wait(10);
End.
WaitForTimeΑναμονήHour: Word [οι ώρες για αναμονή]
Min : Word [τα λεπτά για αναμονή]
Sec: Word [τα δευτερόλεπτα για αναμονή]
Begin
  WaitForTime(1,2,30); 
End.
ClearCustomTasksΚαθαρίζει τη λίστα με τα custom task
Begin
  ClearCustomTasks;
End.
AddLocalEventΠροσθέτει ένα event στην εφαρμογήaMsgType : String [ο τύπος του μηνύματος]
aMsgText : String [το κείμενο του μηνύματος]
SendEventΣτέλνει ένα event στην εφαρμογήaMsgTo: String [ο παραλήπτης του μηνύματος]
aMsgType: String [ο τύπος του μηνύματος]
aMsgText : String [το κείμενο του μηνύματος]
aMsgDelivery:TDateTime [η ημερομηνία και ώρα παράδοσης του μηνύματος]
RunExeΕκτέλεση μιας άλλης εφαρμογήςcmd: string [Το όνομα της εφαρμογής που πρόκειται να εκτελεστεί. Πρέπει να είναι συμπληρωμένο και το path]
Begin
  RunExe('C:\myprg.exe');
End.
RunExeWaitΕκτέλεση μιας άλλης εφαρμογής με χρόνο αναμονής για τερματισμόcmd: string [Το όνομα της εφαρμογής που πρόκειται να εκτελεστεί. Πρέπει να είναι συμπληρωμένο και το path]
timeout: integer [ο χρόνος αναμονής]
Begin
  RunExeWait('C:\myprg.exe',100);
End.
RegisterFormΠροσθέτει μια φόρμα στη λίστα των Registered Forms της εφαρμογήςBaseClass: String [Η κλάση της φόρμας]
AliasClassName: String [Το AliasClassname της φόρμας]
Caption : String [Το caption της φόρμας]
AddMemoryDataSetΠροσθέτει memory dataset στην εφαρμογήName : String [Το όνομα του memory dataset]
Sql : String [Το sql query που θα εκτελεστεί και θα γεμίσει με δεδομένα το memory dataset]
Begin
  AddMemoryDataset('mempusers','Select *  from puser');
End.
Desktop_NavigateΠροσθέτει στην εφαρμογή ένα web browser με την ιστοσελίδα που δίδεται ως παράμετροςURL: String [Η διεύθυνση μιας ιστοσελίδας]
Begin
  Desktop_Navigate('www.mysoftwarehouse.gr');
End.
CreatePosKeyboardWεμφανίζει στην οθόνη πληκτρολόγιο για χρήση ως TouchaWidth: integer; επιθυμητό πλάτος
aParent: TWinControl;  το control που θα τοποθετηθεί πάνω το πληκτρολόγιο (το μέγεθος πλάτος και μήκος θα αλλάξει ώστε να προσαρμοστεί σε αυτό του πληκτρολογίου)
HasNum: boolean θα έχει αριθμητικά πλήκτρα
HasChar: boolean θα έχει πλήκτρα χαρακτήρων
Begin
CreatePosKeyboardW(200, panel2, True, false);
End.
CreatePosKeyboardHεμφανίζει στην οθόνη πληκτρολόγιο για χρήση ως TouchaHeight: integer; επιθυμητό ύψος
aParent: TWinControl;  TWinControl;  το control που θα τοποθετηθεί πάνω το πληκτρολόγιο (το μέγεθος πλάτος και μήκος θα αλλάξει ώστε να προσαρμοστεί σε αυτό του πληκτρολογίου)
HasNum: boolean θα έχει αριθμητικά πλήκτρα
HasChar: boolean θα έχει αριθμητικά πλήκτρα

Επίσης υπάρχουν και τα παρακάτω τρία event PrgLogin, PrgAfterLogin, PrgOnReceiveEvent.

Ο χρήστης γράφει μια procedure με ένα από τα τρία ονόματα και αυτή εκτελείται από το PRG.

Was this article helpful to you? Yes 5 No 1

How can we help?