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:
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));