Gehe zu deutscher Webseite

News

Download description:

The nightly build of the GWhoIs fork by ViaThinkSoft !
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

OIDplus is an OpenSource database solution to manage Objekt Identifiers (like "OIDs" or "DOIs"). With OIDplus, you can operate your own "Registration Authority" and either present your objects to the public, or manage them internally (hidden from the public). You can delegate permissions to subordinate objects to other users (RAs) in the system, so that they can work independently.

The ViaThinkSoft Registration Authority already uses OIDplus 2.0 and even gives users the possibility to gain a free OID.
Daniel Marschall
ViaThinkSoft Co-Founder
Download description:

An API written in PHP for the OID repository oid-info.com.

The majority of the functions provided by this API helps developers in creating XML files which can be uploaded to the OID repository to add multiple OIDs, but the API also contains other helpful utilities related to OIDs, UUIDs and the OID repository in general. The XML generation can be useful for Registration Authorities (RAs) that want to deliver their assignments to oid-info.com , but also for people who want to support the OID repository by adding OIDs from public sources.

Get more information about this API
Daniel Marschall
ViaThinkSoft Co-Founder
This behavior is useful when you are using an edit control that is used for entering search terms.

procedure TForm1.Edit1Click(Sender: TObject);
begin
  if (Sender is TCustomEdit) and (TComponent(Sender).Tag = 1) then
  begin
    TCustomEdit(Sender).SelectAll;
    TComponent(Sender).Tag := 0;
  end;
end;

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  TComponent(Sender).Tag := 1;
end;
Daniel Marschall
ViaThinkSoft Co-Founder
function OpenPropertyPage(AFileOrFolder: string): boolean;
var
  ShExecInfo: TShellExecuteInfo;
begin
  Result := False;
  ZeroMemory(@ShExecInfo, SizeOf(ShExecInfo));
  ShExecInfo.cbSize := sizeof(ShExecInfo);
  ShExecInfo.fMask := SEE_MASK_INVOKEIDLIST;
  ShExecInfo.lpVerb := 'properties';
  ShExecInfo.lpFile := PChar(AFileOrFolder);
  ShExecInfo.lpParameters := '';
  ShExecInfo.lpDirectory := '';
  ShExecInfo.nShow := SW_SHOW;
  ShExecInfo.hInstApp := 0;
  Result := ShellExecuteEx(@ShExecInfo);
end;

// Example:

