Skip to main content

Logging in Scripten

Bereits in eines der ersten Beispiele integriert wurde das Logging in eine Standard-Debug-Ausgabe. Die hohe Flexibilität in der Darstellung des Loggings wird über eine Komponente von TMS-Software ermöglicht "TAdvListview". 

https://www.tmssoftware.com/alvdoc.htm#Properties

Um die Funktionsweise möglichst einfach zu beschreiben hier konkret ein Beispiel aus eines der Standard-Beispielen:

image-1656157226426.png

 

Der dabei für verantwortliche Code ist sehr einfach für den Fall, dass ein Titel passend gefunden wurde. Die genutzten Variablen können (müssen aber nicht) zuvor definiert werden mit itLogItem: TAdvListItem; itStock und lSchillerKGV sind zuvor belegt worden im Programmcode und werden jetzt im Beispiel nur genutzt. itStock ist vom Typ TStock und besitzt daher dessen Eigenschaften. doLogAndCheck ist bereits in der Gemeinsamen Bibliothek angelegt und ist nachfolgend nur zur Vereinfachung dargestellt. Der Code kann natürlich aber auch jedesmal aufgenommen werden bzw. beliebig angepasst werden.

Siehe: TStock

function doLogAndCheck( logMessage ): TListItem;
begin
  result:=varLog.Items.Add;
  with result as TListItem do
  begin
    Caption:=logMessage;
    checked:=true;
    groupID:=1;
  end;
end;
 
 
itLogItem:=doLogAndCheck(itStock.Displayname+' ['+itStock.ISIN+'], '+itStock.Sector);
itLogItem.subItems.Add('-');
itLogItem.subItems.Add(FloatToStr(lSchillerKGV));


Hier der zugehörige Code-Teil für die Darstellung jedes geprüften Titels. Die GroupID ordnet dabei der ersten optischen Gruppe (siehe Screenshot / zwei ein-ausklappbare Bereiche) diesen Logeintrag zu.Im ersten Beispiel (s.o.) wird dies mit groupID:=1 entsprechend der zweiten Gruppe zugeordnet.

function doLog( logMessage): TListItem;
begin
  result:=varLog.Items.Add;
  with result as TListItem do
  begin
    Caption:=logMessage;
    groupID:=0;
  end;
end;
 
 
doLog(itStock.Displayname+'- Anzahl Jahre:'+intToStr(cntYears));