Archiv für den Monat September 2017

How to count number of lines of code

For statistics I would like to know how many lines of code I have written over the last few years.
I have used the following code snippet for Windows PowerShell to count the number of lines of code in a directory recursively.
Open the Windows PowerShell and navigate to the main development folder.

dir -Recurse *.pas | Get-Content | Measure-Object -Line

My result:

2017_09_lines_of_code_powershell

Joomla Backend – Menü „Komponenten“ mit fehlenden Einträgen

Mit einem der letzten Joomla Updates (3.7.x?) sind im Backend unter dem Menüpunkt „Komponenten“ einige Einträge nicht mehr zu sehen. Scheinbar wurde mit diesem Update (welches kann ich nicht mehr genau sagen) der „menutype“ geändert ohne die DB Einträge nachzuhalten. Mit folgendem SQL konnte ich das Problem bei mir lösen:

UPDATE jos_menu SET menutype = 'main' WHERE menutype = 'menu'

Siehe auch:
https://www.bluestonedesign.de/faq/14-extensions/623-joomla-menu-items-menuepunkte-nach-update-verschwunden
Allerdings sind in dem Blogbeitrag der „menutype“ im „set“ und in der „where“ Bedingung vertauscht?

Dateisuche ohne FindFirst/FindNext (mit Regex Filter)

Um nach Dateien in einem Verzeichnis zu suchen musste man „früher“ die Methoden FindFirst, FindNext und FindClose bemühen. Dies war meiner Meinung nach immer recht kompliziert. Vorallem wenn man auch in Unterverzeichnissen suchen wollte.
Seit einigen Delphi Versionen gibt es die Unit IOUtils.pas welche einem den komplizierten Teil abnimmt. Eine einfache Suche nach allen Dateien im Verzeichnis C:\Temp inkl. aller Unterverzeichnisse sieht wie folgt aus:

  var
    SearchResult: TStringDynArray;
    I: Integer;
  begin
    SearchResult := TDirectory.GetFiles('C:\Temp', TSearchOption.soAllDirectories, nil);
    for I := Low(SearchResult) to High(SearchResult) do
      WriteLn(SearchResult[I]);
  end;

Weiterlesen