OpenPropertyPage('C:\test123.bmp');
OpenPropertyPage('C:\Windows');
Daniel Marschall
ViaThinkSoft Co-Founder
function FixedDrive(Drive: char): Boolean;
begin
  Result := (Windows.GetDriveType(PChar(Drive + ':\')) = Windows.DRIVE_FIXED);
end;
Daniel Marschall
ViaThinkSoft Co-Founder
uses TlHelp32;

function IsDelphiRunning: boolean;

  function ProcessExists(exeFileName: string): Boolean;
  var
    ContinueLoop: BOOL;
    FSnapshotHandle: THandle;
    FProcessEntry32: TProcessEntry32;
  begin
    FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
    ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
    Result := False;
    while Integer(ContinueLoop) <> 0 do
    begin
      if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
        UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
        UpperCase(ExeFileName))) then
      begin
        Result := True;
      end;
      ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
    end;
    CloseHandle(FSnapshotHandle);
  end;

var
  sBuffer: String;
  iCounter: Integer;
  pcBuffer: PChar;
const
  sWnd: string = 'UQspqfsuzJotqfdups'; // ROT-1 "TPropertyInspector" (only older versions of Delphi)
  rot1_bcb32 = 'cdc43'; // ROT-1 "bcb32"
  rot1_delphi = 'efmqij43'; // ROT-1 "delphi32"
  rot1_bds = 'cet'; // ROT-1 "bds"
  rot1_exe = '/fyf'; // ROT-1 ".exe"
begin
  sBuffer := '';
  for iCounter := 1 to Length(sWnd) do
    sBuffer := sBuffer + chr(ord(sWnd[icounter])-1);
  pcBuffer := AllocMem(512);
  try
    strpcopy(pcBuffer, sBuffer);
    result := FindWindow(pcBuffer, nil) = 0;
  finally
    FreeMem(pcBuffer, 512);
  end;

  sBuffer := '';
  for iCounter := 1 to Length(rot1_bcb32) do
    sBuffer := sBuffer + chr(ord(rot1_bcb32[icounter])-1);
  for iCounter := 1 to Length(rot1_exe) do
    sBuffer := sBuffer + chr(ord(rot1_exe[icounter])-1);
  result := result or processExists(sBuffer);

  sBuffer := '';
  for iCounter := 1 to Length(rot1_delphi) do
    sBuffer := sBuffer + chr(ord(rot1_delphi[icounter])-1);
  for iCounter := 1 to Length(rot1_exe) do
    sBuffer := sBuffer + chr(ord(rot1_exe[icounter])-1);
  result := result or processExists(pcBuffer);

  sBuffer := '';
  for iCounter := 1 to Length(rot1_bds) do
    sBuffer := sBuffer + chr(ord(rot1_bds[icounter])-1);
  for iCounter := 1 to Length(rot1_exe) do
    sBuffer := sBuffer + chr(ord(rot1_exe[icounter])-1);
  result := result or processExists(pcBuffer);
end;
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:



VNag (ViaThinkSoft Nagios) is a framework for PHP which allows developing plguins for Nagios-compatible systems (e.g. Icinga2), following the development guidelines.

The download package contains documentation, examples and many new plugins, e.g. to check WordPress installations.

Beside developing normal Nagios/Icinga plugins (PHP will be called via CLI), you can develop plugins which are additionally served over HTTP.

  • The plugins can be shown via a HTTP-Demon (e.g. Apache) in user's browsers. Beside the output for Nagios (Summary, Verbose information, Performance data), user-defined HTML output can be added, e.g. to complete your Nagios output with more diagrams, pictures, etc. Only one code base is required!

  • The web-output contains a hidden machine readable part, which can be read out with the "WebReader" plugin of VNag. The WebReader plugins reads the machine readable part and outputs the data in the output format which can be read by Nagios. This way, you can monitor things like WordPress version at systems where you have no shell access and/or without Nagios installed.

  • It is also possible to create websites which only have a machine readable part (i.e. you include your VNag output in your existing website). This machine readable part can be optionally signed and/or encrypted.

VNag comes with following plugins pre-installed:

  • 4images_version: Checks 4images installations for updates.
  • disk_running: Checks if harddisks which do not have SMART capability are online
  • file_timestamp: Warns when files are not modified withhin a specific interval/age.
  • ipfm: Checks the log files of the tool "ipfm" and warns when the measured traffic exceeds a given limit.
  • joomla_version: checks Joomla installations for updates.
  • last: Checks the output of the tool "last" and warns when logins from suspicious IP adresses are detected.
  • mdstat: Parses the output of "/proc/mdstat" and warns when drives inside a RAID array have failed.
  • mediawiki_version: Checks MediaWiki installations for updates.
  • net2ftp_version: Checks net2ftp installations for updates.
  • nocc_version: Checks NOCC webmail installations for updates.
  • phpbb_version: Checks phpBB installations for updates.
  • phpmyadmin_version: Checks phpMyAdmin installations for updates.
  • roundcube_version: Checks RoundCube installations for updates.
  • smart: Checks the SMART attributes of harddrives and warns when bad attributes are detected.
  • virtual_mem: Checks the amount of virtual memory (physical memory + swap).
  • webreader: Reads the output of another VNag plugin transferred over HTTP.
  • wordpress_version: Checks WordPress installations for updates.
  • x509_expire: Warns when X.509 (PEM) certificate files reach a specific age.
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

Die ViaThinkSoft Indexer Suite ist ein Programm, das es ermöglicht, ein Dateisystem zu indizieren und in einer SQL-Datenbank abzubilden. Im Nachfolgenden können diverse Auswertungen stattfinden, z.B. das Suchen von Duplikaten, das Verifizieren der Integrität der Daten bei einem weiteren Durchlauf, das Bestimmen von redundanten Verzeichnissen, oder ein Offline-Browsen durch den Dateisystem-Stamm, während der Original-Medium offline ist.
Daniel Marschall
ViaThinkSoft Co-Founder
Download description:

The dual pack Aysalia I was released by me (Daniel Marshall) and contains the following components:

- Microsoft Visual Basic / C++ Runtime libraries
- Aysalia: The Age Of Demons 1.5.3 (+ VB6 source code)
- Aysalia: Shadow of Aysalia 2.3.1 (+ VB6 source code)
- Installation source & resources
- Aysalia DOS 1
- Aysalia DOS 2
- DOSBox with integrated menu for Aysalia DOS 1 und 2 (+ launcher source code)
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

Peg Solitaire is a board game for one player involving movement of pegs on a board with holes. Some sets use marbles in a board with indentations. The game is known simply as Solitaire in the United Kingdom where the card games are called Patience.

More information at Wikipedia
Daniel Marschall
ViaThinkSoft Co-Founder
Attention: This does only work in real mode, i.e. DOS. It does not work in Windows apps!

Enabling numlock:

set_numlock_on PROC
    push    ds
    mov     ax, 40h
    mov     ds, ax        ; go to BIOS Data Area ( http://stanislavs.org/helppc/bios_data_area.html )
    mov     bx, 17h       ; Load Keyboard flag byte 0
    mov     al, [bx]      ; read
    or      al, 20h       ; set bit 5 (numlock) to 1
    mov     [bx], al      ; write
    pop     ds
    ret
set_numlock_on ENDP

Disabling numlock:

set_numlock_off PROC
    push    ds
    mov     ax, 40h
    mov     ds, ax        ; go to BIOS Data Area ( http://stanislavs.org/helppc/bios_data_area.html )
    mov     bx, 17h       ; Load Keyboard flag byte 0
    mov     al, [bx]      ; read
    and     al, DFh       ; unset bit 5 (numlock)
    mov     [bx], al      ; write
    pop     ds
    ret
set_numlock_off ENDP
Daniel Marschall
ViaThinkSoft Co-Founder
function Ganzzahlig(num: extended): boolean;
begin
  result := num = round(num);
end;
Daniel Marschall
ViaThinkSoft Co-Founder
function ReadFile(InputFile: string): string;
resourcestring
  LNG_COULD_NOT_OPEN_FILE = 'Could not open file "%s".';
var
  f: textfile;
  tmp: string;
begin
  result := '';

  if not FileExists(InputFile) then
  begin
    MessageDlg(Format(LNG_COULD_NOT_OPEN_FILE, [inputfile]), mtError, [mbok], 0);
    Exit;
  end;

  AssignFile(f, InputFile);
  Reset(f);
  while not Eof(f) do
  begin
    ReadLn(f, tmp);
    result := result + tmp + #13#10;
  end;
  CloseFile(f);
end;
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

Peg Solitaire is a board game for one player involving movement of pegs on a board with holes. Some sets use marbles in a board with indentations. The game is known simply as Solitaire in the United Kingdom where the card games are called Patience.

More information at Wikipedia
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

"Light game" is a puzzle game. When the game starts, a random number or a stored pattern of these lights is switched on. Pressing any of the lights will toggle it and the adjacent lights. The goal of the puzzle is to switch all the lights off, preferably in as few button presses as possible.
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

"Light game" is a puzzle game. When the game starts, a random number or a stored pattern of these lights is switched on. Pressing any of the lights will toggle it and the adjacent lights. The goal of the puzzle is to switch all the lights off, preferably in as few button presses as possible.
Daniel Marschall
ViaThinkSoft Co-Founder
Download description:

Included in this download:
- Linux binary files
- 32-Bit Windows binary files
- C source code
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

In this project, you will find various downloads about the PC version of the ancient game "Plumbers Don't Wear Ties".
Daniel Marschall
ViaThinkSoft Co-Founder
Project description:

The IPE Artfile Packer/Unpacker tool let you pack and unpack ART files of games by Imagination Pilots, so that you can extract and modify the graphics of the game.

Following games are supported:
- "Blown Away" (1994)
- "Panic in the Park" (1995)
- "Where's Waldo? At the Circus" (1995)
- "Where's Waldo? Exploring Geography" (1996)
- "Eraser Turnabout" (1997)
- "Virtual K'Nex" (1998)
Daniel Marschall
ViaThinkSoft Co-Founder