//+Alles
//******************************************************************************
unit Daten1;         //15.08.2002 D.B. - ?    

interface

uses
  Windows,
  ImageHlp,          //alle Funktionen einer DLL auflisten & Datei im Verz. suchen
  Messages,
  SysUtils,          //für Systeminfos                    *
  Classes,
  clipbrd,           //Zwischenablage
  Graphics,          //für Button in Farbe
  Controls,
  Forms,             //für Form1
  Dialogs,           //für sämtliche Dialogaufrufe
  ComCtrls,
  Tabnotbk,          //für das Reiterformular
  StdCtrls,
  ShellAPI,          //für Systemdaten                    *
  ExtCtrls,
  Filectrl,          //für Directory auswählen / suchen   *
  WinSock,           //für Netzwerk & Internetsachen      *
  WinSpool,          //für Drucker                        *
  Printers,          //für Drucker                        *
  Buttons,           //für Buttons in Farbe
  ShlObj,            //für Verknüpfung auf Dektop
  comobj,            //für Verknüpfung auf Dektop
  mmsystem,          //CD - Auf / Zu                       *
  wininet,           //Internet Zeugs                      *
  registry,          //für Sachen aus der Registry         *
  RXCtrls,           //für Inofenster
  AppEvent,          //für Inofenster
  ActiveX,           //neue Programmgruppe im Start-Menü //für Verknüpfung auf Dektop *
  SHDocVw,           //für Favoriten verwalten Dialog
  CommCtrl,          //für Progressbar in einer beliebigen Farbe *
  ExtDlgs,
  Urlmon,            //für Datei aus dem WWW runterladen
  MPlayer,
  Menus,
  inifiles,          //Dies-Das1 ListBox in INI schreiben
  DBTables;          //für Medienplayer                    *

//+0223
//******************************************************************************
Const
  IID_IPersistFile: TGUID = (D1:$0000010B;D2:$0000;D3:$0000;//für Verknüpfung auf Desktop
                             D4:($C0,$00,$00,$00,$00,$00,$00,$46));
//******************************************************************************
//-0223

type
    TVendor= array [0..11] of char; // für CPU - Hersteller
    TCPUID = array[1..4] of Longint;// für CPU - ID
    TForm1 = class(TForm)
    TabbedNotebook1: TTabbedNotebook;
    ListBox1: TListBox;     //Installierte Schriften
    ListBox2: TListBox;     //Alle verfügbaren Drucker
    ListBox3: TListBox;     //gefundene Laufwerke
    ListBox4: TListBox;     //Alle Verz.und Unterverz.in Listbox ausgeben
    ListBox5: TListBox;     //alle Cookies anzeigen
    ListBox6: TListBox;     //Namen der laufenden Applikationen
    ListBox7: TListBox;     //alle Handles auflisten (Sonstiges)
    ListBox8: TListBox;     //alle Font auflisten
    ListBox9: TListBox;     //Applets aus Listbox wählen
    ListBox10: TListBox;    //alle Druckerschächte ermitteln
    ListBox11: TListBox;    //Dateien auflisten in einer Listbox
    ListBox12: TListBox;    //alle laufenden Prozesse
    ListBox13: TListBox;    //Inhalt einer Datei in ListBox einlesen

//************************* Bios ***********************************************
    Label1: TLabel;         //Datum
    Label2: TLabel;         //Name
    Label3: TLabel;         //Copyright
    Label4: TLabel;         //SerienNr.
    Label6: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
//************************* Bios Ende ******************************************
//*************************** CPU **********************************************
    Label11: TLabel;        //Prozessoren
    Label12: TLabel;        //Hersteller
    Label13: TLabel;        //Speed
    Label14: TLabel;        //MMX
    Label15: TLabel;        //Prozessortyp
    Label16: TLabel;        //Prozessorsorte
    Label17: TLabel;        //CPU - Familie
    Label18: TLabel;        //RevisionsNr.
    Label19: TLabel;        //Architektur
    Label20: TLabel;        //Page Size (Seitenlänge)
//*************************** CPU Ende *****************************************
//*************************** Speicher *****************************************
    Label21: TLabel;        //Total
    Label22: TLabel;        //Belegt
    Label23: TLabel;        //Frei
    Label24: TLabel;        //  %
    Label25: TLabel;        //Swp
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
//*************************** Speicher Ende ************************************
//*************************** Netzwerk *****************************************
    Label31: TLabel;        //Username
    Label32: TLabel;        //Mit Netz verbunden
    Label33: TLabel;        //eigene Netzwerk - IP
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;        //ausführen - Dialog
    Label39: TLabel;
    Label40: TLabel;
//*************************** Netzwerk Ende ************************************
//*************************** Sonstiges ****************************************
    Label41: TLabel;        //Partitionsname ( Label )
    Label42: TLabel;        //PC - Name
    Label43: TLabel;        //Systemsprache
    Label44: TLabel;        //SerienNr. von C:\
    Label45: TLabel;        //WindowsVersion
    Label46: TLabel;        //WindowsVerzeichnis
    Label47: TLabel;        //Windowssystemverzeichnis
    Label48: TLabel;        //Windowstempverzeichnis
    Label49: TLabel;        //Windows ProduktNr.
    Label50: TLabel;        //Windows Produktschlüßel
//*************************** Sonstiges Ende ***********************************
//*************************** Fonts ********************************************
    Label51: TLabel;        //Anz. Installierte Fonts
    Label52: TLabel;        //System Menu Schriftarten auslesen
    Label53: TLabel;
    Label54: TLabel;
    Label55: TLabel;
    Label56: TLabel;        //Zeit mmmm yyyy  hh:mm:ss
    Label57: TLabel;        //Zeit vorwärts laufend
    Label58: TLabel;        //Zeit rückwärts laufend
    Label59: TLabel;        //Laufschrift - und es geht auch anders rum
    Label60: TLabel;        //Laufschrift - Dies ist ein Test
//*************************** Fonts Ende ***************************************
//*************************** Drucker ******************************************
    Label61: TLabel;        //Standarddrucker
    Label62: TLabel;        //Beschriftung - Auflösung
    Label63: TLabel;        //Standarddrucker - Auflösung
    Label64: TLabel;        //Sw oder Farbdrucker
    Label65: TLabel;
    Label66: TLabel;
    Label67: TLabel;
    Label68: TLabel;
    Label69: TLabel;
    Label70: TLabel;
//*************************** Drucker Ende *************************************
//*************************** Maus *********************************************
    Label71: TLabel;        //Maus angeschlossen ja - nein
    Label72: TLabel;        //Weelmaus ja - nein
    Label73: TLabel;        //Anz. Maustasten
    Label74: TLabel;        //aktuelle Mauspos.
    Label75: TLabel;        //Maustype ( PS 2 )
    Label76: TLabel;        //MausName
    Label77: TLabel;        //Mausrad - Scrolling - Stepweite
    Label78: TLabel;
    Label79: TLabel;
    Label80: TLabel;
//****************************** Maus Ende *************************************
//******************************** Grafik **************************************
    Label81: TLabel;        //aktuelle Auflösung
    Label82: TLabel;        //aktuelle Farbtiefe
    Label83: TLabel;        //aktuelle Monitor Hz.
    Label84: TLabel;
    Label85: TLabel;
    Label86: TLabel;
    Label87: TLabel;
    Label88: TLabel;
    Label89: TLabel;
    Label90: TLabel;        //für Laufschrift & aktuelle Mauspos.
//******************************** Grafik Ende *********************************
//************************************ CPU *************************************
    Label91: TLabel;        //CPU - Name
    Label92: TLabel;        //CPU - SteppingID
    Label93: TLabel;        //CPU - Model
    Label94: TLabel;
    Label95: TLabel;
//********************************* CPU Ende ***********************************
//********************************** Grafik ************************************
    Label96: TLabel;
    Label97: TLabel;
    Label98: TLabel;
    Label99: TLabel;
    Label100: TLabel;
//******************************* Grafik Ende **********************************
//********************************* Laufwerke **********************************
    Label101: TLabel;       //Beschriftung gefundene Laufwerke:
    Label102: TLabel;
    Label103: TLabel;
    Label104: TLabel;
    Label105: TLabel;
    Label106: TLabel;
    Label107: TLabel;
    Label108: TLabel;
    Label109: TLabel;
    Label110: TLabel;
//******************************* Laufwerke Ende *******************************
//*********************************** Sound ************************************
    Label111: TLabel;       //Soundkarte gefunden ja - nein
    Label112: TLabel;       //SoundkartenType
    Label113: TLabel;
    Label114: TLabel;
    Label115: TLabel;
    Label116: TLabel;
    Label117: TLabel;
    Label118: TLabel;
    Label119: TLabel;
    Label120: TLabel;
//*********************************** Sound Ende *******************************
    Label121: TLabel;     // Sonstiges1 für Link auf Homepage
//************************************ Button **********************************
    Label122: TLabel;
    Label123: TLabel;    //Netzwerk: Link zu T-Online.de
    Label124: TLabel;
    Label125: TLabel;
    Label126: TLabel;
    Label127: TLabel;
    Label128: TLabel;
    Label129: TLabel;

    Button1: TButton;       // Auflistung der Laufwerke in Listbox3
    Button2: TButton;       //Laufwerke: Laufwerke
    Button3: TButton;       //Aufrufe: Windowssuche starten
    Button4: TButton;       //Aufrufe: Explorer starten
    Button5: TButton;       //Aufrufe: Config.sys öffner
    Button6: TButton;       //Aufrufe: Notepad
    Button7: TButton;       //Aufrufe: Papierkorb leeren
    Button8: TButton;       //Aufrufe: Papierkorb öffnen
    Button9: TButton;       //Aufrufe: Ordner Dialog öffnen
    Button10: TButton;      //Aufrufe: Windows Neustart
    Button11: TButton;      //Aufrufe: Windows Beenden
    Button12: TButton;      //Aufrufe: IE - Explorer mit Adresse starten
    Button13: TButton;      //Aufrufe: Datei in Papierkorb schicken
    Button14: TButton;      //Aufrufe: E - Mail Prog. starten
    Button15: TButton;      //Aufrufe: CD - Öffnen
    Button16: TButton;      //Aufrufe: CD - schließen
    Button17: TButton;      //Aufrufe: Windows Beenden Dialog
    Button18: TButton;      //Aufrufe: Systemsteuerung öffnen
    Button19: TButton;      //Aufrufe: Das Startmenue öffnen
    Button20: TButton;      //Aufrufe: Cookies suchen
    Button21: TButton;      //Aufrufe: Cookies Löschen
    Button22: TButton;      //Aufrufe: Dokumente löschen
    Button23: TButton;      //Aufrufe: Verknüpfung auf Desktop
    Button24: TButton;      //Grafik: alle Auflösungen anzeigen
    Button25: TButton;      //Aufrufe1: ??? Gag - Button25
    Button26: TButton;      //Aufrufe1: eine Datei öffnen - API/Aufruf
    Button27: TButton;      //Fonts - Zeit neu starten
    Button28: TButton;      //Aufrufr1: Lw. E:\ öffnen
    Button29: TButton;      //Aufrufe1: Lw. E:\ schliessen
    Button30: TButton;      //Format Dialog
    Button31: TButton;      //alle Fenster minimieren
    Button32: TButton;      //Diskcopy A - A
    Button33: TButton;      //öffnen mit Dialog
    Button34: TButton;      //Text senkrecht anordnen
    Button35: TButton;      //alle Netzwerkrechner auflisten
    Button36: TButton;      //neuen Drucker hinzufügen
    Button37: TButton;      //Systemsteuerung öffnen
    Button38: TButton;      //ausführen Dialog
    Button39: TButton;      //Bildschirmschoner
    Button40: TButton;      //alle Fenster schließen
    Button41: TButton;      //Eigenschaften Com1
    Button42: TButton;      //Eigenschaften Com2
    Button43: TButton;      //Eigenschaften Lpt1
    Button44: TButton;      //Eigenschaften Lpt2
    Button45: TButton;      //DeskTopIcons verstecken - zeigen
    Button46: TButton;      //Drucker - Testseite??????????
    Button47: TButton;      //Windows Ordner
    Button48: TButton;      //Syskeymenü öffnen - Schließen
    Button49: TButton;      //C:\Eigenschaften
    Button50: TButton;      //Eigenschaften einer bestimmten Datei
    Button51: TButton;      //Message Dialog automatisch schließen
    Button52: TButton;      //Datei-Eigenschaften über opendialog auswählen
    Button53: TButton;      //Aufrufe1: Ordner im Startmenue neu anlegen
    Button54: TButton;      //Aufrufe1: Info in Farbe
    Button55: TButton;      //Aufrufe1: ein fremdes Prog. starten
    Button56: TButton;      //Aufrufe1: Lw.Namen ändern
    Button57: TButton;      //Aufrufe1: set Mausposition
    Button58: TButton;      //Aufrufe1: Dateigröße
    Button59: TButton;      //Aufrufe1: eine leere Datei auf dem Desktop anlegen
    Button60: TButton;      //Aufrufe1: Zeit messen
    Button61: TButton;      //Aufrufe1: Änderungsdatum
    Button62: TButton;      //Aufrufe1: Aktuelles Verzeichnis
    Button63: TButton;      //Aufrufe1: Mausrad Scrolling
    Button64: TButton;      //Aufrufe1: Verzeichnisgröße
    Button65: TButton;      //Aufrufe1: Datum vom Ordner
    Button66: TButton;      //Aufrufe1: Favoriten verwalten
    Button67: TButton;      //Aufrufe1: Ie - Startseite ermitteln
    Button68: TButton;      //Aufrufe1: Ie - Startseite setzen
    Button69: TButton;      //Aufrufe1: Windows - Startbutton
    Button70: TButton;      //Aufrufe1: neue Verbindung erstellen
    Button71: TButton;      //Laufwerke: C:\Windows Ordner auflisten
    Button72: TButton;      //Sonstiges1: Applet starten
    Button73: TButton;      //Drucker: alle Druckerschächte ermitteln
    Button74: TButton;      //Drucker: einen virtuellen Ordner öffnen
    Button75: TButton;      //Sonstiges1: C:\*.exe auflisten
    Button76: TButton;      //Dies - Das: eine Zahl runden
    Button77: TButton;      //Dies - Das: bestimmte Zeichen aus einem String endfernen
    Button78: TButton;      //Dies - Das: Ordner auf C:\ anlegen
    Button79: TButton;      //Dies - Das: Ordner auf C:\ löschen
    Button80: TButton;      //Dies - Das: Ordner auf C:\ umbenennen
    Button81: TButton;      //Dies - Das: alles Handles auflisten
    Button82: TButton;      //Dies - Das: Key - Board - Type
    Button83: TButton;      //Dies - Das: 3 Ordner auf C:\ erstellen
    Button84: TButton;      //Dies - Das:
    Button85: TButton;      //Dies - Das:
    Button86: TButton;      //Sonstiges1: Namen der laufenden Applikationen
    Button87: TButton;      //Aufrufe1: DFÜ - Dialog aufrufen
    Button88: TButton;      //Aufrufe1: Schatten um Form1
    Button89: TButton;      //Aufrufe1: Ie - Versions Nr.
    Button90: TButton;      //Aufrufe1: eigene Prog. Verzeichnis
    Button91: TButton;      //Aufrufe1: 2 Dateien vergleichen
    Button92: TButton;      //Aufrufe1: Arbeitsplatz öffnen
    Button93: TButton;      //Aufrufe1: Win. Installationsdatum
    Button94: TButton;      //Aufrufe1: Dos - Box - starten
    Button95: TButton;      //Aufrufe1: Word installiert
    Button96: TButton;      //Aufrufe1:
    Button97: TButton;      //Aufrufe1:
    Button98: TButton;      //Aufrufe1:
    Button99: TButton;      //Aufrufe1:
    Button100: TButton;     //Aufrufe1:
    Button101: TButton;     //Aufrufe1:
    Button102: TButton;     //Aufrufe1:
    Button103: TButton;     //Aufrufe1:
    Button104: TButton;     //Aufrufe1:
    Button105: TButton;     //Aufrufe1:
    Button106: TButton;     //Dies - Das: eine Schleife vorzeitig (mit ESC) abbrechen
    Button107: TButton;     //Dies - Das: Den Startbutton sperren - freigeben
    Button108: TButton;     //Dies - Das: Das: einen String umdrehen
    Button109: TButton;     //Dies - Das: Ctrl + Alt + Del / sperren & erlauben
    Button110: TButton;     //Dies - Das: Tausendertrennpunkt in Integerwert einfügen
    Button111: TButton;     //Dies - Das: Dateiattribute
    Button112: TButton;     //Dies - Das: Disk eingelegt?
    Button113: TButton;     //Dies - Das: heute ist der ... Tag in diesem Jahr
    Button114: TButton;     //Dies - Das: Textdatei + Nr.
    Button115: TButton;     //Dies - Das: Monitor ein - aus
    Button116: TButton;     //Dies - Das: Form1.Caption
    Button117: TButton;     //Dies - Das: Uhr im Systry verstecken - anzeigen
    Button118: TButton;     //Dies - Das: Titelleite blinken lassen
    Button119: TButton;     //Dies - Das: Sommer - Winterzeit
    Button120: TButton;     //Dies - Das: Funktion einer DLL auslesen
    Button121: TButton;     //Dies - Das: Bildschirmauflösung
    Button122: TButton;     //Dies - Das:
    Button123: TButton;     //Dies - Das:
    Button124: TButton;     //Dies - Das:
    Button125: TButton;     //Dies - Das:
    Button126: TButton;     //Sound abspielen
    Button127: TButton;     //Mauszeiger verstecken
    Button128: TButton;
    Button129: TButton;
    Button130: TButton;
    Button131: TButton;
    Button132: TButton;     //Verzeichnisbaum in ein TTreeView einlesen
    Button133: TButton;
    Button134: TButton;
    Button135: TButton;
    Button136: TButton;
    Button137: TButton;
    Button138: TButton;     //Dateinamen von der Zwischenablage auflisten
    Button139: TButton;     //Inhalt einer Datei in ListBox einlesen
    Button140: TButton;
    Button141: TButton;
    Button142: TButton;
    Button143: TButton;
    Button144: TButton;
    Button145: TButton;
    Button146: TButton;
    Button147: TButton;
    Button148: TButton;
    Button149: TButton;
    Button150: TButton;
    Button151: TButton;
    Button152: TButton;
    Button153: TButton;
    Button154: TButton;
    Button155: TButton;
    Button156: TButton;
    Button157: TButton;
    Button158: TButton;
    Button159: TButton;
    Button160: TButton;
    Button161: TButton;
    Button162: TButton;
    Button163: TButton;
    Button164: TButton;
    Button165: TButton;
    Button166: TButton;
    Button167: TButton;
    Button168: TButton;
    Button169: TButton;      


//********************************** Button Ende *******************************

    BitBtn1: TBitBtn;       //Aufrufe: Taskleiste verstecken
    BitBtn2: TBitBtn;       //Aufrufe: Taskleiste zeigen

    Timer1: TTimer;         //für Laufschrift & aktuelle Mauspos.
    Timer2: TTimer;         //Zeit rückwärts laufend
    Timer3: TTimer;         //Zeit vorwärts laufend
    Timer4: TTimer;
    Timer5: TTimer;         //Eine Message automatisch schliessen
    Timer6: TTimer;
    Timer7: TTimer;

    Edit1 : TEdit;          //Aktuelle Auflösung

    Memo1: TMemo;           //aktueller Font Schriftprobe
    Memo2: TMemo;           //Dateinamen von der Zwischenablage auflisten
    Testfeld: TMemo;        //Mouse - Testfeld

    OpenDialog1: TOpenDialog;//für Dateiverwaltung & 2 Dateien vergleichen
    OpenDialog2: TOpenDialog;//für 2 Dateien vergleichen

    SaveDialog1: TSaveDialog;

    AppEvents1: TAppEvents;

    PrintDialog1: TPrintDialog;//Drucker:

    Image1: TImage;

    ProgressBar1: TProgressBar;

    MediaPlayer1: TMediaPlayer;

    TreeView1: TTreeView;  //Verzeichnisbaum in ein TTreeView einlesen
    ListBox14: TListBox;   //Inhalt einer Datei in ListBox14 einlesen
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label130: TLabel;
    Label131: TLabel;
    ListBox15: TListBox;
    Button170: TButton;
    Button171: TButton;
    Button172: TButton;
    OpenDialog3: TOpenDialog;
    Label132: TLabel;
    Memo3: TMemo;
    ListBox16: TListBox;
    Button173: TButton;
    PopupMenu1: TPopupMenu;
    Bios1: TMenuItem;
    Cpu1: TMenuItem;
    Speicher1: TMenuItem;
    Netzwerk1: TMenuItem;
    Sonstiges1: TMenuItem;
    Fonts1: TMenuItem;
    Drucker1: TMenuItem;
    Maus1: TMenuItem;
    Aufrufe1: TMenuItem;
    Aufrufe11: TMenuItem;
    DiesDas1: TMenuItem;
    DiesDas11: TMenuItem;
    Sonstiges11: TMenuItem;
    Sonstiges21: TMenuItem;
    Sonstiges31: TMenuItem;
    Grafik1: TMenuItem;
    Laufwerke1: TMenuItem;
    Sound1: TMenuItem;
    Info1: TMenuItem;
    Ende1: TMenuItem;
    Button174: TButton;
    Button175: TButton;
    N1: TMenuItem;
    N2: TMenuItem;
    Label133: TLabel;
    Button176: TButton;
    Edit2: TEdit;
    Button177: TButton;
    Label134: TLabel;
    Button178: TButton;
    Button179: TButton;
    Button180: TButton;
    Edit6: TEdit;
    Button181: TButton;
    Button182: TButton;
    ListBox17: TListBox;
    Button183: TButton;
    Timer8: TTimer;
    Button184: TButton;
    Button185: TButton;
    Timer9: TTimer;
    ProgressBar2: TProgressBar;
    AktiveSeitedrucken1: TMenuItem;
    Allerlei1: TMenuItem;
    Allerlei11: TMenuItem;
    Edit7: TEdit;
    Button186: TButton;
    Button187: TButton;
    Button188: TButton;
    alsBildspeichern1: TMenuItem;
    ListBox18: TListBox;
    ListBox19: TListBox;
    Button189: TButton;
    Label136: TLabel;
    Label137: TLabel;
    Label138: TLabel;
    Button190: TButton;
    ListBox20: TListBox;
    Button191: TButton;
    Label139: TLabel;
    ComboBox1: TComboBox;
    Memo4: TMemo;
    ComboBox2: TComboBox;
    Button192: TButton;
    Button193: TButton;
    Button194: TButton;
    Button195: TButton;
    Button196: TButton;
    Button197: TButton;
    Button198: TButton;
    Button199: TButton;
    Button200: TButton;
    Button201: TButton;
    Button202: TButton;
    Button203: TButton;
    Button204: TButton;
    ListBox21: TListBox;
    Label135: TLabel;
    DriveComboBox1: TDriveComboBox;
    Label140: TLabel;
    Button205: TButton;
    Edit8: TEdit;
    Button206: TButton;
    Button207: TButton;
    Label141: TLabel;
    Button208: TButton;
    Label142: TLabel;


    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure Button28Click(Sender: TObject);
    procedure Button29Click(Sender: TObject);
    procedure Button30Click(Sender: TObject);
    procedure Button31Click(Sender: TObject);
    procedure Button32Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure Button35Click(Sender: TObject);
    procedure Button36Click(Sender: TObject);
    procedure Button37Click(Sender: TObject);
    procedure Button38Click(Sender: TObject);
    procedure Button39Click(Sender: TObject);
    procedure Button40Click(Sender: TObject);
    procedure Button41Click(Sender: TObject);
    procedure Button42Click(Sender: TObject);
    procedure Button43Click(Sender: TObject);
    procedure Button44Click(Sender: TObject);
    procedure Button45Click(Sender: TObject);
    procedure Button46Click(Sender: TObject);
    procedure Button47Click(Sender: TObject);
    procedure Button48Click(Sender: TObject);
    procedure Button49Click(Sender: TObject);
    procedure Button50Click(Sender: TObject);
    procedure Button51Click(Sender: TObject);
    procedure Button52Click(Sender: TObject);
    procedure Button53Click(Sender: TObject);
    procedure Button54Click(Sender: TObject);
    procedure Button55Click(Sender: TObject);
    procedure Button56Click(Sender: TObject);
    procedure Button57Click(Sender: TObject);
    procedure Button58Click(Sender: TObject);
    procedure Button59Click(Sender: TObject);
    procedure Button60Click(Sender: TObject);
    procedure Button61Click(Sender: TObject);
    procedure Button62Click(Sender: TObject);
    procedure Button63Click(Sender: TObject);
    procedure Button64Click(Sender: TObject);
    procedure Button65Click(Sender: TObject);
    procedure Button66Click(Sender: TObject);
    procedure Button67Click(Sender: TObject);
    procedure Button68Click(Sender: TObject);
    procedure Button69Click(Sender: TObject);
    procedure Button70Click(Sender: TObject);
    procedure Button71Click(Sender: TObject);
    procedure Button72Click(Sender: TObject);
    procedure Button73Click(Sender: TObject);
    procedure Button74Click(Sender: TObject);
    procedure Button75Click(Sender: TObject);
    procedure Button76Click(Sender: TObject);
    procedure Button77Click(Sender: TObject);
    procedure Button78Click(Sender: TObject);
    procedure Button79Click(Sender: TObject);
    procedure Button80Click(Sender: TObject);
    procedure Button81Click(Sender: TObject);
    procedure Button82Click(Sender: TObject);
    procedure Button83Click(Sender: TObject);
    procedure Button84Click(Sender: TObject);
    procedure Button85Click(Sender: TObject);
    procedure Button86Click(Sender: TObject);
    procedure Button87Click(Sender: TObject);
    procedure Button88Click(Sender: TObject);
    procedure Button89Click(Sender: TObject);

    procedure Button90Click(Sender: TObject);
    procedure Button91Click(Sender: TObject);
    procedure Button92Click(Sender: TObject);
    procedure Button93Click(Sender: TObject);
    procedure Button94Click(Sender: TObject);
    procedure Button95Click(Sender: TObject);
    procedure Button96Click(Sender: TObject);

    procedure Button106Click(Sender: TObject);
    procedure Button107Click(Sender: TObject);
    procedure Button108Click(Sender: TObject);
    procedure Button109Click(Sender: TObject);
    procedure Button110Click(Sender: TObject);
    procedure Button111Click(Sender: TObject);
    procedure Button112Click(Sender: TObject);
    procedure Button113Click(Sender: TObject);

    procedure Button126Click(Sender: TObject);
    procedure Button127Click(Sender: TObject);
    procedure Button128Click(Sender: TObject);
    procedure Button129Click(Sender: TObject);
    procedure Button130Click(Sender: TObject);
    procedure Button131Click(Sender: TObject);
    procedure Button132Click(Sender: TObject); //Verzeichnisbaum in ein TTreeView einlesen
    procedure Button133Click(Sender: TObject);


    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);//für Laufschrift & aktuelle Mauspos.
    procedure Timer2Timer(Sender: TObject);//Zeit rückwärts laufend
    procedure Timer3Timer(Sender: TObject);//Zeit vorwärts laufend
    procedure Timer5Timer(Sender: TObject);

    procedure ListBox1Click(Sender: TObject);//Fonts: Installierte Schriften
    procedure ListBox9DblClick(Sender: TObject);//Sonstiges1: Applet starten

    procedure TestfeldMouseDown(Sender: TObject; Button: TMouseButton;
              Shift: TShiftState; X, Y: Integer);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);//Form1 über X beenden

    procedure ListBox11MouseMove(Sender:TObject;Shift:TShiftState;X,Y:Integer);

    procedure Button106KeyDown(Sender: TObject;var Key: Word;Shift: TShiftState);

    procedure Label123Click(Sender: TObject); //Netzwerk: Link zu T-Online.de

//Sonstiges1: Eintrag über dem sich der Mauszeiger befindet als Hint anzeigen
    procedure ListBox7MouseDown(Sender: TObject; Button: TMouseButton;
              Shift: TShiftState; X, Y: Integer);
//Sonstiges1: Eintrag über dem sich der Mauszeiger befindet als Hint anzeigen Ende

//************************** für Quelltextanzeige ******************************
    procedure Button3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button134Click(Sender: TObject);
    procedure Button4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button6MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button13MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button8MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button7MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button10MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button11MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button12MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button14MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button15MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button16MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button17MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button18MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button19MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button20MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button21MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button22MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button23MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button30MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button32MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button9MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button33MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button37MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button38MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button39MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button31MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button40MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button41MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button42MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button43MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button44MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button45MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button25MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button28MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button29MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button47MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button48MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button49MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button50MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button51MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button52MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button53MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button54MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button55MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button56MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button57MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button58MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button59MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button60MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button61MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button62MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button63MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button64MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button65MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button66MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button67MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button68MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button69MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button70MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button26MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button87MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button88MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button89MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button90MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button91MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button92MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button93MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button94MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button95MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button96MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button76MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button77MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button78MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button79MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button80MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button81MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button82MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button83MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button84MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button85MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button106MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button107MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button108MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button109MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button110MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button111MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button112MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button113MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button72MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button75MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button86MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button132MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button24MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button71MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button126MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button130MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button129MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button131MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button127MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button128MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button133MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button36MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button46MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button73MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button74MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button27MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button35MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox6MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label123MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Memo1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label11MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label12MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label13MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label14MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label15MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label16MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label17MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label18MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label19MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label20MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label91MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label92MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label93MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label21MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label22MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label23MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label24MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label25MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label31MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label32MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label33MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label41MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label42MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label43MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label44MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label45MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label46MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label47MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label48MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label49MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label50MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label62MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label64MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label71MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label72MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label73MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label74MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label75MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label76MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label80MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label81MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label82MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label83MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label111MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label112MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label61MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label59MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label60MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label56MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label57MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label51MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button114Click(Sender: TObject);
    procedure Button114MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button97Click(Sender: TObject);
    procedure Button97MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button98Click(Sender: TObject);
    procedure Button98MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button99Click(Sender: TObject);
    procedure Button99MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button135Click(Sender: TObject);
    procedure Button136Click(Sender: TObject);
    procedure Button135MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button100Click(Sender: TObject);
    procedure Button100MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button115Click(Sender: TObject);
    procedure Button115MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Timer4Timer(Sender: TObject);
    procedure Button116Click(Sender: TObject);
    procedure Button116MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button117Click(Sender: TObject);
    procedure Button117MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Timer6Timer(Sender: TObject);
    procedure Button118Click(Sender: TObject);
    procedure Button118MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button138Click(Sender: TObject);
    procedure Button138MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button34MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button119Click(Sender: TObject);
    procedure Button119MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormResize(Sender: TObject);
    procedure Label52MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button137Click(Sender: TObject);
    procedure Button137MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button120Click(Sender: TObject);
    procedure Button120MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button121Click(Sender: TObject);
    procedure Button121MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button139Click(Sender: TObject);
    procedure Button139MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button122Click(Sender: TObject);
    procedure Button122MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button123Click(Sender: TObject);
    procedure Button123MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3Change(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit5Change(Sender: TObject);
    procedure Button125Click(Sender: TObject);
    procedure Button125MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button124Click(Sender: TObject);
    procedure Button124MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button101Click(Sender: TObject);
    procedure Button101MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button102Click(Sender: TObject);
    procedure Button102MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button103Click(Sender: TObject);
    procedure Button103MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    procedure Button170Click(Sender: TObject);
    procedure Button170MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button140Click(Sender: TObject);
    procedure Button140MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button171Click(Sender: TObject);
    procedure Button171MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button172Click(Sender: TObject);
    procedure Button172MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button104Click(Sender: TObject);
    procedure Button104MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button105Click(Sender: TObject);
    procedure Timer7Timer(Sender: TObject);
    procedure Button105MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button141Click(Sender: TObject);
    procedure Button141MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button142Click(Sender: TObject);
    procedure Button142MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button143Click(Sender: TObject);
    procedure Button143MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button144Click(Sender: TObject);
    procedure Button145Click(Sender: TObject);
    procedure Button145MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox15Click(Sender: TObject);
    procedure Button144MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button173Click(Sender: TObject);
    procedure Button173MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button146Click(Sender: TObject);
    procedure Button146MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button147Click(Sender: TObject);
    procedure Button147MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button148Click(Sender: TObject);
    procedure Button148MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button149Click(Sender: TObject);
    procedure Button149MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button150Click(Sender: TObject);
    procedure Button150MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button151Click(Sender: TObject);
    procedure Button151MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button152Click(Sender: TObject);
    procedure Button152MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button153Click(Sender: TObject);
    procedure Button153MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button154Click(Sender: TObject);
    procedure Button154MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button155Click(Sender: TObject);
    procedure Button155MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Bios1Click(Sender: TObject);
    procedure Cpu1Click(Sender: TObject);
    procedure Speicher1Click(Sender: TObject);
    procedure Netzwerk1Click(Sender: TObject);
    procedure Sonstiges1Click(Sender: TObject);
    procedure Fonts1Click(Sender: TObject);
    procedure Drucker1Click(Sender: TObject);
    procedure Maus1Click(Sender: TObject);
    procedure Aufrufe1Click(Sender: TObject);
    procedure Aufrufe11Click(Sender: TObject);
    procedure DiesDas2Click(Sender: TObject);
    procedure DiesDas21Click(Sender: TObject);
    procedure Sonstiges11Click(Sender: TObject);
    procedure Sonstiges21Click(Sender: TObject);
    procedure Sonstiges31Click(Sender: TObject);
    procedure Grafik1Click(Sender: TObject);
    procedure Laufwerke1Click(Sender: TObject);
    procedure Sound1Click(Sender: TObject);
    procedure Info1Click(Sender: TObject);
    procedure Ende1Click(Sender: TObject);
    procedure Button156Click(Sender: TObject);
    procedure Button156MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button157Click(Sender: TObject);
    procedure Button157MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button174Click(Sender: TObject);
    procedure Button174MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button158Click(Sender: TObject);
    procedure Button158MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button159Click(Sender: TObject);
    procedure Button159MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button175Click(Sender: TObject);
    procedure Button175MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button160Click(Sender: TObject);
    procedure Button160MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure Button161Click(Sender: TObject);
    procedure Button161MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button162Click(Sender: TObject);
    procedure Button162MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label133MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button163Click(Sender: TObject);
    procedure Button163MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button176Click(Sender: TObject);
    procedure Button177Click(Sender: TObject);
    procedure Button164Click(Sender: TObject);
    procedure Button164MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button165Click(Sender: TObject);
    procedure Button165MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button178Click(Sender: TObject);
    procedure Button178MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button180Click(Sender: TObject);
    procedure Button180MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button179Click(Sender: TObject);
    procedure Button181Click(Sender: TObject);
    procedure Button182Click(Sender: TObject);
    procedure Button179MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button166Click(Sender: TObject);
    procedure Button166MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button167Click(Sender: TObject);
    procedure Button167MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button183Click(Sender: TObject);
    procedure Button183MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Timer8Timer(Sender: TObject);
    procedure Button184Click(Sender: TObject);
    procedure Button184MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button185Click(Sender: TObject);
    procedure Timer9Timer(Sender: TObject);
    procedure Button185MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button168Click(Sender: TObject);
    procedure Button168MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure AktiveSeitedrucken1Click(Sender: TObject);
    procedure Button169Click(Sender: TObject);
    procedure Button169MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Allerlei1Click(Sender: TObject);
    procedure Allerlei11Click(Sender: TObject);
    procedure Edit7KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button186Click(Sender: TObject);
    procedure Button186MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button187Click(Sender: TObject);
    procedure Button187MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure alsBildspeichern1Click(Sender: TObject);
    procedure Button188Click(Sender: TObject);
    procedure Button188MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button190Click(Sender: TObject);
    procedure Button190MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button191Click(Sender: TObject);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button191MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ComboBox2Change(Sender: TObject);
    procedure Memo4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ComboBox2DblClick(Sender: TObject);
    procedure Button189Click(Sender: TObject);
    procedure Button189MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox3Click(Sender: TObject);
    procedure Label95MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label6MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button202Click(Sender: TObject);
    procedure Button203Click(Sender: TObject);
    procedure Button202MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button204Click(Sender: TObject);
    procedure Button204MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListBox21Click(Sender: TObject);
    procedure ListBox21MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DriveComboBox1Change(Sender: TObject);
    procedure DriveComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button205Click(Sender: TObject);
    procedure Button206Click(Sender: TObject);
    procedure Button205MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button207Click(Sender: TObject);
    procedure Label141MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button208Click(Sender: TObject);
    procedure Button208MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label78MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label79MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label142MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label84MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TabbedNotebook1Change(Sender: TObject; NewTab: Integer;
      var AllowChange: Boolean);
    procedure Label7MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  
  private
//     Private-Deklarationen
       Zaehler : Integer;                      //für Form1.Caption - Laufschrift
       function GetDisplayFrequency : Integer; //Grafik Monitor Frquenz
       procedure WriteIni(filename: string);//Dies-Das1 ListBox in INI schreiben
       procedure ReadIni(filename: string);//Dies-Das1 aus INI in Listbox schreiben
       procedure SaveFormToBMP(FileName: String);//Allerlei Formular als Bild speichern
       procedure WMSysCommand(VAR Message: TWMSysCommand);message WM_SYSCOMMAND;
       //Das Systemmenü erweitern um den Punkt(Copyrights)


//+0194
//********* private-Deklarationen **********************************************
  function dosbox : boolean;  //Aufrufe1: Dos - Box starten
//******************************************************************************
//-0194

  public
    { Public-Deklarationen }
  end;

Const
    IconZeigen : Boolean = False;      //für Desktop - Icons Verstecken - Zeigen
    Tasklist   : Boolean = False;      //für Startmenue zeigen - verstecken
    SysKeyMenue: Boolean = False;      //für SysKeyMenue öffnen - schliessen
    GlobalAbbruch : Boolean = False;//eine Schleife vorzeitig (mit ESC) abbrechen
    GesicherterPfad : String = '';//damit man immer auf Daten1.pas zugegriffen kann
    
var
  Form1: TForm1;
  Zeitv : integer =  0; //0-Sek.Voreinstellung für vorwärts laufende Zeit in Label57
  Zeitr : integer = 20; //20-Sek.Voreinstellung für rückwärts laufende Zeit in Label58
  WinZeit : Integer = 0;//für Zeit wie lange das Programm schon läuft

implementation

uses Unit3;

{$R *.DFM}

//Das Systemmenü erweitern um den Punkt(Copyrights)
procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
  Inherited;
  If Message.CmdType = $F200 Then
  Showmessage('  " Copyrigth by D.Büttner - Software "');
end;

//+B204a
//**************** Zeitverzögerung mittels Delay - Anweisung *******************
procedure delay1(msec : longint);
var
  start,stop : longint;
begin
  start := gettickcount;
  repeat
    stop  := gettickcount;
    application.processmessages;
  until (stop - start) >= msec;
end;
//************** Zeitverzögerung mittels Delay - Anweisung Ende ****************
//-B204a

//************************* Quelltextausgabe in Memo auf Form2 *****************
Procedure LiesQuellText(VonDeklaration, BisDeklaration, VonVariable, BisVariable,
                        VonProzedur, BisProzedur, VonAufruf, BisAufruf : String);
Var
  F : TextFile;
  S : String;
Begin
  Assign(F,GesicherterPfad +'\Daten1.Pas');
  Reset(F);
  Form2.Memo1.Clear;
  While Not EOF(F) Do
  Begin
    Readln(F,S);
    If (S <> '' ) And (S = VonDeklaration) Then
    Begin
      Form2.Memo1.Lines.Add('Deklaration');
      Form2.Memo1.Lines.Add('');
      While (S <> BisDeklaration) Do
      Begin
        Readln(F,S);
        If (S <> BisDeklaration) Then
        Form2.Memo1.Lines.Add(S);
      End;
      close(f);
    End;
  End;
  Form2.Memo1.Lines.Add('');
  Reset(F);
  While Not EOF(F) Do
  Begin
    Readln(F,S);
    If (S <> '' ) And (S = VonVariable) Then
    Begin
      Form2.Memo1.Lines.Add('Variable');
      Form2.Memo1.Lines.Add('');
      While (S <> BisVariable) Do
      Begin
        Readln(F,S);
        If (S <> BisVariable) Then
        Form2.Memo1.Lines.Add(S);
      End;
      close(f);
    End;
  End;
  Form2.Memo1.Lines.Add('');
  Reset(F);
  While Not EOF(F) Do
  Begin
    Readln(F,S);
    If (S <> '' ) And (S = VonProzedur) Then
    Begin
      Form2.Memo1.Lines.Add('Procedure / Function');
      Form2.Memo1.Lines.Add('');
      While (S <> BisProzedur) Do
      Begin
        Readln(F,S);
        If (S <> BisProzedur) Then
        Form2.Memo1.Lines.Add(S);
      End;
      close(f);
    End;
  End;
  Form2.Memo1.Lines.Add('');
  Reset(F);
  While Not EOF(F) Do
  Begin
    Readln(F,S);
    If (S <> '' ) And (S = VonAufruf) Then
    Begin
      Form2.Memo1.Lines.Add('Aufruf - Beispiel');
      Form2.Memo1.Lines.Add('');
      While (S <> BisAufruf) Do
      Begin
        Readln(F,S);
        If (S <> BisAufruf) Then
        Form2.Memo1.Lines.Add(S);
      End;
      close(f);
    End;
  End;
  Form2.Show;
//  Close(F);
End;
//******************** Quelltextausgabe in Memo auf Form2 Ende *****************

//+WeekOfYear
//******************** Kalenderwoche errechnen *********************************
//SysUtils
function GetWeekOfYear(Datum:TDateTime):byte;
var
  AYear,
  dummy : word;
  First : TDateTime;
begin
  DecodeDate(Datum+((8-DayOfWeek(Datum)) mod 7)-3, AYear, dummy, dummy);
  First := EncodeDate(AYear, 1, 1);
  Result:=(trunc(Datum-First-3+(DayOfWeek(First)+1) mod 7) div 7)+1;
end;
//******************** Kalenderwoche errechnen Ende ****************************
//-WeekOfYear

//+BiosDatum
//******************** Bios - Datum aus Registrie auslesen 98*******************
//Uses registry, Windows
function BiosDatum : string;
var
  Reg: TRegistry;
begin
  BiosDatum := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\Enum\Root\*PNP0C01\0000',False) then
                BiosDatum := Reg.ReadString('BiosDate');
  finally
     Reg.Free;
  end;
end;
//****************** Bios - Datum aus Registrie auslesen Ende 98****************
//-BiosDatum

//+BiosName
//******************** Bios - Name aus Registrie auslesen **********************
//Uses registry, Windows
function BiosName : string;
var
  Reg: TRegistry;
begin
  BiosName := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\Enum\Root\*PNP0C01\0000',False) then
                BiosName := Reg.ReadString('BiosName');
  finally
     Reg.Free;
  end;
end;
//****************** Bios - Name aus Registrie auslesen Ende *******************
//-BiosName

//+BiosVersion
//******************** Bios - Version aus Registrie auslesen *******************
//Uses registry
function BiosVersion : string;
var
  Reg: TRegistry;
begin
  BiosVersion := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\Enum\Root\*PNP0C01\0000',False) then
                BiosVersion := Reg.ReadString('BiosVersion');
  finally
     Reg.Free;
  end;
end;
//****************** Bios - Version aus Registrie auslesen Ende ****************
//-BiosVersion

//+BiosDateXp
//****************** Bios - Datum Xp - aus Registrie auslesen ******************
function BiosDateXp: string;
var reg: TRegistry;
begin
  result:='Unbekannter Prozessor';
  reg:=TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('Hardware\Description\System\', false);
    result:=reg.ReadString('SystemBiosDate');
  finally
    reg.free;
  end;
end;
//****************** Bios - Datum Xp - aus Registrie auslesen ******************
//-BiosDateXp

//+BiosVersionXp
//****************** Bios - Version Xp - aus Registrie auslesen ******************
function BiosVersionXp: string;
var reg: TRegistry;
begin
  result:='Unbekannter Prozessor';
  reg:=TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('DESCRIPTION\System\', false);
    result:=reg.ReadString('SystemBiosVersion');
  finally
    reg.free;
  end;
end;
//****************** Bios - Version Xp - aus Registrie auslesen ******************
//-BiosVersionXp

//+VideoBiosDateXp
//****************** Video - Bios - Datum Xp - aus Registrie auslesen **********
function VideoBiosDateXp: string;
var reg: TRegistry;
begin
  result:='Unbekanntes Video - Bios - Datum';
  reg:=TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('Hardware\Description\System\', false);
    result:=reg.ReadString('VideoBiosDate');
  finally
    reg.free;
  end;
end;
//************* Video - Bios - Datum Xp - aus Registrie auslesen Ende **********
//-VideoBiosDateXp

//+GrafikkartenType
//*********** Grafik: Grafikkarte unter Xp aus Registrie auslesen **************
function GrafikkartenType: string;
var
  Reg : TRegistry;
begin
  GrafikkartenType := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000',False) then
    GrafikkartenType := Reg.ReadString('DriverDesc');
  finally
    Reg.Free;
  end;
end;
//*********** Grafik: Grafikkarte unter Xp aus Registrie auslesen Ende *********
//-GrafikkartenType

//+CpuSpeed
//**************************** CPU: - Speed auslesen ***************************
function CalcCPUSpeed: Extended;
const
  DelayTime = 500; // measure time in ms
var
  TimerHi, TimerLo: DWord;
  PriorityClass, Priority: Integer;
begin
  try
    PriorityClass := GetPriorityClass(GetCurrentProcess);
    Priority := GetThreadPriority(GetCurrentThread);
    SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
    SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
    Sleep(10);
    asm
      dw 310Fh // rdtsc
      mov TimerLo, eax
      mov TimerHi, edx
    end;
    Sleep(DelayTime);
    asm
      dw 310Fh // rdtsc
      sub eax, TimerLo
      sbb edx, TimerHi
      mov TimerLo, eax
      mov TimerHi, edx
    end;
    SetThreadPriority(GetCurrentThread, Priority);
    SetPriorityClass(GetCurrentProcess, PriorityClass);
    Result := TimerLo / (1000.0 * DelayTime);
  except
    Result := 0;
  end;
end;
//********************************* CPU: - Speed Ende **************************
//-CpuSpeed

//+CPUID
//******************************** CPU: - ID auslesen **************************
function GetCPUID : TCPUID; assembler; register;
asm
  PUSH    EBX         {Save affected register}
  PUSH    EDI
  MOV     EDI,EAX     {@Resukt}
  MOV     EAX,1
  DW      $A20F       {CPUID Command}
  STOSD		      {CPUID[1]}
  MOV     EAX,EBX
  STOSD               {CPUID[2]}
  MOV     EAX,ECX
  STOSD               {CPUID[3]}
  MOV     EAX,EDX
  STOSD               {CPUID[4]}
  POP     EDI	      {Restore registers}
  POP     EBX
end;
//****************************** CPU: - ID auslesen Ende ***********************
//-CPUID

//+GetCPUVendor
//***************************** CPU: - Hersteller auslesen *********************
function GetCPUVendor : TVendor; assembler; register;
asm
  PUSH    EBX				{Save affected register}
  PUSH    EDI
  MOV     EDI,EAX			{@Result (TVendor)}
  MOV     EAX,0
  DW      $A20F				{CPUID Command}
  MOV     EAX,EBX
  XCHG		EBX,ECX                 {save ECX result}
  MOV			ECX,4
@1:
  STOSB
  SHR     EAX,8
  LOOP    @1
  MOV     EAX,EDX
  MOV			ECX,4
@2:
  STOSB
  SHR     EAX,8
  LOOP    @2
  MOV     EAX,EBX
  MOV			ECX,4
@3:
  STOSB
  SHR     EAX,8
  LOOP    @3
  POP     EDI				{Restore registers}
  POP     EBX
end;
//************************ CPU: - Hersteller auslesen Ende *********************
//-GetCPUVendor

//+CPUname
//************************ CPU: - Name aus Registry auslesen *******************
//Uses registry
function CPUname: string;
var
  Reg: TRegistry;
begin
  CPUname := '';
  Reg := TRegistry.Create;
  try
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  if
  Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0',False) then
  CPUname := Reg.ReadString('Identifier');
  finally
  Reg.Free;
  end;
end;
//******************* CPU: - Name aus Registry auslesen Ende *******************
//-CPUname

//+ProcessorName
//******************* CPU: - ProcessorName aus Registry auslesen Ende **********
function GetProzessorName: string;
var reg: TRegistry;
begin
  result:='Unbekannter Prozessor';
  reg:=TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('Hardware\Description\System\CentralProcessor\0', false);
    result:=reg.ReadString('ProcessorNameString');
  finally
    reg.free;
  end;
end;
//******************* CPU: - ProcessorName aus Registry auslesen Ende **********
//-ProcessorName

//+GetNumberOfProcessors
//************************** CPU: - Prozessoren Anzahl *************************
function GetNumberOfProcessors: DWORD;
var
  SystemInfo: TSystemInfo;
begin
  GetSystemInfo(SystemInfo);
  Result := SystemInfo.dwNumberOfProcessors;
end;
//************************ CPU: Prozessoren Anzahl Ende ************************
//-GetNumberOfProcessors

//+GetProcessorType
//************************* CPU: Prozessortype auslesen ************************
function GetProcessorType: DWORD;
var
  SystemInfo: TSystemInfo;
begin
  GetSystemInfo(SystemInfo);
  Result := SystemInfo.dwProcessorType;
end;
//********************** CPU: Prozessortype auslesen Ende **********************
//-GetProcessorType

//+ProcessorLevel
//********************** CPU: ProzessorLevel auslesen **************************
function GetProcessorLevel: WORD;
var
  SystemInfo: TSystemInfo;
begin
  GetSystemInfo(SystemInfo);
  Result := SystemInfo.wProcessorLevel;
end;
//********************** CPU: ProzessorLevel auslesen Ende *********************
//-ProcessorLevel

//+ProcessorRevision
//*********************** CPU: ProzessorVersion auslesen ***********************
function GetProcessorRevision: WORD;
var
  SystemInfo: TSystemInfo;
begin
  GetSystemInfo(SystemInfo);
  Result := SystemInfo.wProcessorRevision;
end;
//********************* CPU: ProzessorVersion auslesen Ende ********************
//-ProcessorRevision

//+Architecture
//******************* CPU: Prozessor ArchitekturNr. auslesen *******************
function GetProcessorArchitecture: WORD;
var
  SystemInfo: TSystemInfo;
begin
  GetSystemInfo(SystemInfo);
  Result := SystemInfo.wProcessorArchitecture;
end;
//**************** CPU: Prozessor ArchitekturNr. auslesen Ende *****************
//-Architecture

//+MMX
//***************************** CPU: - MMX ja - nein ***************************
Function IsMMX : Boolean;
var
  bMMX : Boolean;
Begin
try;
   // Prüfen ob MMX vorhanden ist
  bMMX := false;

   Asm
      push     eax               // Register retten
      push     ebx
      push     ecx
      push     edx

  pushfd                        // Erweiterte Flags holen
  pop      eax                  // In EAX speichern
      mov      ebx,eax          // In EBX speichern
      xor       eax,$00200000  // Bit 21 negieren
      push     eax
      popfd
      pushfd                     // Erweiterte Flags holen
      pop      eax               // In EAX speichern
      xor      eax,ebx          // Wenn sich BIT 21 schreiben
      je       @NoMMX            // Der Befehl CPUID wird
      mov      eax,$01           // Feature Flags anfragen
//      _emit    $0F               // $0F, $A2 CPUID Befehl
//      _emit    $A2
      test     edx,$800000       // MMX ist vorhanden wenn Bit 23 gesetzt ist
      jz       @NoMMX
      mov byte ptr[bMMX],1

  @NoMMX:
      pop      edx
      pop      ecx
      pop      ebx
      pop      eax
 End;
 except;
 end;
   result := bMMX;
End;
//************************** CPU: MMX - ja - nein ende *************************
//-MMX

//+GetPartitionName
//********************** Sonstiges: - Partitionname auslesen *******************
function GetPartitionName(const ADrive: Char): String; //Label von Lw.
var
  tmp: Cardinal;
  buffer: array[0..19] of Char;
begin
  GetVolumeInformation(PChar(ADrive+':\'),
                       @buffer[0], SizeOf(buffer), nil, tmp, tmp, nil, 0);
  Result := buffer;
end;
//******************* Sonstiges; - Partitionname auslesen Ende *****************
//-GetPartitionName

//+GetOSLanguage
//***************** Sonstiges: Windows Systemsprache ermitteln *****************
function GetOSLanguage: string;
var
  LanguageID:LangID;
  Language: array [0..100] of char;
begin
  LanguageID:=GetSystemDefaultLangID;
  VerLanguageName(LanguageID,Language,100);
  Result:=String(Language);
end;
//*************** Sonstiges: Windows Systemsprache ermitteln Ende **************
//-GetOSLanguage

//+Win
//******************** Sonstiges: Win-Versionstype ermitteln *******************
{Die Unit SysUtils enthält automatisch folgende globale Variablen:
 Win32MajorVersion, Win32MinorVersion, Win32Platform, Win32CSDVersion
 und Win32BuildNumber. Es müssen also keine Win32-API-Funktionen mehr
 aufgerufen werden. Nur die Zuordnung der Versionsnummern zu den
 Produktbezeichnungen ist noch nötig:
 uses SysUtils;        }
function GetWinVersion: string;
begin
  result:='Unbekannte Version';
  case Win32Platform of
    1: begin // 9x-Reihe
         if Win32MajorVersion=4 then begin
           if Win32MinorVersion=0 then result:='Windows 95'
           else if Win32MinorVersion=10 then result:='Windows 98'
           else if Win32MinorVersion=90 then result:='Windows Me';
         end;
       end;
    2: begin // NT-Reihe
         if (Win32MajorVersion=3) and (Win32MinorVersion=51) then result:='Windows NT 3.51'
         else if (Win32MajorVersion=4) and (Win32MinorVersion=0) then result:='Windows NT 4'
         else if Win32MajorVersion=5 then begin
           if Win32MinorVersion=0 then result:='Windows 2000'
           else if Win32MinorVersion=1 then result:='Windows XP'
           else if Win32MinorVersion=2 then result:='Windows .NET Server';
         end;
       end;
  end;
  //Win32CSDVersion enthält Informationen zu Servicepacks
  if Win32CSDVersion<>'' then result:=result+' '+Win32CSDVersion;
end;
//******************** Sonstiges: Win-Versionstype ermitteln Ende **************
//-Win

//+WindowsVersion
//******************* Sonstiges: Windows - Version ermitteln *******************
//Uses registry
function GetWindowsVersion: string;//erste Möglichkeit: wird aus Registrie ausgelesen
var
  VerInfo: TOsversionInfo;
  PlatformId, VersionNumber: string;
  Reg: TRegistry;
begin
  VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
  GetVersionEx(VerInfo);
  // Detect platform
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  case VerInfo.dwPlatformId of
  VER_PLATFORM_WIN32s:
    begin
      // Registry (Huh? What registry?)
      PlatformId := 'Windows 3.1';
    end;
  VER_PLATFORM_WIN32_WINDOWS:
    begin
      // Registry
      Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion',False);
      PlatformId    := Reg.ReadString('ProductName');
      VersionNumber := Reg.ReadString('VersionNumber');
    end;
  VER_PLATFORM_WIN32_NT:
    begin
      // Registry
      Reg.OpenKey('\SOFTWARE\Microsoft\WindowsNT\CurrentVersion', False);
      PlatformId    := Reg.ReadString('ProductName');
      VersionNumber := Reg.ReadString('CurrentVersion');
    end;
end;
Reg.Free;
Result := PlatformId + ' ( Version ' + VersionNumber + ' )';
end;
//***************** Sonstiges: Windows - Version ermitteln Ende ****************
//-WindowsVersion

//+ComputerName
//********************* Sonstiges: - Computernamen ermitteln *******************
//uses SysUtils
function GetComputerName: String;
var
  Buffer: Array[0..MAX_COMPUTERNAME_LENGTH+1] of Char;
  Size: DWORD;
begin
  size:=1024;
  Windows.GetComputerName(Buffer, Size);
  Result:=StrPas(Buffer);
end;
//********************* Sonstiges: Computernamen ermitteln Ende ****************
//-ComputerName

//+HardDiskSerial
//********** Sonstiges: Seriennummer eines Laufwerkes herausfinden *************
//uses SysUtils
function GetHardDiskSerial(const Drive: char): string;
var
  NotUsed      : dWord;
  VolumeFlags  : dWord;
  VolumeInfo   : array[0..MAX_PATH] of char;
  VolumeSerialNumber: dWord;
begin
  GetVolumeInformation(PChar(Drive + ':\'), VolumeInfo, SizeOf(VolumeInfo),
               @VolumeSerialNumber, NotUsed, VolumeFlags, nil, 0);
  result := Format('%8.8X',               // Label = %s  VolSer = %8.8X
             [VolumeSerialNumber])        //[VolumeInfo, VolumeSerialNumber])
end;
//************* Sonstiges: Seriennummer eines Laufwerkes herausfinden **********
//-HardDiskSerial

//+TempDir
//********************* Sonstiges: Tempverzeichnis auslesen ********************
//uses SysUtils
function GetTempDir: string;
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  GetTempPath(SizeOf(Buffer) - 1, Buffer);
  Result := StrPas(Buffer);
end;
//******************* Sonstiges: Tempverzeichnis auslesen Ende *****************
//-TempDir

//+ProductNr
//****************** Sonstiges: Windows ProductID aus Registrie ****************
//Uses registry
function ProductNr: string;
var
  Reg: TRegistry;
begin
  ProductNr := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion',False) then
    ProductNr := Reg.ReadString('Productid');
  finally
    Reg.Free;
  end;
end;
//************** Sonstiges: Windows ProductID aus Registrie Ende ***************
//-ProductNr

//+Label141a
//********************* Sonstiges: Windows NT erkennen *************************
//*Windows NT erkennen*
function isWindowsNT: Boolean;
var
  vi: TOSVersionInfo;
begin
  vi.dwOSVersionInfoSize := SizeOf(vi); GetVersionEx(vi);
  Result := vi.dwPlatformId = VER_PLATFORM_WIN32_NT;
end;
//********************* Sonstiges: Windows NT erkennen *************************
//-Label141a

//+GetMenuFont
//************** Fonts: System Menu Schriftarten auslesen **********************
function GetMenuFont: TFont;
var
  ncm: TNonClientMetrics;
begin
  ncm.cbSize := SizeOf(TNonClientMetrics);
  SystemParametersInfo(SPI_GETNONCLIENTMETRICS,SizeOf(TNonClientMetrics),@ncm,0);
  Result := TFont.Create;
  Result.Handle :=
  CreateFontIndirect(ncm.lfCaptionFont);
end;
//************** Fonts: System Menu Schriftarten auslesen Ende *****************
//-GetMenuFont

//+Netzip
//******************** Netz:- IP - eigene Adresse ermitteln ********************
//uses WinSock
function GetIPAddress: string;
var
  phoste:PHostEnt;
  Buffer:array[0..100] of char;
  WSAData:TWSADATA;
begin
  result:=' ';
  if WSASTartup($0101, WSAData) <> 0 then exit;
  GetHostName(Buffer,Sizeof(Buffer));
  phoste:=GetHostByName(buffer);
  if phoste = nil then
begin
  result:='?.?.?.?';  //127.0.0.1
end
else
  result:=StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^));
  WSACleanup;
end;
//******************* Netz: - IP - eigene Adresse ermitteln Ende ***************
//-Netzip

//********* Feststellen, ob mein Computer mit dem Netzwerk verbunden ist *******
//+IsNetworkConnected
//******************************************************************************
function IsNetworkConnected: Boolean;
begin
  if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then
    Result := True
  else
    Result := False;
end;
//**** Feststellen, ob mein Computer mit dem Netzwerk verbunden ist Ende *******
//-IsNetworkConnected

//+0135
//******************* Netz: Netzlaufwerke verbinden Dialog *********************
procedure TForm1.Button135Click(Sender: TObject);
begin
  WinExec('RUNDLL32.EXE user,wnetconnectdialog',SW_SHOWNORMAL);
end;
//******************* Netz: Netzlaufwerke verbinden Dialog Ende ****************

//******************* Netz: Netzlaufwerke trennen Dialog ***********************
procedure TForm1.Button136Click(Sender: TObject);
begin
  WinExec('RUNDLL32.EXE user,wnetdisconnectdialog',SW_SHOWNORMAL);
end;
//**************** Netz: Netzlaufwerke trennen Dialog Ende *********************
//-0135

//+B184
//**************** Netz: Download % in Statuszeile anzeigen ********************
procedure TForm1.Timer8Timer(Sender: TObject);
var
  i : integer;
begin
  ProgressBar2.Max := 100;
  progressbar2.Position := progressbar2.Position + 1;
  i := Progressbar2.Position;
  Application.Title := 'download '+IntToStr(i)+' % erledigt';
  if i = ProgressBar2.Max then
  begin
    timer8.Enabled := false;
    Application.Title := 'download fertig '+IntToStr(i)+' %';
    progressbar2.position := 0;   //progressbar1 löschen - auf 0 setzen
    Sleep(1500);
    Application.Title := 'Daten';
  end;
end;

procedure TForm1.Button184Click(Sender: TObject);
begin
  Timer8.Enabled := True;
end;
//**************** Netz: Download % in Statuszeile anzeigen Ende ***************
//-B184

//+B185
//**************** Netz: Download % in Form1.Caption anzeigen ******************
procedure TForm1.Timer9Timer(Sender: TObject);
var
  i : integer;
begin
  ProgressBar2.Max := 100;
  progressbar2.Position := progressbar2.Position + 1;
  i := Progressbar2.Position;
  Form1.Caption := 'download '+IntToStr(i)+' % erledigt';
  if i = ProgressBar2.Max then
  begin
    timer9.Enabled := false;
    Form1.Caption := 'download fertig ';//+IntToStr(i)+' %';
    progressbar2.position := 0;   //progressbar1 löschen - auf 0 setzen
    Sleep(1500);
    Form1.Caption := ' ... Wie geht was ...';
  end;
end;

procedure TForm1.Button185Click(Sender: TObject);
begin
  Timer9.enabled := True;
end;
//**************** Netz: Download % in Form1.Caption anzeigen Ende *************
//-B185

//+B208
//**************** Netz: Eine Telnetverbindung aufbauen ************************
procedure TForm1.Button208Click(Sender: TObject);
begin
  WinExec(PChar('rundll32.exe url.dll,TelnetProtocolHandler 192.168.0.59 '),SW_SHOWNORMAL);
end;
//**************** Netz: Eine Telnetverbindung aufbauen Ende *******************
//-B208

//+GetDefaultPrinter
//******************** Drucker: - Standarddrucker ermitteln ********************
function GetDefaultPrinter : string;
var
  ResStr : array[0..255] of char;
begin
  GetProfileString('Windows','device','',ResStr,255);
  Result:=StrPas(ResStr);
end;
//***************** Drucker: Standarddrucker ermitteln Ende ********************
//-GetDefaultPrinter

//+GetPixelsPerInchX
//***************** Auflösung vom Standard Drucker auslesen ********************
//uses Printers
function GetPixelsPerInchX: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, LOGPIXELSX)
end;

function GetPixelsPerInchY: Integer;
begin
  Result := GetDeviceCaps(Printer.Handle, LOGPIXELSY)
end;
//************** Auflösung vom Standard Drucker auslesen Ende ******************
//-GetPixelsPerInchX

//+IsSW
//**************** Drucken: SW - Farbdrucker ermitteln *************************
function IsSW: Boolean; //Die function bezieht sich auf den Standarddrucker
begin
  Result := (GetDeviceCaps(Printer.Handle, BITSPIXEL) *
             GetDeviceCaps(Printer.Handle, PLANES)) = 1;
end;
//**************** Drucken: SW - Farbdrucker ermitteln Ende ********************
//-IsSW

//+0073
//***************** Drucker: alle Druckerschächte ermitteln ********************
//uses WinSpool
procedure GetPaperBins(sl: TStrings);
type
  TBinName      = array [0..23] of Char;
  TBinNameArray = array [1..High(Integer) div SizeOf(TBinName)] of TBinName;
  PBinnameArray = ^TBinNameArray;
  TBinArray     = array [1..High(Integer) div SizeOf(Word)] of Word;
  PBinArray     = ^TBinArray;
var
  Device, Driver, Port: array [0..255] of Char;
  hDevMode: THandle;
  i, numBinNames, numBins, temp: Integer;
  pBinNames: PBinnameArray;
  pBins: PBinArray;
begin
  Printer.PrinterIndex := -1;
  Printer.GetPrinter(Device, Driver, Port, hDevmode);
  numBinNames := WinSpool.DeviceCapabilities(Device, Port, DC_BINNAMES, nil, nil);
  numBins     := WinSpool.DeviceCapabilities(Device, Port, DC_BINS, nil, nil);
  if numBins <> numBinNames then
  begin
    raise Exception.Create('DeviceCapabilities reports different number of bins and bin names!');
  end;
  if numBinNames > 0 then
  begin
//    pBins := nil;
    GetMem(pBinNames, numBinNames * SizeOf(TBinname));
    GetMem(pBins, numBins * SizeOf(Word));
    try
      WinSpool.DeviceCapabilities(Device, Port, DC_BINNAMES, PChar(pBinNames), nil);
      WinSpool.DeviceCapabilities(Device, Port, DC_BINS, PChar(pBins), nil);
      sl.Clear;
      for i := 1 to numBinNames do
      begin
        temp := pBins^[i];
        sl.addObject(pBinNames^[i], TObject(temp));
      end;
    finally
      FreeMem(pBinNames);
      if pBins <> nil then
      FreeMem(pBins);
    end;
  end;
end;

procedure TForm1.Button73Click(Sender: TObject);
begin
//ListBox10.Clear;
  GetPaperBins(Listbox10.Items);
end;
//***************** Drucker: alle Druckerschächte ermitteln Ende ***************
//-0073

//+MouseExist
//*************************** Maus: angeschlossen Ja - Nein ********************
function MouseExists : Boolean;
begin
  if (GetSystemMetrics(SM_MOUSEPRESENT) <> 0) Then
  Result := True
  else
  Result := False;
end;
//******************** Maus: angeschlossen Ja - Nein Ende **********************
//-MouseExist

//+MouseButtonsCount
//********************** Maus: Maustasten zählen *******************************
function MouseButtonsCount : Integer;
begin
  Result := GetSystemMetrics(SM_CMOUSEBUTTONS);
end;
//********************** Maus: Maustasten zählen Ende **************************
//-MouseButtonsCount

//+MouseWheelExists
//********************** Maus: Prüfen ob WeelMaus ******************************
function MouseWheelExists : Boolean;
begin
  Result := GetSystemMetrics(SM_MOUSEWHEELPRESENT) <> 0;
end;
//********************* Maus: Prüfen ob WeelMaus Ende **************************
//-MouseWheelExists

//+MouseType
//********************* Maus: Maustyp98 aus Registrie auslesen *****************
//Uses registry
function Mousetype : string;
var
  Reg: TRegistry;
begin
  Mousetype := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\CurrentControlSet\Services\Class\Mouse\0000',False) then
    Mousetype := Reg.ReadString('MouseType');
  finally
    Reg.Free;
  end;
end;
//******************* Maus: Maustyp98 aus Registrie auslesen Ende **************
//-MouseType

//+MousTypXP
//****************** Maus: Maustyp unter Xp aus Registrie auslesen *************
//Uses registry
function ProviderName : string;
var
  Reg: TRegistry;
begin
  ProviderName := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\ControlSet001\Control\Class\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0000',False) then
    ProviderName := Reg.ReadString('ProviderName');
  finally
    Reg.Free;
  end;
end;
//***************** Maus: Maustyp unter Xp aus Registrie auslesen Ende *********
//-MousTypXP

//+MouseTreiberDatexp
//*********** Maus: MouseTreiberDate unter Xp aus Registrie auslesen ***********
//Uses registry
function DriverDate : string;
var
  Reg: TRegistry;
begin
  DriverDate := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\ControlSet001\Control\Class\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0000',False) then
    DriverDate := Reg.ReadString('DriverDate');
  finally
    Reg.Free;
  end;
end;
//********* Maus: MouseTreiberDate unter Xp aus Registrie auslesen Ende ********
//-MouseTreiberDatexp

//+MouseTreiberInfoXp
//*********** Maus: MouseTreiberInfo unter Xp aus Registrie auslesen ***********
//Uses registry
function DriverDesc : string;
var
  Reg: TRegistry;
begin
  DriverDesc := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\ControlSet001\Control\Class\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0000',False) then
    DriverDesc := Reg.ReadString('DriverDesc');
  finally
    Reg.Free;
  end;
end;
//********** Maus: MouseTreiberInfo unter XP aus Registrie auslesen Ende *******
//-MouseTreiberInfoXp

//+MouseName
//********************* Maus: MausName aus Registrie auslesen ******************
//Uses registry
function MouseName : string;
var
  Reg: TRegistry;
begin
  MouseName := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\CurrentControlSet\Services\Class\Mouse\0000',False) then
    MouseName := Reg.ReadString('ProviderName');
  finally
    Reg.Free;
  end;
end;
//******************* Maus: MausName aus Registrie auslesen Ende ***************
//-MouseName

//+B18A
//************************ Aufrufe: Systemsteuerung aufrufen *******************
//uses ShellApi;
function Systemsteuerung(Applet : string) : integer;
begin
 Result := ShellExecute(Application.handle,'open',PChar('rundll32.exe'),
           PChar('shell32.dll,Control_RunDLL '+ Applet), nil, sw_shownormal);
end;
//******************** Aufrufe: Systemsteuerung aufrufen Ende ******************
//-B18A

//+BitBtn3
//**************** Aufrufe: BitButtons in Farbe darstellen *********************
procedure MakeColorBtn(BitBtn:TBitBtn;Color:TColor);
var
  tmpbmp : TBitmap;
  s      : string;
  x1,y1  : integer;
begin
  s := BitBtn.Caption;
  BitBtn.Caption := '';
  tmpbmp := TBitMap.Create;
  tmpbmp.Width := BitBtn.Width-4;
  tmpbmp.Height := BitBtn.Height-4;
  tmpbmp.Canvas.Brush.Color := color;
  tmpbmp.canvas.Pen.Color := color;
  tmpbmp.Canvas.Font := BitBtn.Font;
  tmpbmp.Canvas.Rectangle(0,0,tmpbmp.width-1,tmpbmp.height-1);
  x1 := tmpbmp.Canvas.TextWidth(s);
  y1 := tmpbmp.Canvas.TextHeight(s);
  x1 := x1 div 2;
  x1 := (tmpbmp.Width div 2)-x1;
  y1 := y1 div 2;
  y1 := (tmpbmp.Height div 2)-y1;
  tmpbmp.Canvas.TextOut(x1,y1,s);
  BitBtn.Glyph.Assign(tmpbmp);
  tmpbmp.Free;
end;
//************** Aufrufe: BitButtons in Farbe darstellen Ende ******************
//-BitBtn3

//********************* Aufrufe: Den Papierkorb öffnen *************************
//uses ActiveX, ShlObj
procedure FreePidl(pidl : PItemIDList);
var
  allocator : IMalloc;
begin
  if Succeeded(shlobj.SHGetMalloc(allocator)) then
  begin
    allocator.Free(pidl);
    {$IFDEF VER90}
    allocator.Release;
    {$ENDIF}
  end;
end;
 //********************* Aufrufe: Den Papierkorb öffnen Ende *******************

//********************* Aufrufe: Den Papierkorb leeren *************************
procedure EmptyRecycleBin;
const
  SHERB_NOCONFIRMATION = $00000001;
  SHERB_NOPROGRESSUI = $00000002;
  SHERB_NOSOUND = $00000004;
type
  TSHEmptyRecycleBin = function(Wnd: HWND;
  pszRootPath : PChar;
  dwFlags : DWORD):
  HRESULT;  stdcall;
var
  SHEmptyRecycleBin : TSHEmptyRecycleBin;
  LibHandle : THandle;
begin  { EmptyRecycleBin }
  LibHandle := LoadLibrary(PChar('Shell32.dll'));
  if LibHandle <> 0 then @SHEmptyRecycleBin :=
  GetProcAddress(LibHandle, 'SHEmptyRecycleBinA')
else
  begin
    MessageDlg('Failed to load Shell32.dll.', mtError, [mbOK], 0);
    Exit;
  end;
  if @SHEmptyRecycleBin <> nil then
  SHEmptyRecycleBin(Application.Handle,
  nil, SHERB_NOCONFIRMATION or
  SHERB_NOPROGRESSUI or SHERB_NOSOUND);
  FreeLibrary(LibHandle); @SHEmptyRecycleBin := nil;
end;
//****************** Aufrufe: Den Papierkorb leeren Ende ***********************

//************ Aufrufe: Verknüpfung auf dem Desktop anlegen ********************
function CreateLink(path,linkdes,desc,workdir: String):Boolean;
var
  psl : IShellLink;
  ppf : IPersistFile;
begin
  result := False;
  if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil,
               CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl)) then
  begin
    psl.SetPath(PChar(path));
    psl.SetDescription(PChar(linkdes));
    psl.SetWorkingDirectory(PChar(workdir));
    if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,ppf)) Then
    begin
      ppf.Save(StringToOLEStr(linkdes),TRUE);
      Result := true;
    end;
  end;
end;
//********** Aufrufe: Verknüpfung auf dem Desktop anlegen Ende *****************

//************ Aufrufe: Eine Datei in den Papierkorb schicken ******************
{ Wie kann ich Dateien in den Papierkorb verschieben?
  Die zu löschenden Dateien durch "#0" getrennt, am Ende müssen zwei
  #0's stehen, wobei das zweite in der Funktion angehängt wird. Beim
  Aufruf muss nur hinter jedem Dateinamen ein #0 stehen.  }
{procedure DeleteFileToRecycle(dateien: string);
var SHFileOP : TSHFileOpStruct;
begin
  with SHFileOp do
  begin
    Wnd    := Form1.Handle;            //eine Möglichkeit: siehe Button13Click
    wFunc  := FO_DELETE;
    fFlags := FOF_ALLOWUNDO;
    pFrom  := PChar(dateien + #0);
  end;
  SHFileOperation(SHFileOp);
end;                        }
//********** Aufrufe: Eine Datei in den Papierkorb schicken Ende ***************

//+SoundKarte
//******************** Soundkarte vorhanden ja - nein **************************
function IsSoundKarte : Longint;
stdcall;external 'winmm.dll'
name 'waveOutGetNumDevs';

//***************** Soundkarte: vorhanden ja - nein Ende ***********************
//-SoundKarte

//+SoundkartenType
//***************** Soundkarte: SoundkartenType aus Registrie ******************
//Uses registry
function SoundkartenType: string;
var
  Reg : TRegistry;
begin
  SoundkartenType := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if
    Reg.OpenKey('\System\CurrentControlSet\Services\Class\Media\0000',False) then
    SoundkartenType := Reg.ReadString('DriverDesc');
  finally
    Reg.Free;
  end;
end;
//*************** Soundkarte: SoundkartenType aus Registrie Ende ***************
//-SoundkartenType

//+0126
//****************** Sound: Sound abspielen ohne player ************************
procedure TForm1.Button126Click(Sender: TObject);
//uses MMSystem;
var
  s    :  Array[0..79] of char;
  flag : Integer;
begin
  flag := SND_ASYNC;
  StrCopy(s, 'SystemStart');
  sndPlaySound(s, flag);
//        oder
//StrCopy(s, 'ding.wav');
//sndPlaySound(s, 0);
end;
{  Folgende Flags können benutzt werden:
  SND_SYNC  = Spielt den Sound ab, die Anwendung "steht"
  SND_ASYNC = Spielt den Sound ab, die Anwendung läuft weiter
  SND_LOOP  = Spielt den Sound endlos}
//****************** Sound: Sound abspielen ohne player Ende *******************
//-0126

//+0129
//********************** Sound: eine Avi - Datei abspielen *********************
//uses MPlayer;
procedure TForm1.Button129Click(Sender: TObject);
var
  ErrorString: String;
begin
  OpenDialog1.DefaultExt := '*.avi';
  OpenDialog1.Filename := '*.avi';
  OpenDialog1.filter := 'Avi Datei(en) (*.avi)|*.avi|Wav Datei(en) (*.wav)|*.wav'+
  '|Rmi Datei(en) (*.rmi)|*.rmi';//|Mpg Datei(en) (*.mpg)|*.mpg'; // +
 // '|MP3 Datei(en) (*.mp3) | *.mp3';
  if OpenDialog1.Execute then
  begin
    MediaPlayer1.Filename := OpenDialog1.Filename;
    try
     MediaPlayer1.Open;
    except
     ErrorString := 'ErrorCode: ' + IntToStr(Error) + #13#10;
     MessageDlg(ErrorString + MediaPlayer1.ErrorMessage, mtError, [mbOk], 0);
    end;
  end;
end;
//******************* Sound: eine Avi - Datei abspielen Ende *******************
//-0129

//+0130
//************* Sound: den Dialog Sounds und Multimedia anzeigen ***************
procedure TForm1.Button130Click(Sender: TObject);
begin
  WinExec('rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2',SW_SHOWNORMAL);
end;      //0 = Audio //1 = Video //2 = Midi //3 = Musik-CD //4 = Geräte
//*********** Sound: den Dialog Sounds und Multimedia anzeigen Ende ************
//-0130

//*********** Wirklich Beenden? wenn der Anwender auf "X" klickt ***************
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := MessageDlg('Wirklich beenden?',mtConfirmation,
  [mbYes,mbNo],0)= mrYes;
end;
//********* Wirklich Beenden? wenn der Anwender auf "x" klickt Ende ************

//********************** Größe von Form1 festlegen *****************************
procedure TForm1.FormResize(Sender: TObject);
begin
  Form1.Height := 395;
  Form1.Width  := 608;
end;
//********************** Größe von Form1 festlegen Ende ************************

//+Key
//*********************** Windows Produktschlüssel auslesen ********************
function GetWinProductKey: string;
const
  Digits = 'BCDFGHJKMPQRTVWXY2346789';
var
  Reg: TRegistry;
  Value: String;
  i,j,x: Integer;
begin
  Result := '';
  Reg := TRegistry.Create(KEY_READ);
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion', False);
    SetLength(Value, Reg.GetDataSize('DigitalProductID'));
    if (Length(Value) >= 67) then
    begin
      Reg.ReadBinaryData ('DigitalProductID', Value[1], Length (Value));
      for i := 24 downto 0 do
      begin
        x := 0;
        for j := 14 downto 0 do
        begin
          x := (x shl 8) + Ord(Value[53+j]);
          Value[53+j] := Char(x div 24);
          x := x mod 24;
        end;
        Result := Digits[x+1] + Result;
        if ( (i > 0) and ((i mod 5) = 0) ) then
          Result := '-' + Result;
      end;
    end;
  finally
    Reg.Free;
  end;
end;
//*********************** Windows Produktschlüssel auslesen ********************
//-Key

//************************* Form1.Kreieren *************************************
procedure TForm1.FormCreate(Sender: TObject);
const
  ScrollWidth = 500;     //für zusätzlichen Sgrollbalken in Aufrufe - Listbox
//+Timezone
//**** in FormCreate einfügen **************************************************
//const
   TIME_ZONE_ID_UNKNOWN  = 0;
   TIME_ZONE_ID_STANDARD = 1;
   TIME_ZONE_ID_DAYLIGHT = 2;
//**** in FormCreate einfügen **************************************************
//-Timezone
var
  CPUID : TCPUID;       //für CPU - Information
  SysInfo: TSystemInfo; //für CPU - Information
  MS : TMemoryStatus;//für Speicherauslesung, SWP-Auslesung,
  B,P,G  : LongInt;  //(B = Belegt für Swp) & (P & G = für % belegter Speicher)
  SystemPath,
  WindowsPath: array[0..MAX_PATH] of char;      //für Systemverz. & Windowverz.
  Buffer : Array[0..MAX_PATH + 1] of Char;      //für UserName im Netz
  Size   : Dword;                               //für UserName im Netz
  S      : TVendor;                             //für CPU/Hersteller
  SizeX,
  SizeY  : Integer;                             //für aktuelle Auflösung
  DesktopDC    : HDC;                           //für Farbtiefe
  BitsPerPixel : integer;                       //für Farbtiefe
  CLFRgn: HRgn;                                 //für abgerundete Ecken
  i : Integer;                                  //für Button1 mehrzeilig
begin
  AppendMenu(GetSystemMenu(Handle,False),MF_STRING,$F200,'&Copyright...');
  //Das Systemmenü erweitern um den Punkt(Copyrights)
  GetSystemInfo(SysInfo);                       //für CPU - Information
  CPUID	:= GetCPUID;                            //für CPU - Information
  Button24Click(self);                          //für alle Auflösungen anzeigen
  Label127.Caption := ' ';                      //für Sonstiges1 Anz. Datei(en)
  Label128.Caption := ' ';                      //für Sonstiges1 Anz. laufende Prozesse
  ShowWindow(Application.Handle, SW_Show);      //Programmanzeige in der Taskleiste zeigen
  GesicherterPfad := ExtractFilePath(Application.Exename);//für Quelltextanzeige
  PopupMenu1.AutoPopup := True;                 //für TabbetNotbook1/PopupMenue
  KeyPreview := True;
//KeyPreview bestimmt, ob das Formular Tastaturereignisse vor dem aktiven Steuerelement erhält
  
//*********** für zusätzlichen Sgrollbalken in Aufrufe - Listbox ***************
  //uses Messages
  SendMessage(ListBox2.Handle, LB_SETHORIZONTALEXTENT,   //Listbox2
  ScrollWidth, LongInt(0));

  SendMessage(ListBox4.Handle, LB_SETHORIZONTALEXTENT,   //Listbox4
  ScrollWidth, LongInt(0));

  SendMessage(ListBox5.Handle, LB_SETHORIZONTALEXTENT,   //Listbox5
  ScrollWidth, LongInt(0));

  SendMessage(ListBox7.Handle, LB_SETHORIZONTALEXTENT,   //Listbox7
  ScrollWidth, LongInt(0));

  SendMessage(ListBox11.Handle, LB_SETHORIZONTALEXTENT,   //Listbox11
  ScrollWidth, LongInt(0));

  SendMessage(ListBox13.Handle, LB_SETHORIZONTALEXTENT,   //Listbox13
  ScrollWidth, LongInt(0));

  SendMessage(ListBox20.Handle, LB_SETHORIZONTALEXTENT,   //Listbox20
  ScrollWidth, LongInt(0));

  SendMessage(ListBox21.Handle, LB_SETHORIZONTALEXTENT,   //Listbox21
  ScrollWidth, LongInt(0));

//******** für zusätzlichen Sgrollbalken in Aufrufe - Listbox Ende *************

 Application.HintColor  := clsilver;  //Hintergrund-Hinweise-Farbe
 Application.HintHidePause := 10000;  //Darstellungszeit für Hinthinweis

 Form1.WindowState := wsMinimized;    //Form1 kreieren und gleich verstecken

//****************** für Progressbar in einer beliebigen Farbe *****************
//Unit CommCtrl
 SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,ColorToRGB(clRed + clNavy));
 //*************** für Progressbar in einer beliebigen Farbe Ende **************

//+0034
//********************** für Button mehrzeilige Beschriftung *******************
// in FormCreate eintragen
// var i : Integer;

  i:=GetWindowLong(Button1.Handle,GWL_STYLE );
  SetWindowLong (Button1.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button1.Caption := 'Info'#13#10 + ' '#13#10 + 'Zeile 3';

  i:=GetWindowLong(Button86.Handle,GWL_STYLE );
  SetWindowLong (Button86.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button86.Caption := 'alle laufenden'#13#10 + 'Prozesse';

  i:=GetWindowLong(Button34.Handle,GWL_STYLE );
  SetWindowLong (Button34.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button34.Caption := 'T'#13#10 + 'e'#13#10 + 's'#13#10 + 't';

  i:=GetWindowLong(Button35.Handle,GWL_STYLE );
  SetWindowLong (Button35.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button35.Caption := 'Alle'#13#10 + 'Netzwerkrechner'#13#10 + 'auflisten';

  i:=GetWindowLong(Button35.Handle,GWL_STYLE );
  SetWindowLong (Button36.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button36.Caption := 'neuen'#13#10 + 'Drucker'#13#10 + 'hinzufügen';

  i:=GetWindowLong(Button46.Handle,GWL_STYLE );
  SetWindowLong (Button46.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button46.Caption := 'Einen'#13#10 + 'Testdruck'#13#10 + 'ausführen';

  i:=GetWindowLong(Button73.Handle,GWL_STYLE );
  SetWindowLong (Button73.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button73.Caption := 'Drucker-'#13#10 + 'schächte'#13#10 + 'ermitteln';

  i:=GetWindowLong(Button74.Handle,GWL_STYLE );
  SetWindowLong (Button74.Handle,GWL_STYLE , i or
  BS_MULTILINE);
  Button74.Caption := 'Drucker-'#13#10 + 'Ordner'#13#10 + 'öffnen';

//****************** für Button mehrzeilige Beschriftung Ende ******************
//-0034

//************************** für Form1 abgerundete Ecken ***********************
  CLFRgn := CreateRoundRectRgn(0,0,Form1.Width,Form1.Height,15,15);
  SetWindowRgn(Form1.Handle,CLFRgn,True);
//************************** für Form1 abgerundete Ecken Ende ******************

//*********************** für Button35 abgerundete Ecken ***********************
  CLFRgn := CreateRoundRectRgn(0,0,Button35.Width,Button35.Height,12,12);
  SetWindowRgn(Button35.Handle,CLFRgn,True);
//************************für Button35 abgerundete Ecken Ende ******************

  try
  MS.dwLength := SizeOf(TMemoryStatus);         // Für SpeicherStatus
  GlobalMemoryStatus(MS);                       // Für SpeicherStatus & Swp Datei
  size := 1024;                                 // für UserName im Netz
  GetUserName(Buffer, Size);                    // für UserName im Netz
  SizeX := Screen.Width;                        // für Auflösung Weite
  SizeY := Screen.Height;                       // für Auflösung Höhe
  GetWindowsDirectory(WindowsPath, SizeOf(WindowsPath)); //Window - verzeichnis
  GetSystemDirectory(SystemPath, SizeOf(SystemPath));    //Window - Systemverzeichnis
  MakeColorBtn(BitBtn1,clteal);                 // für BitBtn1 in Farbe
  MakeColorBtn(BitBtn2,clyellow);               // für BitBtn2 in Farbe

//+Label82
//************************** Farbtiefe ermitteln *******************************
begin
  DesktopDC := GetDC(0);//DeviceContext des Desktops und ermittelt dessen Farbtiefe:
  BitsPerPixel := GetDeviceCaps(DesktopDC, BITSPIXEL);
  case BitsPerPixel of
    4: Label82.Caption := 'Farbtiefe:                 16 Farben 4-Bit ';
    8: Label82.Caption := 'Farbtiefe:                 256 Farben 8-Bit';
    16:Label82.Caption := 'Farbtiefe:                 64K Farben 16-Bit';
    24:Label82.Caption := 'Farbtiefe:                 16M Farben 24-Bit';
    32:Label82.Caption := 'Farbtiefe:                 True Color 32-Bit';
  end;
  ReleaseDC(0, DesktopDC);

//+Label83
//******************************************************************************
//private
//function GetDisplayFrequency : Integer; //muss in private eingetragen werden.
  Label83.Caption := 'Monitorfrequenz:       '+ IntToStr(GetDisplayFrequency)+' Hz';
//******************************************************************************
//-Label83
end;
//************************** Farbtiefe ermitteln Ende **************************
//-Label82

//+Label84
//************************** GrafikkartenType **********************************
 Label84.Caption:= 'Grafikkarte:              ' +   GrafikkartenType;
//************************** GrafikkartenType **********************************
//-Label84

//*************************** Bios: Label 1 - 10 *******************************

//+Label1
//******************************************************************************
//BiosDatum
//Label1.Caption:=GetBiosDate;
  Label1.Caption:= ' Biosdatum 98:         '+ BiosDatum;
//Label1.Caption:= String(Pchar(Ptr($FFFF5)));
//******************************************************************************
//-Label1

//+002
//******************************************************************************
//Biosname
  Label2.Caption:= ' Biosname 98:          '+ BiosName;
//Label2.Caption:= String(Pchar(Ptr($FE061)));
//******************************************************************************
//-002

//+003
//******************************************************************************
//Biosversion                                                   //Bios CopyRight
  Label3.Caption:= ' Biosversion 98:       '+ BiosVersion;
//  Label3.Caption:= String(Pchar(Ptr($FE091)));
//******************************************************************************
//-003

//+004
//******************************************************************************
//Bios Seriennr.   //führt zu Problemen bei XP
  Label4.Caption:= ' Seriennr 98:           ';//+ String(Pchar(Ptr($FEC71)));
//******************************************************************************
//-004

//+Label005
//******************************************************************************
//Bios - Datum Xp
  Label5.Caption:= ' Bios - Datum Xp:            '+ BiosDateXp;
//******************************************************************************
//-Label005

//+Label006
//******************************************************************************
//Bios - Version Xp
  Label6.Caption:= ' Video-Bios-Datum Xp:     '+ VideoBiosDateXp;
//******************************************************************************
//-Label006

//+Label007
//******************************************************************************
//Bios - Datum Xp
  Label7.Caption:= ' Bios - Version Xp:            '+ BiosVersionXp;
//******************************************************************************
//-Label007

//*************************** Label 1 - 10 Ende ********************************

//*************************** CPU: Label 11 - 20 *******************************
//+Label11
//******************************************************************************
//CPU - Anzahl
  Label11.Caption:= ' Prozessoren:       '+ IntToStr(GetNumberOfProcessors)+ ' Stück';
//******************************************************************************
//-Label11

//+Label12
//******************************************************************************
//CPU - Hersteller
  S := GetCPUVendor;
  Label12.Caption:= ' Hersteller:           ' + S;
//******************************************************************************
//-Label12

//+Label13
//******************************************************************************
//CPU - Speed
  Label13.Caption:= ' Speed:               '+ FormatFloat(''+'###,#' + ' MHz', CalcCPUSpeed );
//******************************************************************************
//-Label13

//+Label14
//******************************************************************************
//MMX-Unterstützung
  begin
    If IsMMX <= True Then
    label14.Caption := ' MMX                ' + '  ja '
  else
    label14.Caption := ' MMX                ' + '  nein ';
  end;
//******************************************************************************
//-Label14

//+Label15
//******************************************************************************
//CPU - Type
  Label15.Caption:= ' Prozessortyp:      ' + IntToStr(GetProcessorType);
//******************************************************************************
//-Label15

//+Label16
//******************************************************************************
//CPU - Type1
  If GetProcessorType <= 586 Then
  Label16.Caption:= ' Prozessorte:        Pentium';
//******************************************************************************
//-Label16

//+Label17
//******************************************************************************
//CPU - Level
  Label17.Caption:= ' CPU-Familie:       ' + IntToStr(GetProcessorLevel);
//******************************************************************************
//-Label17

//+Label18
//******************************************************************************
//CPU - RevisionsNr.
  Label18.Caption:= ' RevisionsNr:       ' + IntToStr(GetProcessorRevision);
//******************************************************************************
//-Label18

//+Label19
//******************************************************************************
//CPU - Architektur
  Label19.Caption:= ' Architektur:         ' + IntToStr(GetProcessorArchitecture);
//******************************************************************************
//-Label19

//+Label20
//******************************************************************************
//Uses SysUtils
//CPU - PageSize;
  with SysInfo do
  Label20.Caption:= ' Page Size:          ' + IntToStr(dwPageSize)+ ' Kb (Seitenlänge)';
//******************************************************************************
//-Label20

//+Label91
//******************************************************************************
//CPU - Name
  Label91.Caption:= ' Cpu-Name:          ' + CPUname;
//******************************************************************************
//-Label91

//+Label92
//******************************************************************************
//CPU - Stepping
  Label92.Caption:= ' Cpu-SteppingID:  ' + IntToStr(CPUID[1] and $f);
//******************************************************************************
//-Label92

//+Label93
//******************************************************************************
//CPU - Model
  Label93.Caption:= 'Cpu - Model:      ' +     IntToStr(CPUID[1] shr 4 and $f);
//******************************************************************************
//-Label93

//+Label95
//******************************************************************************
Label95.Caption := ' Cpu - Namensting aus Registrie:' + GetProzessorName;
//******************************************************************************
//-Label95

//*************************** CPU: - Label 11 - 20 Ende ************************

//*************************** Speicher: Label 21 - 30 **************************
//+Label1021
//********************* in FormCreate eintragen ********************************
//Fuer Speicher Total - Frei - belegt - Anzeige in % & Auslagerungsdatei( Swp )

//Var
//  B,P,G  : LongInt; //(B = Belegt für Swp) & (P & G = für % belegter Speicher)

//MS.dwLength := SizeOf(TMemoryStatus); // Für SpeicherStatus
//GlobalMemoryStatus(MS);               // Für SpeicherStatus & Swp Datei
//******************************************************************************
//-Label1021

//+Label21
//******************************************************************************
//Speicher Total & Speicher Frei
  Label21.Caption :=
  FormatFloat('Speicher Total:              '+'###,###'+' MB', MS.dwTotalPhys Div 1024
  DIV 1020 );//TotalSpeicher
//  Label21.Hint := FormatFloat('Speicher gesamt: '+'###'+
//  ' MB ', MS.dwTotalPhys DIV 1024 Div 1020 );   // Für Hintanzeige in Megabyte
//******************************************************************************
//-Label21

//+Label22
//******************************************************************************
  Label22.Caption :=
  FormatFloat('Speicher belegt:            '+'###,###'+' MB', MS.dwTotalPhys Div 1024
  DIV 1020 - MS.dwAvailPhys Div 1024 DIV 1020 );//Totalbelegt
//******************************************************************************
//-Label22

//+Label23
//******************************************************************************
  Label23.Caption :=
  FormatFloat('Speicher Frei:                '+'###,###'+' MB', MS.dwAvailPhys Div 1024
  DIV 1020 );//TotalFrei
//  Label22.Hint := FormatFloat('Speicher frei: '+'###'+
//  ' MB ', MS.dwAvailPhys DIV 1024 Div 1020 );   // Für Hintanzeige in Megabyte
//******************************************************************************
//-Label23

//+Label24
//******************************************************************************
//Speicheranzeige in %
  P := MS.dwTotalPhys Div 100;          // 1% von Speicher Total
  G := MS.dwTotalPhys - MS.dwAvailPhys ;//Speicher Total - Speicher Frei = Belegt
  Label24.Caption := FormatFloat('Speicherauslastung:         '+'###,##'+' % ' ,G Div P);
//  Label24.Hint := FormatFloat('###,##'+' % vom Speicher sind belegt' ,G Div P );
//******************************************************************************
//-Label24

//+Label25
//******************************************************************************
//Größe der Auslagerungsdatei
  B := Ms.dwTotalPageFile Div 1024 - Ms.dwAvailPageFile Div 1024;
  Label25.Caption:=FormatFloat('Auslagerungsdatei:        '+'###,###' + ' KB Swp', + B );
//  Label25.Hint := ' Anforderung an ' + #10#13 +' die Swp-Datei ';
//******************************************************************************
//-Label25

//*************************** Speicher: - Label 21 - 30 Ende *******************

//**************************** Netz: Label 31 - 40 *****************************

//+Label31
//******************************************************************************
//Den User-Namen bestimmen
  If StrPas(Buffer) = ' ' Then
  Label31.Caption:='Username im Netzwerk:        ' + ' kein Eintrag'
  else
  Label31.Caption:='Username im Netzwerk:        ' + StrPas(Buffer);
//******************************************************************************
//-Label31

//+Label32
//******************************************************************************
//IsNetworkConnected
  If IsNetworkConnected = False Then
  Label32.Caption:= 'Dieser Pc:                           ist nicht mit dem Netzwerk verbunden '
  else
  Label32.Caption:= 'Dieser Pc:                           ist mit dem Netzwerk verbunden ';
//******************************************************************************
//-Label32

//+Label33
//******************************************************************************
//Die eigene IP auslesen
  Label33.Caption:= 'Netzwerk - IP:                     '+ GetIPAddress;
//******************************************************************************
//-Label33

//*************************** Netz: - Label 31 - 40 Ende ***********************

//*************************** Sonstiges: Label 41 - 50 *************************
//+Label41
//******************************************************************************
//Partitionname ermitteln
  Label41.Caption:= 'Partitionname:           ' + GetPartitionName('C');
//******************************************************************************
//-Label41

//+Label42
//******************************************************************************
//Computernamen ermitteln
  Label42.Caption:= 'Computername:         ' + GetComputerName;
//******************************************************************************
//-Label42

//+Label43
//******************************************************************************
//Windows Systemsprache ermitteln
  Label43.Caption:= 'Systemsprache:         '+ GetOSLanguage;
//******************************************************************************
//-Label43

//+Label44
//******************************************************************************
//Seriennummer eines Laufwerkes herausfinden
  Label44.Caption:= 'Seriennr. von C:\      ' +  GetHardDiskSerial('c');
//******************************************************************************
//-Label44

//+Label45
//******************************************************************************
//Windowsversion ermitteln
  Label45.Caption := 'Windowsversion98:     ' + GetWindowsVersion;
//******************************************************************************
//-Label45

//+Label46
//******************************************************************************
//Window - Verzeichnis
  Label46.Caption:= 'Windowsverzeichnis: '   + WindowsPath + '\';
//******************************************************************************
//-Label46

//+Label47
//******************************************************************************
//Window - Systemverzeichnis
  Label47.Caption:='Systemverzeichnis:    '   + SystemPath + '\';
//******************************************************************************
//-Label47

//+Label48
//******************************************************************************
//Window - Tempverzeichnis
  Label48.Caption:='Tmpverzeichnis:        '   + GetTempDir;
//******************************************************************************
//-Label48

//+Label49
//******************************************************************************
//Windows ProductNr
  Label49.Caption :='Windows ProductNr:  '   + ProductNr;
//******************************************************************************
//-Label49

//+Label50
//**************************** Windows Registrierschlüssen *********************
 Label50.caption := 'Win. - Produktschl.   ' + GetWinProductKey;
//**************************** Windows Registrierschlüssen *********************
//******************************************************************************
//-Label50

//+Label133
//******************************************************************************
//Win-versionstype ermitteln
  Label133.Caption :='Win-Versionstype:     ' + GetWinVersion;
//******************************************************************************
//-Label133

//+Label141
//******************************************************************************
begin
  if isWindowsNT then
    Label141.caption :='Windowsversion:       NT Version'
  else
    Label141.caption :='Windowsversion:       9x Version';
end;
//******************************************************************************
//-Label141

//************************ Sonstiges: - Label 41 - 50 Ende *********************

//*************************** Fonts: Label 51 - 60 *****************************
//+Label51
//******************************************************************************
//Anzahl Installierte Schriften ermitteln
  Label51.Caption:='  Installierte Schriften:  '+IntToStr(Screen.Fonts.Capacity);

//******************************************************************************
//-Label51

//+Label52
//******************************************************************************
//System Menu Schriftarten auslesen
  Label52.Caption := 'eingestellte System Menu Schriftart: '+ GetMenuFont.Name;
//******************************************************************************
//-Label52

//läuft über Timer 1
//Label56.Caption:=FormatDatetime('d. mmmm yyyy  hh:mm:ss', Now);
//*************************** Fonts: - Label 51 - 60 Ende **********************

//*************************** Drucker: Label 61 - 70 ***************************
//+Label61
//******************************************************************************
//Den Standarddrucker ermitteln
  Label61.Caption:= 'Standarddrucker: ' + GetDefaultPrinter;
//******************************************************************************
//-Label61

//Label62.Caption:= ' ' + IntToStr(printer.Fonts.Capacity);//gleich mit Fontliste
                                                            //nur unsortiert.

//+Label62
//******************************************************************************
//Auflösung vom Standard Drucker auslesen
  Label62.Caption := 'Auflösung: '+ Format('x: %d y: %d  Dpi ',
                           [GetPixelsPerInchX,GetPixelsPerInchY]);
//******************************************************************************
//-Label62

//+Label64
//******************************************************************************
//SW - Farbdrucker ermitteln //Die function bezieht sich auf den Standarddrucker
  If IsSW = True Then
  Label64.Caption:= 'Schwarzweissdrucker'
  else
  Label64.Caption:= 'Farbdrucker';
//******************************************************************************
//-Label64

//*************************** Drucker: - Label 61 - 70 Ende ********************

//*************************** Maus: Label 71 - 80 ******************************

//+Label71
//******************************************************************************
//Maus angeschlossen ja - nein
  If MouseExists Then
  Label71.Caption:= ' Maus angeschlossen:      ja'
else
  Label71.Caption:= ' Maus angeschlossen:      nein';
//******************************************************************************
//-Label71

//+Label72
//******************************************************************************
//Wheelmaus ja - nein
  if MouseWheelExists then
  Label72.Caption:= ' Wheelmaus:                   ja'
else
  Label72.Caption:= ' Wheelmaus:                   nein';
//******************************************************************************
//-Label72

//+Label73
//******************************************************************************
//Maustasten zählen
  Label73.Caption:= ' Anz. Maustasten:            ' + IntToStr(MouseButtonsCount);
//******************************************************************************
//-Label73

//aktuelle Mausposition - siehe Timer1
//  Label74.Caption := 'X ' + IntToStr(mouse.cursorpos.X) + '  ' +
//  'Y ' + IntToStr(mouse.cursorpos.Y);

//+Label75
//******************************************************************************
//MausType
  Label75.Caption:= ' Maustyp:                        ' +  MouseType;

//******************************************************************************
//-Label75

//+Label76
//******************************************************************************
//MausName
  Label76.Caption:= ' Maushersteller:               ' + MouseName;
//******************************************************************************
//-Label76

//+Label78
//******************************************************************************
//MaustypXp
  Label78.Caption:= ' MaustypXp:                     ' +  ProviderName;
//******************************************************************************
//-Label78

//+Label79
//******************************************************************************
//Maustreiber-Datum Xp
  Label79.Caption:= ' Maustreiber-Datum Xp:     ' +  DriverDate;
//******************************************************************************
//-Label79

//+Label80
//******************************************************************************
//Cursor Blinkwiederholungszeit
  Label80.Caption := Format(' Cursor - Blinkwiederholungszeit:   %d ms',
                            [GetCaretBlinkTime]);

//Cursor Blinkwiederholungszeit setzen
//SetCaretBlinkTime(2000);
//******************************************************************************
//-Label80

//+Label142
//******************************************************************************
//MausTreiberInfo
  Label142.Caption:= ' Maustreiber-Info Xp:         ' +  DriverDesc;
//******************************************************************************
//-Label142

//*************************** Maus: - Label 71 - 80 Ende ***********************

//*************************** Grafik: - Label 81 - 90 **************************

//+Label81
//******************************************************************************
//aktuelle Auflösung
  Label81.Caption:= 'aktuelle Auflösung:   ' + IntToStr(SizeX) + '  X  ' +
                                               IntToStr(SizeY);
//******************************************************************************
//-Label81

//************************ Grafik: - Label 81 - 90 Ende ************************

//************************ Sound: - Label 111 - 120 ****************************

//+Label111
//******************************************************************************
//Soundkarte gefunden
 If IsSoundKarte = 1 then
 Label111.Caption := ' Soundkarte gefunden:        ja'
 else
 Label111.Caption := ' Soundkarte gefunden:        nein';
//******************************************************************************
//-Label111

//+Label112
//******************************************************************************
//SoundkartenType
  Label112.Caption := ' Soundkartentyp:                ' + SoundkartenType;
//******************************************************************************
//-Label112

//********************* Sound: - Label 111 - 120 Ende **************************

//Laufwerke
  Button2Click(Self); //siehe Procedure Button2Click

//+ListBox1Items
//******************************************************************************

  Listbox1.Items := Screen.Fonts; //Installierte Schriften anzeigen
  ListBox1.ItemIndex := 0;        //erste Eintrag in ListBox1 markieren
  Memo1.Font.Size := 12;          //Schriftgroesse im Memofeld
  Listbox18.Items := Screen.Fonts; //Installierte Schriften anzeigen
//******************************************************************************
//-ListBox1Items

//+ListBox2Printer
//******************************************************************************
//Alle verfügbaren Drucker ermitteln
  listbox2.items := printer.printers;
  Combobox2.Items.Assign( Printer.Printers );
//******************************************************************************
//-ListBox2Printer

//DruckerFonts ermitteln
{  printer.printerindex := listbox2.itemindex;        //gleich Anzahl wie Fonts
  listbox3.items := printer.fonts;           }        //nur unsortierte Ausgabe
//  GesicherterPfad := ExtractFilePath(Application.Exename);
//************************* Form1 Kreieren Ende ********************************
   except
    //Label1.Caption:=GetBiosDate;
     Label1.Caption:= ' ?';

   //Biosname
     Label2.Caption:= ' ?';

   //Bios CopyRight
     Label3.Caption:= ' ?';

   //Bios Seriennr.
     Label4.Caption:= ' ?';

   //Platz für die weitere Labels

   end; //für except
end;

//+Label59
//***************************** Fonts: Laufschrift *****************************
procedure TForm1.Timer1Timer(Sender: TObject);
Var
  txt : string;  //für Laufschrift Label59
begin
//ShowWindow(Application.Handle, SW_HIDE);//wenn über Timer dann keine Anzeige in Taskleiste

//Laufschrift Label59 - Font
  If Form1.TabbedNotebook1.Pages[5] = Form1.TabbedNotebook1.ActivePage Then
  txt := '    Und es geht auch anders rum             ';
//if ActiveControl <> nil then         //hiermit wandert das TabbedNotebook1 von
//ActiveControl.Left := ActiveControl.Left + 1;   //Form1 nach links weg
  timer1.tag := timer1.tag + 1;
  if timer1.tag >= length(txt) then timer1.tag := 1;
  label59.caption := copy(txt,timer1.tag,length(txt));
  if timer1.tag > length(txt) - length(txt) then
  label59.caption := label59.caption + copy(txt,1,length(txt) -length(txt) + timer1.tag);

//Laufschrift Label60 - Font
  If Form1.TabbedNotebook1.Pages[5] = Form1.TabbedNotebook1.ActivePage Then
  Label60.Left := Label60.Left + 4; // +4 = Stepweite
  if (Label60.Left = 524) then      // 524 = Labelende
  Label60.Left := 172 ;             // 172 = Labelanfang
  Label60.Caption := ' ... Dies ist ein Test ... ';

//******************************************************************************
//-Label59

//Allerlei
  Form1.Label139.Caption := IntToStr(ListBox20.Items.Count)+ ' gefunden';
//Allerlei

//+Label74
//******************************************************************************
//aktuelle Mausposition
  Label74.Caption := ' aktuelle Mausposition:      ' + 'X ' + IntToStr(mouse.cursorpos.X) +
  '  ' +  'Y ' + IntToStr(mouse.cursorpos.Y);
//******************************************************************************
//-Label74

//+Label56
//******************************************************************************
//Für Datum & Zeitanzeige
  Label56.Caption:=FormatDatetime('dddd d. mmmm yyyy  hh:mm:ss', Now);

//******************************************************************************
//-Label56

//Sonstiges1 - Selectierte Einträge
  Label122.Caption := IntToStr(ListBox11.SelCount) + ' Sel: Einträge ';

//************************** Fonts: - Laufschrift Ende *************************
end;

//+0001
//***************************** Fonts: Infofenster *****************************
// uses shellapi;  About-Box im Windows-Stil anzeigen
procedure TForm1.Button1Click(Sender: TObject); //siehe Zeile 905
begin

  //ShellAbout(Handle,' ', ' '+ ' ', Icon.Handle); mit Window - Logo

   ShellAbout(self.Handle,'Daten.Exe ',
  'Copyright (©) 2000 - 2002 By D.Büttner' + #13 +
  'Version:        47.11.08.15', Application.Icon.Handle);
  
{                     oder
   ShellAbout(Application.MainForm.Handle,'Daten',
          '(c) 2000 - 2002 By D.Büttner'#13'http://www.Willy_Wacker.de',
          Application.Icon.Handle);          }
end;
//**************************** Fonts: Infofenster Ende *************************
//-0001

//+0002
//**************************** Laufwerke: Laufwerke auslesen *******************
procedure TForm1.Button2Click(Sender: TObject);//in Zeile 1168 Button2Click(Self)
var
  free, total: Int64;
  I,Typ : Integer;
  s     : String;
begin
  ListBox3.clear;//damit alles nur einmal ausgelesen wird, ListBox jedesmal leeren
  For I := 0 To 25 Do
    begin
      s   := Chr(I + 65) + ':\';
      Typ := GetDriveType(Pchar(s));
      GetDiskFreeSpaceEx('C:\', free, total, nil);
      If Typ <> 0 Then
      Case Typ Of
      Drive_Removable : ListBox3.Items.Add(Chr(I + 65) + ':\  Diskette   ');
      Drive_Fixed     : ListBox3.Items.Add(Chr(I + 65) + ':\  Festplatte  ');//+
      //FormatFloat('###,###'+' MB', total Div 1024 ));
      Drive_CdRom     : ListBox3.Items.Add(Chr(I + 65) + ':\  CD - Rom');
      Drive_RamDisk   : ListBox3.Items.Add(Chr(I + 65) + ':\  Ramdisk');
      Drive_ReMote    : ListBox3.Items.Add(Chr(I + 65) + ':\  Netzlaufwerk');
    end;
  end;
  Label101.Caption := 'gef. Laufwerke: ' + IntToStr(ListBox3.Items.Count);
end;
//*************************** Laufwerke: Ist Laufwerk bereit *******************
function DiskInDrive1 (Drive: Char): Boolean;
var ErrorMode: word;
begin
  Drive := UpCase(Drive);
  if not (Drive in ['A'..'Z'])
    then raise EConvertError.Create ('Kein Laufwerksbuchstabe');
  ErrorMode := SetErrorMode( SEM_FailCriticalErrors);
  try
    Result := DiskSize( Ord(Drive)-$40) <> -1;
  finally
    SetErrorMode(ErrorMode);
  end;
end;

//Aufruf - Beispiel:

procedure TForm1.ListBox3Click(Sender: TObject);
begin
  if ListBox3.Selected[0] then
  If Not DiskInDrive1('A') Then
  begin
    ShowMessage('Laufwerk A:\ ist nicht bereit!');
  end
else
  ShowMessage('Laufwerk A:\ ist bereit!');
end;
//********************** Laufwerke: Ist Laufwerk bereit Ende *******************
//*********************** Laufwerke: Laufwerke auslesen Ende *******************
//-0002

//+0071
//***** Laufwerke: Alle Verzeichnisse und Unterverz. in Listbox ausgeben *******
procedure Scan(const Path: String; List: TStrings);
var
  SR : TSearchRec;
begin
  List.Add(Path);
  if FindFirst(Path + '*.*', faDirectory or faHidden, SR) = 0 then
begin
  repeat
    if (SR.Attr and faDirectory <> 0) and
       (SR.Name <> '.') and (SR.Name <> '..') then
    Scan(Path + SR.Name + '\', List);
  until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

procedure TForm1.Button71Click(Sender: TObject);
var
  ScrollWidth : Integer;  //für Sgrollbalkenlänge in Laufwerke - Listbox4
begin
   ScrollWidth := 700;     //Sgrollbalkenlänge
   Button71.Caption := 'Suche läuft';
   Screen.Cursor := crHourGlass; 
   ListBox4.Items.Clear;  //damit alles nur einmal in der Listbox steht
   Scan('C:\Windows\', ListBox4.Items);//Lw - das gescant werden soll
   SendMessage(ListBox4.Handle, LB_SETHORIZONTALEXTENT,ScrollWidth, LongInt(0));//Sgrollbalken Listbox4
   Button71.Caption := 'fertig';
   sleep(2000);
   Button71.Caption := 'C:\Windows Ordner auflisten';
   Screen.Cursor := crDefault; 
end;
//*** Laufwerke: Alle Verzeichnisse und Unterverz. in Listbox ausgeben Ende ****
//-0071

//+B202
//********* Laufwerke:  Symbolische Laufwerke anlegen & endfernen **************
procedure TForm1.Button202Click(Sender: TObject);
begin
  //anlegen
  if DefineDosDevice(0, 'P:', 'C:\windows') then
  ShowMessage('Laufwerk (P:) erfolgreich hinzugefügt');
  Button2Click(Self);  //in Zeile 1168 Button2Click(Self)
end;

procedure TForm1.Button203Click(Sender: TObject);
begin
  //entfernen
  if DefineDosDevice(DDD_REMOVE_DEFINITION, 'P:', nil) then
  ShowMessage('Laufwerk (P:) erfolgreich entfernt');
  Button2Click(Self);  
end;
//****** Laufwerke:  Symbolische Laufwerke anlegen & endfernen Ende ************
//-B202

//+B204
//****** Laufwerke:  Groesse eines Laufwerkes auslesen *************************
procedure TForm1.Button204Click(Sender: TObject);
var
   free,total: Int64;
begin
  Button204.Width := 240;
  GetDiskFreeSpaceEx('C:\', free, total, nil);
  Button204.caption:=FormatFloat('Größe von Lw. C:\ '+'###,###'+' MB', total );
  Delay1(5000);
  Button204.caption:= 'Groesse v. Lw. C:\';
  Button204.Width := 130;
end;
//****** Laufwerke:  Groesse eines Laufwerkes auslesen Ende ********************
//-B204

//+0003
//********************** Aufrufe: Windows Suche starten ************************
//uses ShellApi;
procedure TForm1.Button3Click(Sender: TObject);
begin
  ShellExecute(0, 'find', 'c:\', nil, nil, SW_SHOWNORMAL);
end;
//***************** Aufrufe: Windows Suche starten Ende ************************
//-0003

//+0004
//******************** Aufrufe: Windows Explorer starten ***********************
//uses ShellApi;
procedure TForm1.Button4Click(Sender: TObject);
begin
  ShellExecute(handle, 'explore', 'C:\', nil, nil, SW_SHOWNORMAL);
end;
//******************** Aufrufe: Windows Explorer starten Ende ******************
//-0004

//+0005
//******************** Aufrufe: eine bestimmte Datei offnen ********************
//uses ShellApi;
procedure TForm1.Button5Click(Sender: TObject);
begin
  ShellExecute(handle, 'open', 'C:\CONFIG.SYS', nil, nil, SW_SHOWNORMAL);
end;
//******************* Aufrufe: eine bestimmte Datei offnen Ende ****************
//-0005

//+0006
//********************** Aufrufe: Das Prog. Notepad starten ********************
//uses ShellApi;
procedure TForm1.Button6Click(Sender: TObject);
begin
  ShellExecute(0,Nil,PChar('C:\Windows\Notepad.exe'),Nil,Nil,SW_NORMAL);
end;
//******************* Aufrufe: Das Prog. Notepad starten Ende ******************
//-0006

//+0007
//****************** Aufrufe: Den Papierkorb leeren ****************************
procedure TForm1.Button7Click(Sender: TObject);
begin
  EmptyRecycleBin;  //geht bei 98       bei 95 nicht
end;
//****************** Aufrufe: Den Papierkorb leeren Ende ***********************
//-0007

//+0008
//****************** Aufrufe: Den Papierkorb öffnen ****************************
//uses ShellApi;
procedure TForm1.Button8Click(Sender: TObject);
var
  exInfo: TShellExecuteInfo;
begin
  // initialize all fields to 0
  FillChar(exInfo, SizeOf(exInfo), 0);
  with exInfo do
  begin
    cbSize := SizeOf(exInfo); // required!
    fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_IDLIST;
    Wnd := Handle;
    nShow := SW_SHOWNORMAL;
    lpVerb := 'open';
    ShGetSpecialFolderLocation(Handle, CSIDL_BITBUCKET,
    PItemIDLIst(lpIDList));
  end;
  ShellExecuteEx(@exInfo);
  FreePIDL(exinfo.lpIDList);
end;
//****************** Aufrufe: Den Papierkorb öffnen Ende ***********************
//-0008

//+0009
//******************* Aufrufe: den Ordnerdialog oeffnen ************************
//uses Filectrl
procedure TForm1.Button9Click(Sender: TObject);
var
  Dir : String;
begin
  SelectDirectory('Select a directory','',Dir);
  ShowMessage('Dieser Pfad wurde ausgewählt: '+ #10#13 + (Dir));
end;
//****************** Aufrufe: den Ordnerdialog oeffnen Ende ********************
//-0009

//+0010
//************************* Aufrufe: Windows Neustart **************************
procedure TForm1.Button10Click(Sender: TObject);
begin
  exitwindowsex(EWX_Reboot,0);
end;
//********************** Aufrufe: Windows Neustart Ende ************************
//-0010

//+0011
//************************* Aufrufe: Windows Beenden ***************************
procedure TForm1.Button11Click(Sender: TObject);
begin
  exitwindowsex(EWX_Shutdown,0);
end;
//********************** Aufrufe: Windows Beenden Ende *************************
//-0011

//+0012
//*************** Aufrufe: IE - Explorer mit Adresse starten *******************
//uses ShellApi;
procedure TForm1.Button12Click(Sender: TObject);
begin
  ShellExecute( Application.Handle,'open',
  PChar('http://www.t-online.de/'),nil, nil,SW_NORMAL );
end;
//************ Aufrufe: IE - Explorer mit Adresse starten Ende *****************
//-0012

//+0013
//************* Aufrufe: Eine Datei in den Papierkorb schicken *****************
//uses ShellAPI;
procedure TForm1.Button13Click(Sender: TObject);
var
  Operation : TSHFileOpStructA;
  FileName  : Array [0..255] of Char; { null-terminierter String ! }
begin
  FileName := 'C:\Programme\Borland5\Delphi5\Dieter\Datenauslesen1\*.~pas';{zu loeschende Datei}
  with Operation do
  begin
    wnd   := Form1.Handle;
    wFunc := FO_Delete;
    pFrom := Pchar(@FileName);
    pto   := nil;
    If FileExists('C:\Programme\Borland5\Delphi5\Dieter\Datenauslesen1\*.~pas') Then
    fFlags := FOF_AllowUndo //Or FOF_NoConfirmation
  else
    MessageDlg('Die Datei (en) *.~pas    sind nicht vorhanden', mtInformation,[mbOk], 0);
  end;
   SHFileOperation(Operation);
end;
//*********** Aufrufe: Eine Datei in den Papierkorb schicken Ende **************
//-0013

//+0014
//************************ Aufrufe: E - Mail Prog. starten *********************
//uses ShellApi;
procedure TForm1.Button14Click(Sender: TObject);
begin
  ShellExecute(Application.Handle,'open',PChar('Mailto:' +
  'Willi_Wacker@t-online.de'),nil,nil,SW_ShowNormal);
                   // oder so ... geht es auch
 // ShellExecute(0, nil, PChar('mailto:' + ' Willi_Wacker@t-online.de '),
 // nil, nil, SW_NORMAL);
end;
//********************* Aufrufe: E - Mail Prog. starten Ende *******************
//-0014

//+0015
//************************ Aufrufe: CD - Auf / Zu ******************************
procedure TForm1.Button15Click(Sender: TObject);
begin
  mciSendstring(' Set Cdaudio door Open wait', nil, 0, Form1.handle);
{ Wenn mit der Ausführung des Programmes gewartet werden soll bis der
  Vorgang abgeschlossen ist, muss das zusätzlich WAIT in dem String einfügt sein. }
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
   mciSendstring(' Set Cdaudio door Closed wait', nil, 0, Form1.handle);
end;
//*********************** Aufrufe: CD - Auf / Zu Ende **************************
//-0015

//+0017
//****************** Aufrufe: Windows Beendendialog aufrufen *******************
procedure TForm1.Button17Click(Sender: TObject);
begin
  SendMessage(FindWindow('Progman', nil), WM_CLOSE, 0, 0);
end;
//*************** Aufrufe: Windows Beendendialog aufrufen Ende *****************
//-0017

//+0018
//*************** Aufrufe: Windows - Systemsteuerung aufrufen ******************
procedure TForm1.Button18Click(Sender: TObject);
begin
//Systemsteuerung('desk.cpl,,1');
  Systemsteuerung('sysdm.cpl,,1');
end;
{Weitere Namen für Applets sind:

appwiz.cpl     : Software installieren / deinstallieren
appwiz.cpl,,2  : Windows Setup
appwiz.cpl,,3  : Startdiskkette

desk.cpl       : Desktop-Eigenschaften, Grafik, Hintergrund
desk.cpl,,1    : Bildschirmschoner
desk.cpl,,2    : Darstellung
desk.cpl,,3    : Einstellungen

intl.cpl       : Ländereinstellungen
joy.cpl        : Joystick
main.cpl       : Mauseinstellungen
mmsys.cpl      : Systemklänge, Multimedia
modem.cpl      : Modem Eigenschaften
modem.cpl,,add : Assistent zum Einrichten eines neuen Modems aufrufen:

sysdm.cpl      : System
sysdm.cpl,,1   : Gerätemanager
sysdm.cpl,,2   : Hardwareprofil
sysdm.cpl,,3   : Leistungsmerkmale
sysdm.cpl @1   : Hardware Assistent

timedate.cpl   : Uhrzeit
telephon.cpl   : Telefoneigenschaften
inetcpl.cpl    : Eigenschaften vom Internetexplorer
POWERCFG.CPL   : Energiesparoptionen
NETCPL.CPL     : Netzwerkeinstellungen
PASSWORD.CPL   : Windows-Passwort
Access.cpl     : Accessibility Properties
Intl.cpl       : Eigenschaften von Ländereinstellung
Odbccp32.cpl   : 32 bit ODBC Daten Administrator
Themes.cpl     : Desktop Themes
Intl.cpl       : Eigenschaften Tastatur & Sprache }
//************** Aufrufe: Windows - Systemsteuerung aufrufen Ende **************
//-0018

//+0037
//************************ Aufrufe: Geräte - Manager öffnen ********************
procedure TForm1.Button37Click(Sender: TObject);
begin
  WinExec(PChar('rundll32.exe shell32.dll,Control_RunDLL '),SW_SHOWNORMAL);
end;
//********************** Aufrufe: Geräte - Manager öffnen Ende *****************
//-0037

//+0019
//******************* Aufrufe: Das Startmenue öffnen & schliessen **************
procedure TForm1.Button19Click(Sender: TObject);
begin
  Tasklist := Not Tasklist;
  If Tasklist Then          //wenn Tasklist True, dann Tasklist zeigen
  Begin
    SendMessage(Handle, WM_SysCommand, SC_Tasklist,0 );
    Button19.Caption := 'Startmenü verstecken';
  End
 Else                    //anderenfalls Tasklist False, dann Tasklist verstecken
  Begin
    SendMessage(Handle, WM_SysCommand, SC_RESTORE,0 );
    Button19.Caption := 'Startmenü zeigen';
  End;
end;
//************** Aufrufe: Das Startmenue öffnen & schliessen Ende **************
//-0019

//+0020
//*********************** Aufrufe: Cookies suchen ******************************
//uses wininet
procedure TForm1.Button20Click(Sender: TObject);
var
  icei     : PINTERNETCACHEENTRYINFO;
  dwSize   : DWord;
  hSearch  : DWord;
begin
  ListBox5.Items.BeginUpdate;
  ListBox5.Items.Clear;
  dwSize  := 65536;
  icei    := AllocMem(dwSize);
  try
    hSearch := FindFirstURLCacheEntry('cookie:',icei^,dwSize);
    if hSearch = 0 then
    begin
      ShowMessage(SysErrorMessage(GetLastError){+' '+IntToStr(dwSize)});
      exit;
    end;
  while hSearch <> 0 do
    begin
      Application.ProcessMessages;
      ListBox5.Items.Add(icei^.lpszSourceUrlName);
      dwSize := 65536;
      if not FindNextURLCacheEntry(hSearch,icei^,dwSize) then
      begin
        hSearch := 0;
      end;
    end;
  finally
    FreeMem(icei,65536);
    ListBox5.Items.EndUpdate;
  end;
end;

//Cookies löschen
procedure TForm1.Button21Click(Sender: TObject);
var
  i : integer;
begin
  for i := 0 to ListBox5.Items.Count-1 do
  begin
    if ListBox5.selected[i] then
    begin
      DeleteURLCacheEntry(PChar(ListBox5.Items[i]));
    end;
  end;
  Button20Click(Self); //Listbox neu einlesen
end;
//********************** Aufrufe: Cookies Ende *********************************
//-0020

//+HzRate
//************************* Grafik: Monitor Frequenz ***************************
//private
//function GetDisplayFrequency : Integer; //muss eingetragen werden.

function TForm1.GetDisplayFrequency: Integer;
const
  ENUM_CURRENT_SETTINGS  = DWORD(-1);
var
  DeviceMode: TDeviceMode;
begin
  if EnumDisplaySettings(nil, ENUM_CURRENT_SETTINGS, DeviceMode) then
    result := DeviceMode.dmDisplayFrequency
  else
    result := -1;
end;
//******************** Grafik: Monitor Frequenz Ende ***************************
//-HzRate

//+0024
//******************** Grafik: Monitor Auflösung & Frequenz ********************
//private
//function GetDisplayFrequency : Integer; //muss eingetragen werden.

procedure TForm1.Button24Click(Sender: TObject);
//Button24Click(self) ruft sich in Form1.create selbst auf.
//Anzeige im Inspektor auf False gesetzt.
var
  DC: THandle;         // display context
  Bits: integer;       // bits per pixel
  HRes: integer;       // horizontal resolution
  VRes: integer;       // vertical resolution
  DM: TDevMode;        // to Save EnumDisplaySettings
  ModeNum: longint;    // video mode number
  Ok: Bool;
begin
  ListBox6.clear;
  DC   := GetDC(Handle);
  Bits := GetDeviceCaps(DC, BITSPIXEL);
  HRes := GetDeviceCaps(DC, HORZRES);
  VRes := GetDeviceCaps(DC, VERTRES);
  Edit1.Text := Format('akt. Auflösung: %d bit, %d x %d ', [Bits, HRes,VRes])+
  ' '+ IntToStr(GetDisplayFrequency)+' Hz';
  ReleaseDC(Handle, DC); // Show all modes available
  ModeNum := 0;          // The 1st one
//  Ok := True;
  Repeat
    Ok := EnumDisplaySettings(nil, ModeNum, DM);
    If OK Then ListBox6.Items.Add(Format('%d bit, %d x %d ', [DM.dmBitsPerPel,
      DM.dmPelsWidth, DM.dmPelsHeight, Dm.dmDisplayFrequency]));
    Inc(ModeNum); // Get next one
  Until Not OK;
end;
//***************** Grafik: Monitor Auflösung & Frequenz Ende ******************
//-0024

//+0022
//****************** Aufrufe: Dokumentenliste löschen **************************
procedure TForm1.Button22Click(Sender: TObject);
begin
  SHAddToRecentDocs(SHARD_PATH, NIL);
  ShowMessage(SysErrorMessage(GetLastError));
end;
//****************** Aufrufe: Dokumentenliste löschen Ende *********************
//-0022

//+0023
//***************** Aufrufe: Verknüpfung auf dem Desktop anlegen ***************
procedure TForm1.Button23Click(Sender: TObject);
begin
  if CreateLink('c:\windows\calc.exe',               //Ziel
                'c:\windows\desktop\Calculator.lnk', //Beschriftung unter Icon
                'Windows Taschenrechner',            //
                'c:\windows\desktop') = True         //Ort
 then
   ShowMessage('     Eine Verknüpfung zu Calculator.exe ' + #10#13 +
   'wurde auf dem Desktop erfolgreich erstellt.')
 else
   ShowMessage('Es ist ein Fehler aufgetreten!');
end;
//************ Aufrufe: Verknüpfung auf dem Desktop anlegen Ende ***************
//-0023

//**************** Zeitverzögerung mittels Delay - Anweisung *******************
procedure delay(msec : longint);
var
  start,stop : longint;
begin
  start := gettickcount;
  repeat
    stop  := gettickcount;
    application.processmessages;
  until (stop - start) >= msec;
end;
//************** Zeitverzögerung mittels Delay - Anweisung Ende ****************

//+0025
//************************* Aufrufe1 Gag - Button25 ****************************
procedure TForm1.Button25Click(Sender: TObject);
Var
  a,b,c,d : Integer;
begin
   a := 5;
   b := 7;
   c := a+b;       //12
   d := a*b;       //35
   Label121.caption:= 'Ich tu dann mal rechnen tun ';
   delay(1500);
   Label121.caption:= 'Ich glaub ich tu´s haben ';
   delay(1500);
   Label121.caption:= 'so nun tu mal was tun mit dem Ergebnis: = ' + IntToStr(c - d);// -23
end;
//************************** Aufrufe1 Gag - Button25 Ende **********************
//-0025

//+0086
//****************** Sonstiges1 Namen der laufenden Applikationen **************
//Namen der laufenden Applikationen
procedure TForm1.Button86Click(Sender: TObject);//siehe Zeile 910
var
  cName : Array[0..63] of Char;
  Handle: THandle;
  ScrollWidth : Integer;//für zusätzlichen Sgrollbalken in Aufrufe1 - Listbox7
begin
  ListBox12.Items.Clear;
  ScrollWidth:= 1000;     //für zusätzlichen Sgrollbalken in Aufrufe1 - Listbox7
  ListBox12.Sorted := True;
  Handle := Self.Handle;
  GetClassName(Self.Handle, cName, 64);
  ListBox12.Items.Add (StrPas(cName) + ' ('+IntToStr(Handle)+')');
  While Handle > 0 do
  begin
    Handle := GetNextWindow(Handle, GW_HWNDNEXT);
    GetClassName(Handle, cName, 64);
    ListBox12.Items.Add (StrPas(cName) + ' ('+IntToStr(Handle)+')');
    SendMessage(ListBox12.Handle, LB_SETHORIZONTALEXTENT, //Sgrollbalken Listbox12
    ScrollWidth, LongInt(0));                            //Sgrollbalken Listbox12
    Label128.Caption := IntToStr(ListBox12.Items.Count)+ ' laufenden Applikationen ';
  end;
end;
//**************** Sonstiges1 Namen der laufenden Applikationen Ende ***********
//-0086

//+0027
//*********************** Fonts Zeit rückwärts laufen lassen *******************
procedure Meldung;
begin
{ Messagebox(0, 'Der Computer hat keinen Bock mehr! ',' ', MB_OK or MB_ICONINFORMATION);}
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  dec(Zeitr);
  case Zeitr of
    10 : Meldung; //bei 10 Sek bringe Meldung
     0 : Timer2.Enabled := False;
  end;
  Label58.Caption := Format('Zeit rückwärts:  ''%0.2d:%0.2d:%0.2d',
  [Zeitr div 3600,Zeitr div 60,Zeitr mod 60]);
end;
//******************** Fonts Zeit rückwärts laufen lassen Ende *****************

//*********************** Fonts Zeit vorwärts laufen lassen ********************
procedure Meldung1;
begin
{ Messagebox(0, 'Der User hat keinen Bock mehr! ',' ', MB_OK or MB_ICONINFORMATION);}
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
  inc(Zeitv);
  case Zeitv of
    10 : Meldung1; //nach 10 Sek bringe Meldung1
    20 : Timer3.Enabled := False;
  end;
  Label57.Caption := Format('Zeit vorwärts:    ''%0.2d:%0.2d:%0.2d',
  [Zeitv div 3600,Zeitv div 60,Zeitv mod 60]);
end;

//Zeit neu starten
procedure TForm1.Button27Click(Sender: TObject);
begin
  Zeitv := 0;  //auf 0-Sek.zurücksetzten für vorwärts laufende Zeit in Label57
  Timer2.Enabled := True;
  Zeitr := 20; //auf 20-Sek.zurücksetzten für rückwärts laufende Zeit in Label58
  Timer3.Enabled := True;
end;
//********************* Fonts: Zeit vorwärts laufen lassen Ende ****************
//-0027

//+ListBox1
//******************** Fonts: Schriftprobe in Memofeld anzeigen ****************

//Die Farbe des Markierungsrahmen einer Listbox ändern
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListbox) do
  begin
    if odSelected in State then //Prüft, ob ein Item markiert ist
      Canvas.Brush.Color := clRed; //Canvas-Hintergrundfarbe auf Rot setzen
    Canvas.FillRect(Rect); //schön ausmalen
    Canvas.TextOut(Rect.Left, Rect.Top, Items[Index]); //Text drüberpinseln
  end;
end;
//Die Farbe des Markierungsrahmen einer Listbox ändern

procedure TForm1.ListBox1Click(Sender: TObject);
var
  I : Integer;
begin
  for i := 0 to (ListBox1.Items.Count - 1) do
  begin
    if ListBox1.Selected[i] then
    begin
      Memo1.Font.Name := Listbox1.Items[i];
      Memo1.Font.Size := 12;
    End;
  end;
end;
//***************** Font: Schriftprobe in Memofeld anzeigen Ende ***************
//-ListBox1

//************************ Font: Testfeld für Mausknöpfe ***********************
procedure TForm1.TestfeldMouseDown(Sender: TObject; Button: TMouseButton;
                                   Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbleft then showmessage('Es wurde die linke Maustaste gedrückt');
  if Button = mbmiddle then showmessage('Es wurde die mittlere Maustaste gedrückt');
  if Button = mbright then showmessage('Es wurde die rechte Maustaste gedrückt');
end;
//********************** Font: Testfeld für Mausknöpfe Ende ********************

//+BitBtn1
//******************* Aufrufe1: Taskbar verbergen - hervorholen ****************
procedure TaskBar (show: Boolean);
var
  sw : Cardinal;
begin
  if show = true then
  sw := SW_SHOW
  else
  sw := SW_HIDE;
  ShowWindow(FindWindow('Shell_TrayWnd', nil), sw);
  Application.ProcessMessages;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  TaskBar(false);//Taskbar verstecken
  Delay(5000);  //nach 5 Sek.
  TaskBar(true);//Taskbar zeigen - wird auch in Zeile 2386 FormClose ausgelöst
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
//Taskbar hervorholen
  TaskBar(true);
end;
//**************** Aufrufe1: Taskbar verbergen - hervorholen Ende **************
//-BitBtn1

//+0035
//******************* Netzwerk: Alle Netzwerkrechner auflisten *****************
procedure EnumNetResources(List: TStrings);
procedure EnumFunc(NetResource: PNetResource);
var
  Enum : THandle;
  Count, BufferSize : DWORD;
  Buffer : array[0..16384 div SizeOf(TNetResource)] of TNetResource;
  i : Integer;
begin
  if WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, NetResource,
  Enum) = NO_ERROR then
  try
    Count      := $FFFFFFFF;
    BufferSize := SizeOf(Buffer);
    while WNetEnumResource(Enum, Count, @Buffer, BufferSize) = NO_ERROR do
    for i := 0 to Count - 1 do
    begin
      if Buffer[i].dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
      List.Add(Buffer[i].lpRemoteName);
      if (Buffer[i].dwUsage and RESOURCEUSAGE_CONTAINER) > 0 then
      EnumFunc(@Buffer[i])
    end;
  finally
  WNetCloseEnum(Enum);
  end;
end;
begin
  EnumFunc(nil);
end;

procedure TForm1.Button35Click(Sender: TObject);
begin
  ListBox8.Clear;
  Screen.Cursor := crHourGlass;
  ListBox8.Font.Size := 10;
  EnumNetResources(ListBox8.Items);
   Screen.Cursor := crDefault;
end;
//*************** Netzwerk: Alle Netzwerkrechner auflisten Ende ****************
//-0035

//+0123
//***************** Netzwerk: Einen Link zur Webseite erstellen ****************
//uses ShellApi;
procedure TForm1.Label123Click(Sender: TObject);
begin
  ShellExecute(Application.Handle,'open',PChar(Label123.Caption),nil,nil,SW_ShowNormal);
end;
//*************** Netzwerk: Einen Link zur Webseite erstellen Ende *************
//-0123

//+B173
//*************** Netzwerk: die installierten Mail-Clients ermitteln ***********
//uses
//   Registry;
function GetInstalledMailClients(AList: TStrings): Boolean;
const
  RegClientsRoot = '\SOFTWARE\Clients';
  RegClientsMail = '\Mail';
  RegClientsOpenCmd = '\shell\open\command';
var
  reg: TRegistry;
begin
  Result := True;
  try
    AList.Clear;
  //  reg := nil;
    reg := TRegistry.Create;
    try
      with reg do
      begin
        CloseKey;
        RootKey := HKEY_LOCAL_MACHINE;
        if OpenKeyReadOnly(RegClientsroot + RegClientsMail) then
        if HasSubKeys then GetKeyNames(AList);
      end;
    finally
      if Assigned(reg) then reg.Free;
    end;
  except
    Result := False;
  end;
end;

procedure TForm1.Button173Click(Sender: TObject);
begin
  GetInstalledMailClients(ListBox16.Items);
end;
//********** Netzwerk: die installierten Mail-Clients ermitteln Ende ***********
//-B173

//+B175
//********** Netzwerk: den Url History Dialog anzeigen *************************
procedure TForm1.Button175Click(Sender: TObject);
 var
  i: TBrowseInfo;
  d: array[0..MAX_PATH] of char;
  s, HistPidl: PItemIdlist;
begin
  ShGetSpecialFolderLocation(handle, CSIDL_HISTORY, HistPidl);
  with i do  begin
    hwndOwner := Handle;
    PidlRoot := HistPidl;
    pszDisplayName := d;
    lpszTitle := Pchar('Internet Explorer - History');
    ulFlags := BIF_BrowseIncludeFiles;
    lpfn := nil;
    lParam := uint(self);
  end;
  s := shbrowseforfolder(i);
end;
//********** Netzwerk: den Url History Dialog anzeigen *************************
//-B175

//+B174
//********** Netzwerk: Datei aus dem WWW runterladen ***************************
//Uses Urlmon;
procedure TForm1.Button174Click(Sender: TObject);
begin
  URLDownloadToFile(nil,'http://home.t-online.de/home/dieter_buettner/wiegehtwas.zip',
                    'c:\windows\desktop\wiegehtwas.zip',0, nil);
end;
//********** Netzwerk: Datei aus dem WWW runterladen Ende **********************
//-B174

//+0030
//**************************** Aufrufe: FormatDialog ***************************
//uses ShellApi;
procedure TForm1.Button30Click(Sender: TObject);
begin
  ShellExecute(Application.Handle,Pchar('Open'),Pchar('C:\Windows\Rundll32.exe'),
  Pchar('Shell32.dll,SHFormatDrive'),Pchar('C:\Windows'), SW_SHOWNORMAL);
end;
//************************** Aufrufe: FormatDialog Ende ************************
//-0030

//+0031
//*********************** Aufrufe: Alle Fenster MINIMIZE ***********************
procedure TForm1.Button31Click(Sender: TObject);
var
  h : HWnd;
begin
  h := handle;
  while h > 0 do
  begin
    if isWindowVisible(h) then
    postmessage(h,WM_SYSCOMMAND,SC_MINIMIZE,0);//oder SC_CLOSE
    h := getnextwindow(h,GW_HWNDNEXT);
  end;
end;
//******************** Aufrufe: Alle Fenster MINIMIZE Ende *********************
//-0031

//+0040
//*********************** Aufrufe: Alle Fenster schließen **********************
procedure TForm1.Button40Click(Sender: TObject);
var
  h : HWnd;
begin
  h := handle;
  while h > 0 do
  begin
    if isWindowVisible(h) then
    postmessage(h,WM_SYSCOMMAND,SC_CLOSE,0);//oder SC_MINIMIZE
    h := getnextwindow(h,GW_HWNDNEXT);
  end;
end;
//******************** Aufrufe: Alle Fenster schließen Ende ********************
//-0040

//+0032
//******************** Aufrufe: Diskcopydialog aufrufen ************************
procedure TForm1.Button32Click(Sender: TObject);
begin
  WinExec(PChar('rundll32.exe diskcopy.dll,DiskCopyRunDll'),SW_SHOWNORMAL);
end;
//***************** Aufrufe: Diskcopydialog aufrufen Ende **********************
//-0032

//+0033
//****************** Aufrufe: Öffnen mit Dialog aufrufen ***********************
//uses ShellApi;
procedure OpenWith(FileName: String);
begin
  ShellExecute(Application.Handle, 'open', PChar('rundll32.exe'),
               PChar('shell32.dll,OpenAs_RunDLL ' + FileName), nil, SW_SHOWNORMAL);
end;

procedure TForm1.Button33Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  begin
    OpenWith(Opendialog1.FileName);
  end;
end;
//*************** Aufrufe: Öffnen mit Dialog aufrufen Ende *********************
//-0033

//+0038
//******************** Aufrufe: Ausführen - Dialog aufrufen ********************
function SHRunDialog
        (Owner,IconHandle,Unknow : longint;Title,Prompt : Pchar;Flags : longint):longint;
        stdcall;external 'Shell32.dll' INDEX 61;

procedure ausfuehren( AnzeigeLetzterBefehl, modal : boolean; icon : Hicon );
var
  flg,own : longint;
begin
  if modal then own := application.handle else own := 0;
  if AnzeigeLetzterBefehl then
  flg := 0
  else
  flg := 2;
  shrundialog(own,icon,0,'... Ausführen ...',' ' +
  'Geben Sie den Namen eines Programms, Ordners,'+ #13#10 +
  ' Dokuments oder einer Internetressource an.',flg);
end;

//Aufruf - Beispiel:
procedure TForm1.Button38Click(Sender: TObject);
begin
  ausfuehren(true,true,application.icon.handle);
end;
//***************** Aufrufe: Ausführen - Dialog aufrufen Ende ******************
//-0038

//+0039
//****************** Aufrufe: Den Bildschirmschoner starten ********************
procedure TForm1.Button39Click(Sender: TObject);
begin
  SendMessage(handle, wm_syscommand, SC_SCREENSAVE, 0);
end;
//*************** Aufrufe: Den Bildschirmschoner starten Ende ******************
//-0039

//+0036
//*************** Drucker: neuen Drucker hinzufügen ****************************
procedure TForm1.Button36Click(Sender: TObject);
begin
//  With printer do
  WinExec(PChar('rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter'),SW_SHOWNORMAL);
end;
//*************** Drucker: neuen Drucker hinzufügen Ende ***********************
//-0036

//+0046
//********************** Drucker: Testseite drucken ****************************
//uses ShellApi;
procedure TForm1.Button46Click(Sender: TObject);
begin
  ShellExecute(handle, 'print', 'C:\Autoexec.bat', Nil, Nil, SW_SHOWNORMAL);
 // With printer do
 // WinExec(PChar('rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintTestPage'),SW_SHOWNORMAL);
end;        //geht aber nicht
//******************** Drucker: Testseite drucken Ende *************************
//-0046

//********************* Form1 aus Speicher entfernen ***************************
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  TaskBar(true); //Taskbar hervorholen falls versteckt und Prog. beendet wurde
  Action := caFree;//Der Parameter Action bestimmt,ob das Formular tatsächlich
                   //geschlossen wird.
          //caFree: Das Formular wird geschlossen und sein Speicher freigegeben.
// Form1.Release;
//Release entfernt das Formular und gibt den von ihm belegten Speicher frei
end;
//****************** Form1 aus Speicher entfernen Ende *************************

//+0041
//****************** Aufrufe: LPT + COM AnschlussConfig ************************
procedure AnschlussConfig(h : Thandle; s : string);
begin
  if not ConfigurePort(nil, h, pchar(s)) then
  showmessage('Einstellung wurde nicht vorgenommen');
end;

procedure TForm1.Button41Click(Sender: TObject);
begin
  AnschlussConfig(handle,'COM1:');
end;

procedure TForm1.Button42Click(Sender: TObject);
begin
  AnschlussConfig(handle,'COM2:');
end;

procedure TForm1.Button43Click(Sender: TObject);
begin
  AnschlussConfig(handle,'LPT1:');
end;

procedure TForm1.Button44Click(Sender: TObject);
begin
  AnschlussConfig(handle,'Lpt2:');
end;
//**************** Aufrufe: LPT + COM AnschlussConfig Ende *********************
//-0041

//+0045
//************* Aufrufe: Desktop - Icons Verstecken - Zeigen *******************
procedure DeskIconsShow(Icons : boolean);
begin
  showwindow(findwindow('Progman','Program Manager'),sw_show * ord(Icons));
end;

procedure TForm1.Button45Click(Sender: TObject);
begin
  IconZeigen := Not IconZeigen;
  If IconZeigen Then
  Begin
    DeskIconsShow(false);// Icons ausblenden
    Button45.Caption := 'Desktopicon zeigen';
  End
 Else
  Begin
    DeskIconsShow(true); // Icons einblenden
    Button45.Caption := 'Desktopicon verst.';
  End;
end;
//********** Aufrufe: Desktop - Icons Verstecken - Zeigen Ende *****************
//-0045

//+0028
//************** Aufrufe1: CD - Lw. E:\ öffnen - schließen *********************
function geoeffnet(lw : char): boolean;
var
  f : integer;
begin
  MCISendString(pchar('open '+ lw +': type cdaudio alias geraet'), nil, 0, 0);
  f := MCISendString('set geraet door open wait',nil, 0, 0);
  MCISendString('close geraet', nil, 0, 0);
  result := f = 0;
end;

function geschlossen(lw : char): boolean;
var
  f : integer;
begin
  MCISendString(pchar('open '+ lw +': type cdaudio alias geraet'), nil, 0, 0);
  f := MCISendString('set geraet door closed wait', nil, 0, 0);
  MCISendString('close geraet', nil, 0, 0);
  result := f = 0;
end;

procedure TForm1.Button28Click(Sender : TObject);
begin
  if not geoeffnet('E') then showmessage('Fehler');
end;

procedure TForm1.Button29Click(Sender: TObject);
begin
  if not geschlossen('E') then showmessage('Fehler');
end;
//************ Aufrufe1: CD - Lw. E:\ öffne - schließen Ende *******************
//-0028

//+0047
//************ Aufrufe1: Einen beliebigen Ordner öffnen ************************
//uses ShellApi;
procedure TForm1.Button47Click(Sender: TObject);
begin
  ShellExecute(handle, 'open', 'C:\Windows', Nil, Nil, SW_SHOWNORMAL);
end;
//************ Aufrufe1: Einen beliebigen Ordner öffnen Ende *******************
//-0047

//+0048
//***************** Aufrufe1: SysKeyMenue öffnen - schließen *******************
procedure TForm1.Button48Click(Sender: TObject);
begin
  SysKeyMenue := Not SysKeyMenue;
  If SysKeyMenue Then           //wenn SysKeyMenue True, dann SysKeyMenue zeigen
  Begin
    PostMessage(Handle, WM_SysCommand, SC_Keymenu,0 );
    PostMessage(Handle,wm_KeyDown,vk_Return, 0);
    Button48.Caption := 'Syskeymenü Cl.';
  End
 Else              //anderenfalls SysKeyMenue False, dann SysKeyMenue verstecken
  Begin
    PostMessage(Handle, WM_SysCommand, SC_RESTORE,0 );
 // PostMessage(Handle,wm_KeyDown,vk_Return, 0);
    Button48.Caption := 'Syskeymenü Op.';
  End;
end;
//*************** Aufrufe1: SysKeyMenue öffnen - schließen Ende ****************
//-0048

//+0049
//******** Aufrufe1: Eigenschaften Dialog einer Datei öffnen *******************
function fileproperties(filename: string): boolean;
var
   S : TShellExecuteInfo;
begin
  ZeroMemory(@S, SizeOf(S));
  with S do
  begin
    cbSize := SizeOf(S);
    lpFile := PChar(filename);
    lpVerb := 'properties';
    fMask  := SEE_MASK_INVOKEIDLIST;
  end;
  result:= ShellExecuteEx(@S);
end;

procedure TForm1.Button49Click(Sender: TObject);
begin
  fileproperties('C:\');//für einen Ordner     fileproperties('C:\Programme');
end;

procedure TForm1.Button50Click(Sender: TObject);
begin
  fileproperties('C:\Autoexec.bat');//für eine Datei
end;
//******** Aufrufe1: Eigenschaften Dialog einer Datei öffnen Ende **************
//-0049

//+0051
//************* Aufrufe1: Eine Message automatisch schliessen ******************
procedure TForm1.Button51Click(Sender : TObject);
begin
  Timer5.Enabled := True;
  MessageDlg('Dieser Dialog wird nach 3 Sek. automatisch geschlossen.',
              mtInformation,[mbOk],0);
end;

procedure TForm1.Timer5Timer(Sender : TObject);
begin
  Timer5.Enabled := False;
  PostMessage(FindWindow(PChar('TMessageForm'), nil), WM_CLOSE, 0, 0);
end;
//*********** Aufrufe1: Eine Message automatisch schliessen Ende ***************
//-0051

//+0052
//*********** Aufrufe1: Eigenschaften Dialog aufrufen & Datei wählen ***********
//uses ShellApi
procedure PropertiesDialog(FileName: string);
var
  sei: TShellExecuteInfo;
begin
  FillChar(sei, SizeOf(sei), 0);
  sei.cbSize := SizeOf(sei);
  sei.lpFile := PChar(FileName);
  sei.lpVerb := 'properties';
  sei.fMask  := SEE_MASK_INVOKEIDLIST;
  ShellExecuteEx(@sei);
end;

procedure TForm1.Button52Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  PropertiesDialog(Opendialog1.FileName);
end;
//******** Aufrufe1: Eigenschaften Dialog aufrufen & Datei wählen Ende *********
//-0052

//+0053
//******** Aufrufe1: einen neuen Ordner im Startmenue hinzufügen ***************
procedure FreePidl1(pidl1 : PItemIDList);
var
  allocator : IMalloc;
begin
  if Succeeded(SHGetMalloc(allocator)) then
  begin
    allocator.Free(pidl1);
    {$IFDEF VER100}
    allocator.Release;
    {$ENDIF}
  end;
end;

function CreateFolder(aFolderName : string; aLocation :Integer): Boolean;
var
  pIdl1 : PItemIDList;
  hPath : PChar;
begin
  Result := False;
  if SUCCEEDED(SHGetSpecialFolderLocation(0, aLocation,pidl1)) then
  begin
    hPath := StrAlloc(MAX_PATH);
    SHGetPathFromIDList(pIdl1, hPath);
    SetLastError(0);
    CreateDirectory(PChar(hPath + '\\' + aFolderName),nil);
    if (GetLastError = 0) or (GetLastError = ERROR_ALREADY_EXISTS) then
    Result := True;
    FreePIDL1(pIdl1);
    StrDispose(hPath);
  end;
end;

procedure TForm1.Button53Click(Sender: TObject);
begin
  CreateFolder('MyProgramgroup', CSIDL_Programs);//Name des Ordners & wo er angelegt wird
  MessageDlg('Der Ordner MyProgramgroup wurde angelegt.', mtInformation,[mbOk],0);
end;
//****** Aufrufe1: einen neuen Ordner im Startmenue hinzufügen Ende ************
//-0053

//+0074
//************************** Einen Ordner öffnen *******************************
//Uses ShlObj, ShellApi;
procedure ShowSpecialFolder(const AFolder: Integer);
var
  ItemIDList : PItemIDList;
  ShExInfo   : ShellExecuteInfo;
begin
  ShGetSpecialFolderLocation(Application.Handle,AFolder, ItemIDList);
  FillChar(ShExInfo,SizeOf(ShExInfo),0);
  with ShExInfo do
  begin
    cbSize:=SizeOf(ShExInfo);
    nShow:=sw_Show;
    fMask:=see_Mask_IDList;
    lpIDList:=ItemIDList;
  end;
  ShellExecuteEx(@ShExInfo);
end;
{Als Parameter muss die Konstante für den Ordner übergeben werden.
Diese könnten z.B. so aussehen:
Autostart-Gruppe                   : CSIDL_Startup
Startmenü                          : CSIDL_Startmenu
Programs-Menü                      : CSIDL_Programs
Persönliche Favoriten              : CSIDL_Favorites
Send an Verzeichnis                : CSIDL_Sendto
Systemsteuerung                    : CSIDL_CONTROLS
Desktop                            : CSIDL_DESKTOP
Arbeitsplatz mit allen Laufwerken  : CSIDL_DRIVES
Netzwerkumgebung                   : CSIDL_NETWORK
Eigene Dateien                     : CSIDL_PERSONAL
Drucker                            : CSIDL_Printers
Arbeitsplatz                       : CSIDL_Drives }

procedure TForm1.Button74Click(Sender: TObject);
begin
  ShowSpecialFolder(CSIDL_Printers);
end;

//************************** Einen Ordner öffnen Ende **************************
//-0074

//+B180
//************* Drucker: Einen text schreiben & drucken ************************
//uses Printers;
procedure PrintText(Text: string);
begin
  with Printer do
  Begin
    beginDoc;
      Canvas.Font.Name := 'Geranand';        //Name bezeichnet die Schriftart.
      Canvas.Font.Size := 14;                //Size = Punktgröße der Schrift
    //canvas.Font.Height := 60;              //Height = Höhe der Schrift in Pixel
      Canvas.Font.Style := [fsBold,fsItalic];//fsBold-fsItalic = fett & kursiv
      Canvas.TextOut(155, 155, Text);        //wo auf dem Blatt - X - Y - Text
    endDoc;
  End;
end;
        
//Aufruf - Beispiel
procedure TForm1.Button180Click(Sender: TObject);
var
  Ps : String;
begin
  If Edit6.Text = '' Then
  Begin
    MessageDlg('Und was ist mit Text??? ' + ^J^J +
    'Bitte einen Text eingeben ...',mtInformation,[mbOK],0)
  end
 else
  Begin
      Ps := Edit6.Text;
      PrintText(Ps);
  end;
end;
//************* Drucker: Einen text schreiben & drucken Ende *******************
//-B180

//+B183
//************* Drucker: eine Datei über den Drucker Port ausdrucken ***********
procedure TForm1.Button183Click(Sender: TObject);
var
  port,
  prnfile : file;
  F       : textfile;      //nur für Seitenvorschub
  buffer  : array [1..128] of Char;
  Read    : Integer;
begin
  if OpenDialog1.Execute then          { Dialog zum Dateiöffnen anzeigen }
  begin
    OpenDialog1.Filter := 'Pascal-Dateien (*.pas)|*.PAS' +
                    '|Textdateien (*.txt)|*.TXT' + '|Ini-Dateien (*.ini)|*.INI';
    AssignFile(prnfile, OpenDialog1.FileName);
    //AssignFile(prnfile, '.\wiegehtwas.ini');
    If MessageDlg('Ist der Drucker eingeschaltet?', mtConfirmation,
    [mbYes, mbNo], 0) = mrNo then
    Exit
    else
    Reset(prnfile, 1);
    //printer port zuweisen
    AssignFile(port, 'LPT1');
    Rewrite(port, 1); //öffnen
    repeat
      BlockRead(prnfile, buffer, SizeOf(buffer), Read);
      BlockWrite(port, buffer, Read);
      // Application.ProcessMessages;
    until EOF(prnfile) or (Read <> SizeOf(buffer));
    CloseFile(prnfile);
    CloseFile(port);
    AssignFile(F,'LPT1');//ein bischen durch die Kniescheibe aber geht!!
    Rewrite(F);
    Writeln(F,#12);      //damit Seite ausgeschoben wird
    Closefile(F);        
   end;                      
end;
//************* Drucker: eine Datei über den Drucker Port ausdrucken ***********
//-B183

//+0054
//****** Aufrufe1: einen MassageDialog in Farbe einrichten *********************
procedure TForm1.Button54Click(Sender: TObject);
var
  f : TForm;
begin  // Den MessageDialog erstellen
  f := CreateMessageDialog('ShowMessage in Farbe',mtInformation,[mbOK{,mbCancel}]);
  f.Caption := 'Dies ist ein Test';//Titeltext
  f.Color := clTeal;               // färbt die Form ein.
  f.Font.Color := clBlack;         // Färbt die Schrift
  f.Font.size := 10;               // Schriftgroesse
  f.ShowModal;                     //MassageDialog zeigen
  //If f.ShowModal = mrOK then       // Zeigt die Form an und wartet auf ModalResult.
  //ShowMessage('OK wurde gedrückt')
 //else
 // ShowMessage('Abbrechen wurde gedrückt');
end;
//****** Aufrufe1: einen MassageDialog in Farbe einrichten Ende ****************
//-0054

//+0055
//***************** Aufrufe1: Ein fremdes Programm starten *********************
//uses ShellApi;
procedure TForm1.Button55Click(Sender: TObject);
begin
//ShellExecute(Application.Handle,'open','MeinProgramm.exe,nil,'C:\MeinPfad',sw_ShowNormal);
//oder
  WinExec('C:\Windows\Calc.exe', 0);
end;
//***************** Aufrufe1: Ein fremdes Programm starten Ende ****************
//-0055

//+0056
//*************** Aufrufe1: Den Laufwerksnamen in LW_C1 ändern *****************
procedure TForm1.Button56Click(Sender: TObject);
begin
  SetVolumeLabel(PChar('C:\'), PChar('LW_C1'));
  Delay(1000);
  ShowMessage(' Laufwerksname wurde in ( LW_C1 ) geändert ... ')
end;
//*************** Aufrufe1: Den Laufwerksnamen in LW_C1 ändern Ende ************
//-0056

//+0057
//***************** Aufrufe1: Die Maus - Cursorposition setzen *****************
procedure TForm1.Button57Click(Sender: TObject);
Const
     X = 400;
     Y = 300;
begin  //Der Mauszeiger wird auf 400 von links & 300 von oben gesetzt.
  SetCursorPos(X,Y);
//  SetCursorPos(400,300);  //geht genauso
end;
//***************** Aufrufe1: Die Maus - Cursorposition setzen Ende ************
//-0057

//+0058
//***************** Aufrufe1: eine Dateigrösse bestimmen ***********************
function Get_File_Size(sFileToExamine: string;bInKBytes: Boolean): string;
var
  SearchRec: TSearchRec;
  sgPath: string;
  inRetval, I1: Integer;
begin
  sgPath := ExpandFileName(sFileToExamine);
  try
    inRetval := FindFirst(ExpandFileName(sFileToExamine), faAnyFile,SearchRec);
    if inRetval = 0 then
      I1 := SearchRec.Size
    else
      I1 := -1;
  finally
    SysUtils.FindClose(SearchRec);
  end;
  Result := IntToStr(I1);
end;

procedure TForm1.Button58Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  Button58.Caption := ' '+ Get_File_Size(Opendialog1.FileName, True)+' Byte';
  Delay(2000);
  Button58.Caption := ' Dateigrösse ';
end;
//*************** Aufrufe1: eine Dateigrösse bestimmen Ende ********************
//-0058

//+0059
//************ Aufrufe1: eine leere Datei auf dem Desktop anlegen **************
procedure TForm1.Button59Click(Sender: TObject);
var
  hFile: THandle;
begin
  hFile :=
  CreateFile('C:\Windows\Desktop\MyFile.txt',0,0,Nil,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0);
 case hFile of
  INVALID_HANDLE_VALUE: MessageBox(0,'MyFile.txt gibt es schon ...',' Hinweis ...',MB_OK);
end;
 CloseHandle(hFile);
end;
//********* Aufrufe1: eine leere Datei auf dem Desktop anlegen Ende ************
//-0059

//+0060
//***** Aufrufe1: Messen wie lange es dauert einen Befehl auszuführen **********
//uses ShellApi;
procedure TForm1.Button60Click(Sender: TObject);
var
  Zeit: DWORD;
begin
  Zeit:=GetTickCount;
  ShellExecute(0, 'find', 'c:\', nil, nil, SW_SHOWNORMAL); //Suchendialog
  //Hier kommen die Befehle rein, von denen die Zeit gemessen soll.
  Button60.Caption := IntToStr(GetTickCount-Zeit) + ' ms';
  Delay(5000);
  Button60.Caption := 'Zeit messen';
end;
//***** Aufrufe1: Messen wie lange es dauert einen Befehl auszuführen Ende *****
//-0060

//+0072
//******** Sonstiges1: Applets aus Listbox wählen und starten ******************
procedure TForm1.ListBox9DblClick(Sender: TObject);
begin
  Systemsteuerung(ListBox9.Items.Strings[Listbox9.ItemIndex]);
end;

procedure TForm1.Button72Click(Sender: TObject);
Var
  I : Integer;
begin
  for I := 0 to (ListBox9.Items.Count - 1) do
  begin
    if ListBox9.Selected[I] then
    begin
      Systemsteuerung(ListBox9.Items.Strings[Listbox9.ItemIndex]);
    end;
  end;
end;
//******** Sonstiges1: Applets aus Listbox wählen und starten Ende *************
//-0072

//+0061
//*************** Sonstiges1: Das Änderungsdatum einer Datei auslesen **********
function FileDateTime(const FileName: string): TDateTime;
begin
  Result := FileDateToDateTime(FileAge(FileName));
end;

procedure TForm1.Button61Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  begin // ('dddd, d. mmmm yy', yy hh:mm:ss', FileDateTime(Opendialog1.FileName));
    Button61.Caption:=FormatDateTime('d. mm yyyy',//'d. mm yyyy hh:mm:ss',
    FileDateTime(Opendialog1.FileName));
  end;
end;
//*********** Aufrufe1: Das Änderungsdatum einer Datei auslesen Ende ***********
//-0061

//+0075
//*********** Sonstiges1: Dateien auflisten in einer Listbox *******************
       //Eintrag über dem sich der Mauszeiger befindet als Hint anzeigen
procedure TForm1.ListBox11MouseMove(Sender:TObject;Shift:TShiftState;X,Y:Integer);
var
  I : Integer;
begin
  I := ListBox11.ItemAtPos(Point(x,y), True);
  IF I = -1 then
  begin
    ListBox11.Hint := '';
    Application.CancelHint;
    Exit;
  end;
  IF (ListBox11.Hint <> ListBox11.Items[I]) then
  begin
    Application.CancelHint;
    ListBox11.Hint := ListBox11.Items[I];
    Application.HintPause := 50; //Dauer bis Hint angezeigt wird
   // Application.HintColor:=ClRed; //Farbe
   // Application.HintHidePause:=100000;//gibt die Zeit an,wie lange der Text erscheint
  end;
end;
   //Eintrag über dem sich der Mauszeiger befindet als Hint anzeigen Ende
procedure listfiles(dir, mask : string);
var
  rec   : TSearchRec;
  found : Integer;
begin
  if dir[Length(dir)] <> '\' then dir := dir + '\';
  found := findfirst(dir + mask, faAnyFile, rec);
  try
    while found = 0 do
    begin
      Application.ProcessMessages;
      if (rec.Attr and faDirectory <= 0) then
      Form1.ListBox11.Items.Add(dir + rec.Name );
      found := findnext(rec);
    end;
  finally
    findclose(rec);
  end;
  found := findfirst(dir + '*.*', faAnyFile, rec);
  try
    while found = 0 do
    begin
      if (rec.Attr and faDirectory > 0) and (rec.Name[1] <> '.') then
        ListFiles(dir + rec.Name, mask);
      found := findnext(rec);
    end;
  finally
    findclose(rec);
  end;
end;

procedure TForm1.Button75Click(Sender: TObject);
begin
  ListBox11.Clear;
  Screen.Cursor := crHourGlass; 
//Application.HintColor  := clWhite;
  Button75.Caption := 'Suche läuft';
  ListFiles('c:\','*.exe');
  Label127.Caption := IntToStr(ListBox11.Items.Count)+ ' Stück gefunden';
                      //gesamte Anzahl der Exe Dateien in der ListBox11
  Button75.Caption := 'fertig';
  Delay(1500);
  Button75.Caption := 'C:\*.exe auflisten';
   Screen.Cursor := crDefault;
end;
//*********** Sonstiges1: Dateien auflisten in einer Listbox Ende **************
//-0075

//+0062
//*********** Aufrufe1: Aktuelles Verzeichnis ermitteln ************************
//uses shellapi;
function aktuelles_dir : string;
var
   dir: array [0..max_path] of char;
begin
  GetCurrentDirectory(max_path, dir);
  result := StrPas(dir);
end;

procedure TForm1.Button62Click(Sender: TObject);
begin
  MessageDlg('Das aktuelle Verzeichnis lautet:  '+ #13#10#13#10 + aktuelles_dir,
              mtInformation,[mbOK], 0);
// Label1.Caption:=aktuelles_dir;
end;
//*********** Aufrufe1: Aktuelles Verzeichnis ermitteln Ende *******************
//-0062

//+0063
//*********** Aufrufe1: Anzahl Zeilen bei Mausrad-Scrolling auslesen ***********
function GetNumScrollLines: Integer;
begin
  //Unter Windows 95 nicht unterstützt
  //result = -1: ganze Seite auf einmal scrollen
  SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;

procedure TForm1.Button63Click(Sender: TObject);
begin                                   // ^J oder ^M entspicht einmal #10#13
  MessageDlg('Die Anzahl der Zeilen bei ' + ^J +
  'Mausrad-Scrolling beträgt:  '+ ^J^J +
   '            ' + IntToStr(GetNumScrollLines), mtInformation, [mbOK], 0)
//  ShowMessage(IntToStr(GetNumScrollLines));
end;
//******** Aufrufe1: Anzahl Zeilen bei Mausrad-Scrolling auslesen Ende *********
//-0063

//+0064
//******************* Aufrufe1: Verzeichnisgröße bestimmen *********************
function GetDirSize(dir: string; subdir: Boolean): Longint;
var
  rec   : TSearchRec;
  found : Integer;
begin
  Result := 0;
  if dir[Length(dir)] <> '\' then dir := dir + '\';
  found := FindFirst(dir + '*.*', faAnyFile, rec);
  try
    while found = 0 do
    begin
      Inc(Result, rec.Size);
      if (rec.Attr and faDirectory > 0) and (rec.Name[1] <> '.') and
        (subdir = True) then
        Inc(Result, GetDirSize(dir + rec.Name, True));
      found := FindNext(rec);
    end;
  finally
    FindClose(rec);
  end;
end;

procedure TForm1.Button64Click(Sender: TObject);
begin
 // Label1.Caption := FloatToStr(getdirsize('d:\download', False)/sqr(1024))+ ' MBytes';
  Button64.Caption := FormatFloat(' '+'###,###'+' MB',getdirsize('C:\Tools', True)Div 1024);
  Delay(3000);
  Button64.Caption := 'Verzeichnisgröße';
end;
//**************** Aufrufe1: Verzeichnisgröße bestimmen Ende *******************
//-0064

//+0065
//**************** Aufrufe1: Datum eines Ordners ermitteln *********************
function GetFolderDate(Folder : String) : TDateTime;
var Rec   : TSearchRec;
    Found : integer;
    Date  : TDateTime;
begin
 if Folder[length(folder)]= '\' then
 Delete(Folder, length(folder), 1);
 Result := 0;
 Found := FindFirst(Folder, faDirectory, Rec);
 try
  if Found = 0 then begin
   Date := FileDateToDateTime(Rec.Time);
   result := Date;
  end;
 finally
  FindClose(Rec);
 end;
end;

procedure TForm1.Button65Click(Sender: TObject);
var d : TDateTime;
begin
  d := GetFolderDate('C:\Tools');
  ShowMessage('Heute ist der '+ DateToStr(Date) + ^J^J +
  'Der Ordner C:\Tools wurde am :'+ ^J^J +
  FormatDateTime(' dddd, d. mmmm yyyy, hh:mm:ss', d)+'  erstellt.');
end;
//**************** Aufrufe1: Datum eines Ordners ermitteln Ende ****************
//-0065

//+0100
//**************** Aufrufe1: Eine Batch - Datei starten ************************
// uses shellapi;
procedure TForm1.Button100Click(Sender: TObject);
var
  com : array [0..max_path] of char;
begin
  GetEnvironmentVariable('comspec', com, max_path);
  ShellExecute(handle, 'open', com, '/c C:\tools\Memory.bat', nil, sw_shownormal);
end;
//**************** Aufrufe1: Eine Batch - Datei starten Ende *******************
//-0100

//+B101
//** Aufrufe1: bei einem Message Dialog die Beschriftung der Buttons ändern ****
function MyMessageDialog(const Msg: string; DlgType : TMsgDlgType;
     Buttons: TMsgDlgButtons; Captions: array of string): Integer;
var
  aMsgDlg: TForm;
  i: Integer;
  dlgButton: TButton;
  CaptionIndex: Integer;
begin
  { Dialog erzeugen }
  aMsgDlg := CreateMessageDialog(Msg, DlgType, Buttons);
  captionIndex := 0;
  { Über alle Objekte auf dem Dialog }
  for i := 0 to aMsgDlg.ComponentCount - 1 do
  begin
  { Wenn es ein Button ist, dann...}
    if (aMsgDlg.Components[i] is TButton) then
    begin
      dlgButton := TButton(aMsgDlg.Components[i]);
      if CaptionIndex > High(Captions) then Break;
      { Schreibe Beschriftung entsprechend Captionsarray}
      dlgButton.Caption := Captions[CaptionIndex];
      Inc(CaptionIndex);
    end;
  end;
  Result := aMsgDlg.ShowModal;
end;

procedure TForm1.Button101Click(Sender: TObject);
begin
  if MyMessageDialog('tach auch ...?', mtConfirmation,mbOKCancel,
  ['Button 1', 'Button 2']) = mrOk
  then
  ShowMessage('Button 1 wurde gedrueckt')
  else
  ShowMessage('Button 2 wurde gedrueckt');
end;
//*Aufrufe1:bei einem Message Dialog die Beschriftung der Buttons ändern Ende **
//-B101

//+B102
//*************** Aufrufe1: Teile eines Strings ersetzen ***********************
procedure TForm1.Button102Click(Sender: TObject);
var
  Flags: TReplaceFlags;
begin
  Flags:=[];
  Flags:=[rfReplaceAll,rfIgnoreCase];
  // ohne rfReplaceAll wird nur die erste Fundstelle ersetzt
  // durch rfIgnoreCase wird Groß- und Kleinschreibung ignoriert
  Button102.caption := StringReplace('Button102', '102', '1000', Flags);
  Delay(3000);
  Button102.caption := StringReplace('Button1000', '1000', '102', Flags);
  Delay(2000);
  Button102.caption := 'StringReplace';
end;
//*************** Aufrufe1: Teile eines Strings ersetzen Ende ******************
//-B102

//+B103
//*************** Aufrufe1: Eingabegeräte sperren ******************************
Function BlockInput(fBlock: boolean): boolean; stdcall;
              external 'user32.dll'
procedure TForm1.Button103Click(Sender: TObject);
begin
  BlockInput(true); //Eingabegeräte deaktivieren
  Button103.caption := 'Eingabe gesperrt';
  Delay(3000);
  BlockInput(false);//Eingabegeräte aktivieren
  Button103.caption := 'Eingabe frei';
end;
//*************** Aufrufe1: Eingabegeräte sperren ******************************
//-B103

//+B104
//*************** Aufrufe1: Datum einer Datei ändern ***************************
procedure TForm1.Button104Click(Sender: TObject);
var
  s : string;
  n : integer;
  h : Thandle;
begin
  OpenDialog1.Filter := 'Alle-Dateien (*.*)|*.*';
  if OpenDialog1.Execute then
  begin
    s := '04.10.1998 12:11:10';
    n := DateTimeToFileDate(StrToDateTime(s));
    h := FileOpen(OpenDialog1.FileName ,fmOpenwrite);
//  h := FileOpen('C:\AutoExec.Bat',fmOpenwrite);
    ShowMessage(' Die Datei '+ OpenDialog1.FileName + ^J^J +
              ' wurde auf das Datum 04.10.1998 gesetzt ... ');
//  Button104.Caption := ' geändert ...';
//  MessageDlg('Bei der Datei Autoexec.Bat wurde das' + #13#10 +
//  '         Datum und die Zeit auf' + ^J +
//  '    27.7.1983 12:11:10 ' + 'geändert.', mtInformation, [mbOK], 0);
  end;
  if FilesetDate(h,n) <> 0 then
  beep;
  FileClose(h);
end;
//*************** Aufrufe1: Datum einer Datei ändern Ende **********************
//-B104

//+B105
//*************** Aufrufe1: Wielange läut dies Prog schon **********************
//Global eintragen
//Var WinZeit : Integer = 0;//für Zeit wie lange das Programm schon läuft

procedure TForm1.Button105Click(Sender: TObject);
begin
  MessageDlg('Wie lange willst denn noch mit dem Programm rumdödeln?...', mtInformation, [mbOK], 0);
 // Timer7.Enabled := False;
end;

procedure TForm1.Timer7Timer(Sender: TObject);
begin
  inc(WinZeit);
  Button105.Caption := Format('Zeit:'+ '%0.2d:%0.2d:%0.2d',
  [WinZeit div 3600,WinZeit div 60,WinZeit mod 60]);
end;
//*************** Aufrufe1: Wielange läut dies Prog schon Ende *****************
//-B105

//+0076
//************************* Dies - Das: eine Zahl runden ***********************
procedure TForm1.Button76Click(Sender: TObject);
begin//Zahl im Inspektor eingegeben( 12345,55544968 )
  Button76.Caption := Format('%0.2f', [StrToFloat(Button76.caption)]);
//Delay(3000);            //( %0.3f ) = auf 3 Stellen runden usw.
  sleep(3000);//Gibt für drei Sekunde Rechenzeit für andere Programme frei.
  Button76.Caption := '12345,55544968';
end;
//********************** Dies - Das: eine Zahl runden Ende *********************
//-0076

//+0077
//************ Dies - Das: bestimmte Zeichen aus String entfernen **************
function delchar(value: string; c: char):string;
begin
  while Pos(c, value) <> 0 do Delete(value, Pos(c, value), 1);
  result := value;
end;

procedure TForm1.Button77Click(Sender: TObject);
begin
  Button77.Caption := delchar(Button77.Caption,'e');
  sleep(2000);
  Button77.Caption := 'Faehre';
end;
//********** Dies - Das: bestimmte Zeichen aus String entfernen Ende ***********
//-0077

//+0078
//************ Dies - Das: den Ordner C:\47110815 anlegen **********************
procedure TForm1.Button78Click(Sender: TObject);
begin
  {$I-}
  MkDir('c:\47110815');
  {$I+}
  if IOResult <> 0 then
    MessageDlg('Den Ordner C:\47110815 gibt es schon!', mtWarning, [mbOK], 0)
  else
    MessageDlg('Der Ordner C:\47110815 wurde angelegt.', mtInformation, [mbOK], 0);
end;
//************ Dies - Das: den Ordner C:\47110815 anlegen Ende *****************
//************** Dies - Das: den Ordner C:\47110815 löschen ********************
//uses shellapi;
function deldir(dir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc  := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom  := PChar(dir + #0);
  end;
  Result := (0 = ShFileOperation(fos));
end;

procedure TForm1.Button79Click(Sender: TObject);  //löschen
begin
  if DirectoryExists('c:\47110815') then
  begin
    if deldir('C:\47110815') = True then
    ShowMessage('Der Ordner C:\47110815'+ #13#10#13#10 + 'wurde erfolgreich gelöscht.');
  end
else
  if DirectoryExists('c:\08154711') then
  begin
    if deldir('C:\08154711') = True then
    ShowMessage('Der Ordner C:\08154711'+ #13#10#13#10 + 'wurde erfolgreich gelöscht.');
  end;
end;
//************* Dies - Das: den Ordner C:\47110815 löschen Ende ****************
//************* Dies - Das: den Ordner C:\47110815 umbenennen ******************
procedure TForm1.Button80Click(Sender: TObject);
begin
  if Not DirectoryExists('c:\47110815') then
  begin
    ShowMessage(' Ordner erst erstellen ');
  end
  else
  begin
    RenameFile('C:\47110815\', 'C:\08154711');
    ShowMessage(' Ordner wurde in'+ #13#10 + ' C:\08154711 umbenannt. ');
  end;
end;
//************* Dies - Das: den Ordner C:\47110815 umbenennen Ende *************
//-0078

//+0066
//******************* Aufruf1: Favoriten verwalten *****************************
//uses ShellApi;
function OrganizeFavorite(h: THandle; path: PChar): Boolean;
stdcall external 'shdocvw.dll' Name 'DoOrganizeFavDlg';

function GetSpecialFolderPath(CallerHandle: THandle;
CSIDL : Integer) : PChar;
var
  exInfo : TShellExecuteInfo;
  Buf : PChar;
begin
  // initialize all fields to 0
  FillChar(exInfo, SizeOf(exInfo), 0);
  with exInfo do
  begin
    cbSize := SizeOf(exInfo);
    fMask  := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_IDLIST;
    Wnd    := CallerHandle;
    nShow  := SW_SHOWNORMAL;
    Buf    := StrAlloc(MAX_PATH);
    SHGetSpecialFolderPath(wnd, Buf, CSIDL, True);
    Result := Buf;
  end;
end;

procedure TForm1.Button66Click(Sender: TObject);
begin
  OrganizeFavorite(Handle, GetSpecialFolderPath(Handle,CSIDL_FAVORITES));
end;
//******************* Aufruf1: Favoriten verwalten Ende ************************
//-0066

//+0067
//************ Aufruf1: Startseite vom Ie - Explorer ermitteln *****************
//Uses registry
function GetIEStartPage: string;
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Internet Explorer\Main', False);
    try
      Result := Reg.ReadString('Start Page');
    except
      Result := '';
    end;
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end;

procedure TForm1.Button67Click(Sender: TObject);
begin
  ShowMessage(GetIEStartPage);
end;
//********* Aufruf1: Startseite vom Ie - Explorer ermitteln Ende ***************
//-0067

//+0068
//************ Aufruf1: Startseite vom Ie - Explorer neu setzen ****************
//Uses registry
function SetIEStartPage(APage: string): Boolean;
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Internet Explorer\Main', False);
    try
      Reg.WriteString('Start Page', APage);
      Result := True;
    finally
      Reg.CloseKey;
      Result := False;
    end;
  finally
    Reg.Free;
  end;
end;

procedure TForm1.Button68Click(Sender: TObject);
begin
  SetIEStartPage('www.swissdelphicenter.ch');
end;
//********* Aufruf1: Startseite vom Ie - Explorer neu setzen Ende **************
//-0068

//+0069
//********* Aufruf1: die Grösse & Pos des Windows Start Button ändern **********
procedure TForm1.Button69Click(Sender: TObject);
begin
  MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),
                                     0, 'Button', nil),250,   0,   100,   15, true);
                                                    //PosX, PosY, Länge, Höhe
  Delay(3000);
  MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),
                                     0, 'Button', nil),0,    0,    55,    22, true); 
                                                    //PosX, PosY, Länge, Höhe
end;
//******* Aufruf1: die Grösse & Pos des Windows Start Button ändern Ende *******
//-0069

//+0070
//******* Aufruf1: eine neue DFÜ - Verbindung erstellen ************************
procedure TForm1.Button70Click(Sender: TObject);
begin
  WinExec(PChar('rundll32.exe rnaui.dll,RnaWizard @1'),SW_SHOWNORMAL);
end;
//******* Aufruf1: eine neue DFÜ - Verbindung erstellen Ende *******************
//-0070

//+0026
//******* Aufruf1: eine Datei mit API - Aufruf einsehen ************************
procedure TForm1.Button26Click(Sender: TObject);
begin
  WinExec(PChar('rundll32.exe url.dll,FileProtocolHandler '+
  'Wiegehtwas.txt'),SW_SHOWNORMAL);
 // 'C:\Programme\Borland5\Delphi5\Dieter\Datenauslesen1\Wie geht was.txt'),SW_SHOWNORMAL);
end;
//******* Aufruf1: eine Datei mit API - Aufruf einsehen Ende *******************
//-0026

//+0087
//******* Aufruf1: Den DFÜ - Verbindungsdialog aufrufen ************************
//WinInet
procedure TForm1.Button87Click(Sender: TObject);
begin
 // If Not InternetGetConnectedState(nil, 0) Then
  If Not InternetAutoDial(INTERNET_AUTODIAL_FORCE_ONLINE,0) Then Exit;
end;
//******* Aufruf1: Den DFÜ - Verbindungsdialog aufrufen Ende *******************
//-0087

//+0088
//******* Aufruf1: einen Schatten um Form1 legen *******************************
procedure ShadeIt(f: TForm; c: TControl; Width: Integer; Color: TColor);
var
  rect : TRect;
  old  : TColor;
begin
  if (c.Visible) then
  begin
    rect         :=  c.BoundsRect;
    rect.Left    :=  rect.Left + Width;
    rect.Top     :=  rect.Top + Width;
    rect.Right   :=  rect.Right + Width;
    rect.Bottom  :=  rect.Bottom + Width;
    old          :=  f.Canvas.Brush.Color;
    f.Canvas.Brush.Color := Color;
    f.Canvas.fillrect(rect);
    f.Canvas.Brush.Color := old;
  end;
end;

procedure TForm1.Button88Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to Self.ControlCount - 1 do
  ShadeIt(Self, Self.Controls[i], 5, clBlack);
  Delay(2500);               //Breite + Farbe
  for i := 0 to Self.ControlCount - 1 do
  ShadeIt(Self, Self.Controls[i], 5, clMenu);
end;                         //Breite + Farbe
//******* Aufruf1: einen Schatten um Form1 legen Ende **************************
//-0088

//+0089
//******* Aufruf1: Die IE - VersionsNr. auslesen *******************************
//Uses registry
function GetIEVersion(Key: string): string;
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey('Software\Microsoft\Internet Explorer',False);
    try
      Result := Reg.ReadString(Key);
    except
      Result := '';
    end;
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end;

procedure TForm1.Button89Click(Sender: TObject);
begin
{  ShowMessage('IE-Version: ' +
  GetIEVersion('Version')[1] + '.' +
  GetIEVersion('Version')[3]);    }
  ShowMessage('IE-Version: ' + GetIEVersion('Version'));
end;
//******* Aufruf1: Die IE - VersionsNr. auslesen Ende **************************
//-0089

//+0090
//******* Aufruf1: das eigene Programm Verzeichnis ermitteln *******************
procedure TForm1.Button90Click(Sender: TObject);
var
  sExePath,
  sExeName  : string;
begin
   sExePath := ExtractFilePath(Application.ExeName);
   sExeName := ExtractFileName(Application.ExeName);
// ShowMessage(sExePath + sExeName);
   ShowMessage(LowerCase(sExePath + sExeName));
end;         //LowerCase und alles wird klein geschrieben
//******* Aufruf1: das eigene Programm Verzeichnis ermitteln Ende **************
//-0090

//+0091
//************ Aufruf1: 2 Dateien miteinander vergleichen **********************
function Are2FilesEqual(const File1, File2: TFileName):Boolean;
var
  ms1, ms2 : TMemoryStream;
begin
  Result := False;
  ms1 := TMemoryStream.Create;
  try
    ms1.LoadFromFile(File1);
    ms2 := TMemoryStream.Create;
    try
      ms2.LoadFromFile(File2);
      if ms1.Size = ms2.Size then
        Result := CompareMem(ms1.Memory, ms2.memory,ms1.Size);
    finally
      ms2.Free;
    end;
  finally
    ms1.Free;
  end
end;

procedure TForm1.Button91Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  if Opendialog2.Execute then
  if Are2FilesEqual(Opendialog1.FileName,Opendialog2.FileName) then
  ShowMessage('Dateien sind gleich.')
  else
  ShowMessage('Dateien sind ungleich.')
end;
//*********** Aufruf1: 2 Dateien miteinander vergleichen Ende ******************
//-0091

//+0081
//********************* Dies - Das: Alle Handles auflisten *********************
procedure TForm1.ListBox7MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin            //dient zum verschieben der Listbox7 auf dem Formular
  If Shift = [ssLeft] Then
  begin
    ReleaseCapture;//wo Listbox7.Handle steht kann auch Button?.Handle stehen:
    SendMessage(Listbox7.Handle,WM_SYSCOMMAND, 61458, 0);
  end;
  If Shift = [ssRight] Then
  begin
    LiesQuellText('','','','','//+0081','//-0081','','');
  end;
end;
//******************************************************************************
Function EnumWinProc(Wnd: hWnd): Boolean; Export;StdCall;
var
  WinText : Array[0..255] of Char;
begin
  GetWindowText(Wnd, WinText, 255);
  Result := True;
  if (StrPas(WinText) <> '') then
  Form1.ListBox7.Items.Add(IntToStr(Wnd) +' : '+ StrPas(WinText));
end;

//Aufruf - Beispiel:
procedure TForm1.Button81Click(Sender : TObject);
begin
  ListBox7.Clear;
  EnumWindows(@EnumWinProc, LongInt(self));
  Label129.Caption := IntToStr(ListBox7.Items.Count)+ ' laufenden Handles ';
end;
//****************** Dies - Das: Alle Handles auflisten Ende *******************
//-0081

//+0082
//****************** Dies - Das: Keyboard-Typ anzeigen *************************
function ShowKeyBoardType: string;
begin
  case GetKeyBoardType(0) of
    1: result := 'IBM PC/XT or compatible (83-key) keyboard';
    2: result := 'Olivetti "ICO" (102 - key) keyboard';
    3: result := 'IBM PC/AT (84 - key) or similar keyboard';
    4: result := 'IBM enhanced (101 - or 102 - key) keyboard';
    5: result := 'Nokia 1050 and similar keyboards';
    6: result := 'Nokia 9140 and similar keyboards';
    7: result := 'Japanese keyboard';
  else
    result := 'N/A';
  end;
end;

procedure TForm1.Button82Click(Sender: TObject);
begin                         // ^J^J od. ^M^M ist das gleiche wie #10#13#10#13
   MessageDlg('Ihr Keyboard ist ein: '+ ^J^J + ShowKeyBoardType,mtInformation,[mbOK], 0)
end;
//****************** Dies - Das: Keyboard-Typ anzeigen Ende ********************
//-0082

//+0083
//**** Dies - Das: Mehrere Unterverzeichnisse auf einmal erstellen & löschen ***
procedure TForm1.Button83Click(Sender: TObject);
var
  Dir: string;
begin
  Dir := 'C:\Test1\Test2\Test3';
  if ForceDirectories(Dir) then//ForceDirectories ist in der Unit FileCtrl dekl
  ShowMessage(' Die Ordner '+ #13#10#13#10 + Dir + ' wurde erfolgreich erstellt.');
  Delay(2000);
  if DirectoryExists('C:\Test1\Test2\Test3') then
  begin//function deldir siehe Zeile 2889
    If MessageDlg(' Sollen die Ordner endfernt werden ',
    mtConfirmation, [mbNo, mbOK], 0) = mrOK Then
    begin
      if deldir('C:\Test1') = True then               //alle drei Ordner löschen
{     if deldir('C:\Test1\Test2\Test3') = True then   //nur den letzten Ordner
      if deldir('C:\Test1\Test2') = True then         //usw.
      if deldir('C:\Test1') = True then  }
      ShowMessage('Die Ordner C:\Test1\Test2\Test3 '+ #13#10#13#10 +
      'wurden erfolgreich gelöscht.');
    end
  else
     ShowMessage('Die Ordner C:\Test1\Test2\Test3 '+ #13#10#13#10 +
    'bleiben erhalten.')
  end
end;
//* Dies - Das: Mehrere Unterverzeichnisse auf einmal erstellen Ende & löschen *
//-0083

//+0084
//****************** Dies - Das: Hintergrundbild austauschen *******************
procedure TForm1.Button84Click(Sender: TObject);
var
  WallPaperBMPPath : string;
begin
  WallPaperBMPPath := 'C:\Windows\setup.bmp';
  if SystemParametersInfo(SPI_SETDESKWALLPAPER,0,Pointer(WallPaperBMPPath),
  SPIF_SENDWININICHANGE OR SPIF_UPDATEINIFILE) then
  ShowMessage(' Hintergrund wurde ausgetauscht ')
else
  ShowMessage('es ist ein Fehler aufgetreten '+ #10#13#10#13 + WallPaperBMPPath
  + #10#13#10#13 + 'nicht gefunden ');
end;
//**************** Dies - Das: Hintergrundbild austauschen Ende ****************
//-0084

//+0085
//********** Dies - Das: Eine Logdatei neu anlegen oder text anhängen **********
procedure WriteLog(sText: string);
var
  F: TextFile;
  s: string;
begin
  s := 'Wiegehtwas.txt'; // das kann nach Belieben angepasst werden
  if Not FileExists(s) then //wenn nicht Datei da
  begin
    AssignFile(F,s);
    Rewrite(F);                      //neue Datei anlegen und öffnen
    Writeln(F,'                     ... Wie geht was ...');
    Writeln(F,' ');
    Writeln(F,' ' + DateTimeToStr(now) + ' ' + sText + ' (neu angelegt)');
  end
else
  if FileExists(s) then     //wenn Datei da
  begin
    AssignFile(F,s);//einer Dateivariablen den Namen einer externen Datei zuweisen.
    Append(F);  //eine vorhandene Datei auf das Anhängen von Textdaten vorbereiten.
    Writeln(F,' ' + DateTimeToStr(Now) + ' ' + sText);
//    CloseFile(f);
  end;
   CloseFile(F);
end;

procedure TForm1.Button85Click(Sender: TObject);
begin
  WriteLog('Wiegehtwas.txt');
  Button85.Caption := 'erledigt ...';
  Delay(2000);
  Button85.Caption := 'Wiegehtwas.txt-anl';
end;
//******* Dies - Das: Eine Logdatei neu anlegen oder text anhängen Ende ********
//-0085

//+0106
//******* Dies - Das: eine Schleife vorzeitig (mit ESC) abbrechen **************
procedure TForm1.Button106KeyDown(Sender: TObject;var Key:Word;Shift:TShiftState);
begin
  GlobalAbbruch := False;
  If (Key = VK_Escape) Then GlobalAbbruch := True;
end;

procedure TForm1.Button106Click(Sender: TObject);
var
  i : Integer;
begin
  i := 0;
  repeat
    Button106.Caption := IntToStr(i);
    Application.ProcessMessages;
    If GlobalAbbruch Then
    Begin
      GlobalAbbruch := False;
      Break;
    End;
    Inc(i);
  until i = 10000;
  If (i < 10000) Then
     ShowMessage(' vom Anwender mit ( Esc ) unterbrochen!');
  Delay(1000);
  Button106.caption := 'Schleife Abb. Esc';
end;
//******* Dies - Das: eine Schleife vorzeitig (mit ESC) abbrechen Ende *********
//-0106

//+0092
//*********** Aufruf1: Den Arbeitsplatz öffnen oder einen anderen Ordner *******
//greift auf sie Procedure ShowSpecialFolder in Zeilennr.2498 zu
procedure TForm1.Button92Click(Sender: TObject);
begin
  ShowSpecialFolder(CSIDL_DRIVES);//siehe Zeilennr.2498
end;
{Konstanten stehen in der Unit ShlObj.
Autostart-Gruppe                      : CSIDL_Startup
Startmenü                             : CSIDL_Startmenu
Programs-Menü                         : CSIDL_Programs
Persönliche Favoriten                 : CSIDL_Favorites
Send an - Verzeichnis                 : CSIDL_Sendto
Systemsteuerung                       : CSIDL_CONTROLS
Desktop                               : CSIDL_DESKTOP
Arbeitsplatz mit allen Laufwerken     : CSIDL_DRIVES
Netzwerkumgebung                      : CSIDL_NETWORK
Eigene Dateien                        : CSIDL_PERSONAL
für Drucker                           : CSIDL_Printers
Internetexplorer                      : CSIDL_INTERNET
Recentordner                          : CSIDL_RECENT
Papierkorb öffnen                     : CSIDL_BITBUCKET
Desktopordner                         : CSIDL_DESKTOPDIRECTORY
C:\WINDOWS\Netzwerkumgebung           : SIDL_NETHOOD
C:\WINDOWS\FONTS                      : SIDL_FONTS
C:\WINDOWS\ShellNew                   : CSIDL_TEMPLATES
C:\                                   : CSIDL_COMMON_STARTMENU
C:\WINDOWS\Anwendungsdaten            : CSIDL_APPDATA
C:\WINDOWS\PrintHood                  : CSIDL_PRINTHOOD
C:\WINDOWS\Temporary Internet Files   : CSIDL_INTERNET_CACHE
C:\WINDOWS\Cookies                    : CSIDL_COOKIES
C:\WINDOWS\Verlauf                    : CSIDL_HISTORY       }
//****** Aufruf1: Den Arbeitsplatz öffnen oder einen anderen Ordner Ende *******
//-0092

//+0093
//****** Aufruf1: Das Installationsdatum von Windows auslesen ******************

//**************** Windows Installdatum aus Registry lesen *********************
 function GetWindowsInstallDateTime: TDateTime;
const
  RegKeyNT = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion';
  RegValNT = 'InstallDate';
  RegKey95 = 'SOFTWARE\Microsoft\Windows\CurrentVersion';
  RegVal95 = 'FirstInstallDateTime';
  function RegReadDWORD(const Key, Name: string): DWORD;
  begin
    Result := 0;
    with TRegistry.Create do
      try
        RootKey := HKEY_LOCAL_MACHINE;
        if KeyExists(Key) and OpenKeyReadOnly(Key) and ValueExists(Name) and
          (GetDataType(Name) in [rdInteger, rdBinary, rdUnknown]) and
          (GetDataSize(Name) = SizeOf(Result)) then
          if GetDataType(Name) = rdInteger then
            Result := DWORD(ReadInteger(Name))
          else
            ReadBinaryData(Name, Result, SizeOf(Result));
      finally
        Free;
      end;
  end;
var
  Value: DWORD;
begin
  Value := RegReadDWORD(RegKeyNT, RegValNT);
  if Value <> 0 then
    Result := EncodeDate(1970, 1, 1) + (Value / SecsPerDay)
  else
  begin
    Value := RegReadDWORD(RegKey95, RegVal95);
    if Value <> 0 then
      Result := FileDateToDateTime(Value)
    else
      Result := 0.0;
  end;
end;

procedure TForm1.Button93Click(Sender: TObject);
begin
  Label121.caption := 'Installiert wurde Windows am ' + FormatDateTime('dd.mm.yyyy  hh:nn:ss', GetWindowsInstallDateTime);
end;
//****** Aufruf1: Das Installationsdatum von Windows auslesen Ende *************
//-0093

//+0094
//****** Aufruf1: Eingabeaufforderung (DOS-Box) starten ************************
//uses ShellApi;
function TForm1.dosbox : boolean;
var
  com : array [0..max_path+1] of char;
begin
  GetEnvironmentVariable('comspec', com, max_path);
  Result := ShellExecute(handle, 'open', com, nil, 'c:\', sw_shownormal) > 32;
end;                 //wenn aktueller Ordner statt 'c:\' einfach nil eingeben

procedure TForm1.Button94Click(Sender: TObject);
begin
  if dosbox then
  //ShowMessage('    Eingabeaufforderung '+ #13#10#13#10 + ' (DOS-Box) wurde gestartet ');
end;
//****** Aufruf1: Eingabeaufforderung (DOS-Box) starten Ende *******************
//-0094

//+0127
//******************** Maus: Den Mauszeiger verstecken *************************
procedure TForm1.Button127Click(Sender: TObject);
begin
//Auf ganzem Monitor
  Screen.Cursor := -1;
  Delay(2000);
  Screen.Cursor := 1;
end;
//******************** Maus: Den Mauszeiger verstecken Ende ********************
//-0127

//+0128
//******************** Maus: Die Maustasten vertauschen ************************
procedure SwapMouseButtons(const ASwap : Boolean);
Begin
  if ASwap then
  SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP,1, Nil, 0)
else
  SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP,0, Nil, 0);
end;
//Wenn der Parameter Aswap auf True steht werden die Maustasten getauscht,
//steht er auf False, wir der alte Zustand wiederhergestellt.
procedure TForm1.Button128Click(Sender: TObject);
begin
  SwapMouseButtons(True);
  Button128.Caption := ' vertauschte Maustasten';
  Delay(10000);
  SwapMouseButtons(False);
  Button128.Caption := ' Maustasten vertauschten';
end;
//******************** Maus: Die Maustasten vertauschen Ende *******************
//-0128

//+0133
//******************** Maus: Die Maus im Fenster einsperren ********************
// Maus im Fenster einsperren
procedure TForm1.Button133Click(Sender: TObject);
var
  Rect: TRect;
begin
  Rect.Left := Left;
  Rect.Top := Top;
  Rect.Right := Left+Width;
  Rect.Bottom := Top+Height;
  ClipCursor(@Rect);
  Button133.caption := 'Maus eingesperrt';
  Delay(3000);
  ClipCursor(nil);//Wenn Maus eingesperrt dann frei lassen
  Button133.caption := 'Maus im Fenster einsperren';
end;
//******************** Maus: Die Maus im Fenster einsperren ********************
//-0133

//+0095
//****** Aufruf1: herausfinden, ob Word installiert ist ************************
//uses Registry;
function IsWordInstalled: Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CLASSES_ROOT;
    Result := Reg.KeyExists('Word.Application');
  finally
    Reg.Free;
  end;
end;

procedure TForm1.Button95Click(Sender: TObject);
begin
  if IsWordInstalled then
  ShowMessage('MS Word ist installiert.')
  else
  ShowMessage('MS Word nicht gefunden.');
end;
//****** Aufruf1: herausfinden, ob Word installiert ist Ende *******************
//-0095

//+0096
//****** Aufruf1: Dateien kopieren mit ProgressAnzeige *************************
//***** in Form1.create einfügen für Progressbar in einer beliebigen Farbe *****
//Unit CommCtrl
//SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,ColorToRGB(clred + clteal));
 //*************** für Progressbar in einer beliebigen Farbe Ende **************
procedure datei_copy;
var
  quelle,ziel : file;
  anzahl,
  geschrieben : integer;
  buf : array[1..2048] of Char; //oder größer
begin
  with form1 do begin
  progressbar1.position := 0; //progressbar1 löschen - auf 0 setzen
  progressbar1.min := 0;
//******************************************************************************
If Not DirectoryExists('C:\Tools\')Then  //Quellordner nicht da
begin
  ShowMessage('Quellordner: C:\Tools\ ' + ^J^J + ' nicht gefunden ');
  exit;
end;
If Not FileExists('C:\Tools\selfhtml80.zip')Then  //Quelldatei nicht da
begin
  ShowMessage('Quelldatei: C:\Tools\selfhtml80.zip ' + ^J^J + ' nicht gefunden ');
  exit;
end;
//******************************************************************************
If Not DirectoryExists('C:\Test') Then   //Zielordner
begin
  if MessageDlg('Zielordner: C:\Test ' + ^J^J + ' nicht gefunden '+
  ^J^J + ' neu anlegen? ', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    {$I-}
    MkDir('C:\Test');
    if IOResult <> 0 then
    MessageDlg('Verzeichnis kann nicht angelegt werden!'+ ^J +
    'Error', mtWarning, [mbOk], 0);
  end
 else
  exit;
end;
//******************************************************************************
If FileExists('C:\Test\selfhtml80_copy.zip')Then  //Zieldatei da
begin
  if MessageDlg('Zieldatei: C:\Test\selfhtml80_copy.zip ' + ^J^J + ' schon vorhanden: '+
  ^J^J + ' überschreiben? ', mtConfirmation, [mbYes, mbNo], 0) = mrNo then
  exit;
end;
//******************************************************************************
begin
  assignfile(quelle,'C:\Tools\selfhtml80.zip');//Quelle von wo & was kopiert werden soll
  assignfile(ziel,'C:\Test\selfhtml80_copy.zip');//Ziel nach wo & wie sie heißen soll
  reset(quelle,1);//Reset öffnet eine vorhandene Datei
  rewrite(ziel,1);//Rewrite erstellt eine neue Datei und öffnet sie anschließend
  progressbar1.max := filesize(quelle);
  repeat
    BlockRead(quelle,Buf,SizeOf(Buf),anzahl);
    BlockWrite(ziel,Buf,anzahl,geschrieben);
    progressbar1.position := progressbar1.position + geschrieben;
    until (anzahl = 0) or (geschrieben <> anzahl);
      closefile(quelle);
      closefile(ziel);
      progressbar1.position := 0;   //progressbar1 löschen - auf 0 setzen
      ShowMessage( ' ... Datei wurde kopiert ... '  );
    end;
  end;
end;

procedure TForm1.Button96Click(Sender: TObject);
begin
  datei_copy;
end;
//****** Aufruf1: Dateien kopieren mit ProgressAnzeige Ende ********************
//-0096

//+0097
//*********************** Aufruf1: Info ueber MZi Ende *************************
procedure TForm1.Button97Click(Sender: TObject);
begin
  ShellExecute(Application.Handle,Pchar('Open'),Pchar('C:\Windows\Rundll32.exe'),
  Pchar('Shell32.dll,ShellAboutA'),Pchar('C:\Windows'), SW_SHOWNORMAL);
end;
//********************** Aufruf1: Info ueber MZi Ende **************************
//-0097

//+0098
//********************** Aufruf1: Hardware Assistent aufrufen ******************
procedure TForm1.Button98Click(Sender: TObject);
begin
  WinExec('RUNDLL32.EXE sysdm.cpl,InstallDevice_Rundll',SW_SHOWNORMAL);
end;
//******************* Aufruf1: Hardware Assistent aufrufen Ende ****************
//-0098

//+0099
//******************* Aufruf1: DFÜ - Netzwerk einrichten ***********************
procedure TForm1.Button99Click(Sender: TObject);
begin
  WinExec('RUNDLL32.EXE rnaui.dll,RnaWizard',SW_SHOWNORMAL);
end;
//******************* Aufruf1: DFÜ - Netzwerk einrichten Ende ******************
//-0099

//+0107
//****** Dies - Das: Den Startbutton sperren - freigeben ***********************
procedure TForm1.Button107Click(Sender: TObject);
begin
  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', Nil), 0,'Button', NIL), False);
  Button107.caption := 'Startbutton gesperrt';
  Delay(3000);
  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', NIL), 0,'Button', NIL), True);
  Button107.caption := 'Startbutton sperren';
end;
//****** Dies - Das: Den Startbutton sperren - freigeben Ende ******************
//-0107

//+0131
//******* Sound: einen Ton einer bestimmten Tonhöhe ausgeben *******************
procedure DoSound(Hz: Word);
var
  Faktor: Word;
begin
  Faktor := round(1192840 / Hz);
  asm
    push    ax
    push    bx
    in      al, 61h
    or      al, 3
    out     61h, al
    mov     al, 0B6h
    out     43h, al
    mov     bx, Faktor
    mov     al, bl
    out     42h, al
    mov     al, bh
    out     42h, al
    pop     bx
    pop     ax
  end;
end;

procedure NoSound;
asm
  push    ax
  in      al, 61h
  and     al, 0Dh
  out     61h, al
  pop     ax
  ret
end;

procedure TForm1.Button131Click(Sender: TObject);
begin
   DoSound(500);//Gültige Werte für der Parameter Hz liegen zwischen 37 & 32767
   Delay(50);
   DoSound(600);
   Delay(50); //Zeit
   DoSound(700);
   Delay(100); //Zeit
   DoSound(600);
   Delay(50); //Zeit
   DoSound(500);
   Delay(50); //Zeit
   NoSound;     //Sound abschalten
end;
//******* Sound: einen Ton einer bestimmten Tonhöhe ausgeben Ende **************
//-0131

//+B171
//************** Sound: die Midi-Ausgabegeräte ermitteln ***********************
//uses mmsystem;
procedure MIDIOutDev(Dev : TStrings);
var
  i,n : integer;
  c   : TMIDIOUTCAPSA;
begin
  n := MIDIOutGetNumDevs;
  for i := 0 to n - 1 do
  begin
    MIDIOutGetDevCaps(i,@c,SizeOf(TMIDIOutCapsA));
    Dev.Add(String(c.szPname));
  end;
end;

procedure TForm1.Button171Click(Sender: TObject);
var
  MidDev : TStringList;
begin
   MidDev:=TStringList.Create;
  try
    MIDIOutDev(MidDev);
    showmessage(MidDev.Text);
  finally
    MidDev.free;
  end;
end;
//************** Sound: die Midi-Ausgabegeräte ermitteln Ende ******************
//-B171

//+0108
//********************* Dies & Das: einen String umdrehen **********************
function ReverseString(s : string) : string;
var
  i  : integer;
  s2 : string;
begin
  s2 := '';
  for i := 1 to Length(s) do
  begin
    s2 := s[i] + s2;
  end;
  Result := s2;
end;

procedure TForm1.Button108Click(Sender: TObject);
var
  s : string;
begin
  s := 'Was soll das denn';
  Button108.caption := ReverseString(s);
  Delay( 2500);
  Button108.caption := (s);
end;
//******************* Dies & Das: einen String umdrehen Ende *******************
//-0108

//+0109
//************* Dies & Das: Ctrl + Alt + Del / sperren & erlauben **************
procedure TForm1.Button109Click(Sender: TObject);
VAR
   OldValue : Longbool;
begin
  SystemParametersInfo(97,Word(True),@OldValue,0);//{Tasksperre einschalten
  Button109.caption := 'Ctrl+Alt+Del gesp.';
  Delay(2500);
  SystemParametersInfo(97,Word(False),@OldValue,0);//Tasksperre ausschalten
  Button109.caption := 'Ctrl+Alt+Del frei';
end;
//********** Dies & Das: Ctrl + Alt + Del / sperren & erlauben Ende ************
//-0109

//+0110
//********* Dies & Das: Tausendertrennpunkt in Integerwert einfügen ************
procedure TForm1.Button110Click(Sender: TObject);
var
 I : Integer;
 s : string;
begin
//  Button110.caption := '1234567890';
  for I := 1 to Length(Button110.caption) do
  begin
    if I > 1 then
    if ((Length(Button110.caption) - I) mod 3) - 2 = 0 then
    s := s + '.';
    s := s + Button110.caption[I];
  end;
   Button110.Caption := s;
   Delay(2500);
   Button110.Caption := '1234567890';
end;
//******* Dies & Das: Tausendertrennpunkt in Integerwert einfügen Ende *********
//-0110

//+0114
//** Dies & Das: eine TextDatei zeilenweise auslesen & ZeilenNr. hinzufuegen ***
procedure TForm1.Button114Click(Sender: TObject);
var
  i, z: Integer;
  f: TextFile;
  t: string;
  Data: array of string;
begin
  if OpenDialog1.Execute then
  begin
    //Read line by line in to the array data
    AssignFile(f, OpenDialog1.FileName);
    Reset(f);
    z := 0;
    SetLength(Data, 0);
    //Repeat for each line until end of file
    repeat
      Inc(z);
      readln(f, t);
      SetLength(Data, Length(Data) + Length(t));
      Data[z] := t;
    until EOF(f);

    SetLength(Data, Length(Data) + 3 * z);
    //Add to each line the line number
    for i := 1 to z do Data[i] := IntToStr(i) + ' ' + Data[i];
    SetLength(Data, Length(Data) + 2);
    //Add a carriage return and line feed
    Data[1] := Data[1] + #13 + #10;
    i       := Length(Data[5]);
    Data[5] := '';
    SetLength(Data, Length(Data) - i);
    //create a new textfile with the new data
    AssignFile(f, OpenDialog1.FileName + '2');
    ReWrite(f);
    //write all lines
    for i := 1 to z do writeln(f, Data[i]);
    //save file and close it
    CloseFile(f);
  end;
end;
//Dies & Das: eine TextDatei zeilenweise auslesen & ZeilenNr. hinzufuegen Ende *
//-0114

//+0132
//******* Sonstiges2: Verzeichnisbaum in ein TTreeView einlesen ****************
procedure Verzeichnisse_Einlesen(Tree : TTreeView;
          Verzeichnis : String; Eintrag : TTreeNode;Mit_Dateien : Boolean);
Var SearchRec   : TSearchRec;
    EintragTemp : TTreeNode;
begin
  Tree.Items.BeginUpdate;
  if Verzeichnis[length(Verzeichnis)]<> '\' then Verzeichnis := Verzeichnis + '\';
  if FindFirst(Verzeichnis + '*.*', faDirectory, SearchRec) = 0 then
  begin
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory)
      and (SearchRec.Name[1] <> '.') then
      begin
        //Eintrag ist ein Verzeichnis
        if (SearchRec.Attr and faDirectory > 0) then
        //zum aktuellen Eintrag hinzufügen
        Eintrag := Tree.Items.AddChild(Eintrag, SearchRec.Name {+ '\'});
        //Eintrag merken         // + '\' wenn hinter jedem Ordner ein \ sein soll
        EintragTemp := Eintrag.Parent;
        //auf Untereinträge prüfen
        Verzeichnisse_Einlesen(Tree,Verzeichnis + SearchRec.Name,Eintrag,Mit_Dateien);
        //Eintrag wiederholen
        Eintrag := EintragTemp;
      end
    else
        //Eintrag ist eine Datei
        if Mit_Dateien then
        if SearchRec.Name[1] <> '.' then
        Tree.Items.AddChild(Eintrag, SearchRec.Name);
    until FindNext(SearchRec)<> 0;
    FindClose(SearchRec);
  end;
  Tree.Items.EndUpdate;
end;

procedure TForm1.Button132Click(Sender: TObject);
begin
  TreeView1.Items.Clear;
  Screen.Cursor := crHourGlass;
//  TreeView1.ShowLines := False;  //ohne Verbindungslinien  True mit
  Button132.Caption := 'C:\Programme:  wird eingelesen ';
  Verzeichnisse_Einlesen(TreeView1,'C:\',nil,True);//True mit Dateien
  Button132.Caption := 'Verzeichnisbaum in ein TTreeView einlesen ';
   Screen.Cursor := crDefault; 
//  Verzeichnisse_Einlesen(TreeView1,'C:\Programme',nil,False);//False nur Ordner
//  Button132.Caption := IntToStr(TreeView1.Items.Count) + ' Ordner gefunden';
end;
//******* Sonstiges2: Verzeichnisbaum in ein TTreeView einlesen Ende ***********
//-0132

//+0138
//******* Sonstiges2: Dateinamen von der Zwischenablage auflisten **************
//uses
//   clipbrd, shellapi;
procedure TForm1.Button138Click(Sender: TObject);
var
  f: THandle;
  buffer: array [0..MAX_PATH] of Char;
  i, numFiles: Integer;
begin
  if not Clipboard.HasFormat(CF_HDROP) then
  Exit;
  Clipboard.Open;
  try
    f := Clipboard.GetAsHandle(CF_HDROP);
    if f <> 0 then
    begin
      numFiles := DragQueryFile(f, $FFFFFFFF, nil, 0);
      memo2.Clear;
      ListBox13.Clear;
      for i := 0 to numfiles - 1 do
      begin
        buffer[0] := #0;
        DragQueryFile(f, i, buffer, SizeOf(buffer));
        memo2.Lines.Add(buffer);    //zu memo2 hinzufügen
        ListBox13.Items.Add(buffer);//zu Listbox13 hinzufügen
      end;
    end;
  finally
    Clipboard.Close;
  end;
end;

//********************** Text in die Zwischenablage Kopieren *******************
//uses Clipbrd;
procedure TForm1.Button176Click(Sender: TObject);
begin
// Clipboard.Clear;  Zwischenablage leeren
  If Edit2.Text = '' Then
  Begin
    MessageDlg('Bitte einen Text eingeben ...',mtInformation,[mbOK],0)
  end
 else
  Begin
    Clipboard.AsText := Edit2.Text;
    memo2.clear;
    memo2.Lines.Add(Clipboard.AsText);    //zu memo2 hinzufügen
    ListBox13.clear;
    ListBox13.Items.Add(Clipboard.AsText);
  end;
end;
//********************** Text in die Zwischenablage Kopieren Ende **************

//****************************** Wörter in Memo2 zählen ************************
procedure TForm1.Button177Click(Sender: TObject);
Const
  TestChars : set of Char = ['A'..'Z','ä','ö','ü','ß','Ä','Ö','Ü','0'..'9',Chr(39)];
Var
  MemoStr : String;
  A, WordCount : Integer;
  NotChar : Boolean;
begin
  MemoStr := UpperCase(Memo2.Text);
  NotChar := True;
  WordCount := 0;
  For A := 1 to Length(MemoStr) do
  Begin
    If MemoStr[A] In TestChars then
    Begin
      If NotChar Then
      Begin
        Inc(WordCount);
        NotChar := False;
      End;
    End
  Else
   NotChar := True;
  End;
  If WordCount > 1 Then
  Label134.Caption := 'Der Text besteht aus: '+ IntToStr(WordCount)+' (Wörtern)'
  else
  Label134.Caption := 'Der Text besteht aus: '+ IntToStr(WordCount)+' (Wort)'
end;
//************************* Wörter in Memo2 zählen Ende ************************

//******* Sonstiges2: Dateinamen von der Zwischenablage auflisten Ende *********
//-0138

//+0139
//************ Sonstiges3: Inhalt einer Datei in ListBox einlesen **************
procedure TForm1.Button139Click(Sender: TObject);
const
  ScrollWidth = 2000;     //für zusätzlichen Sgrollbalken in Aufrufe - Listbox
var
  D : TextFile;
  Z : string;
begin
  OpenDialog1.Filter := 'Alle (*.*)|*.*|Pascal-Dateien (*.pas)|*.PAS' +
                        '|Textdateien (*.txt)|*.TXT';
  if OpenDialog1.Execute then
  begin
    SendMessage(ListBox14.Handle, LB_SETHORIZONTALEXTENT,//für zusätzlichen
    ScrollWidth,LongInt(0));          //Sgrollbalken in Aufrufe - Listbox14
    ListBox14.clear;                     //damit alles nur einmal in der ListBox steht.
    AssignFile(D, OpenDialog1.FileName); //D - gewünschte Datei zuweisen
    Reset(D);                            //D - öffnen
    Form1.Caption := OpenDialog1.FileName;//ausgewählte Datei in Form1.caption anzeigen
    while not eof(D) do                  //solange das Ende von D nicht erreicht do
    begin
      Screen.Cursor := crHourGlass;      //Cursor - Stundenglas ein
      readln(D,Z);                       //lese aus D  - Zeilen
      ListBox14.Items.Add(Z);            //in ListBox gelesene Zeilen einfügen
    end;
     CloseFile(D);                       //D schließen
     Label132.Caption := 'Die Datei besteht aus: ' + IntToStr(ListBox14.Items.Count)+
                         ' Zeilen ...';
     Screen.Cursor := crDefault;         //Cursor - Stundenglas aus
     Button172.Enabled := True;          //Inhalt Von ListBox14 in Datei speichern - Enable
  end;
end;
//********** Sonstiges3: Inhalt einer Datei in ListBox einlesen Ende ***********
//-0139

//+B178
//********** Sonstiges3: Markierte Items einer Listbox löschen *****************
procedure TForm1.Button178Click(Sender: TObject);
var
  i: Integer;
begin
  with ListBox14 do
  begin
    Items.BeginUpdate;
    for i := ListBox14.Items.Count - 1 downto 0 do
    if ListBox14.Selected[i] then
    Items.Delete(i);
    Items.EndUpdate;
    Label132.Caption := 'Die Datei besteht aus: ' + IntToStr(ListBox14.Items.Count)+
                        ' Zeilen ...';
  end;
end;
//********** Sonstiges3: Markierte Items einer Listbox löschen Ende ************
//-B178

//+B172
//********** Sonstiges3: Inhalt einer ListBox in eine Datei speichern **********
procedure writefile(ausgabe: TListBox);
var
  outputfile : Textfile;
  i : word;
begin //AssignFile weist einer Dateivariablen den Namen einer externen Datei zu.
  AssignFile(outputfile, 'Aus_Listbox14.txt');
  //AssignFile weist einer Dateivariablen den Namen einer externen Datei zu
  rewrite(outputfile);    //Rewrite erstellt eine neue Datei und öffnet sie
  writeln(outputfile,'              Aus_Listbox14 in Datei eingefügt ...' );
  writeln(outputfile,'');                 //Leerzeile
  for i := 0 to ausgabe.items.count - 1 do//von der ersten bis zur letzten Zeile
  writeln(outputfile, ausgabe.items[i]);  //schreib in Datei (Aus_Listbox14.txt)
  closefile(outputfile);                  //schließe Datei (Aus_Listbox14.txt)
  ShowMessage('Datei: Listbox14.txt ' + ^J^J + '           fertig ...');
end;

procedure TForm1.Button172Click(Sender: TObject);
begin
  If FileExists('Aus_Listbox14.txt')Then  //wenn Zieldatei schon da
  begin
    if MessageDlg('Zieldatei: Aus_Listbox14.txt ' + ^J^J + ' schon vorhanden: '+
    ^J^J + ' überschreiben? ', mtConfirmation, [mbYes, mbNo], 0) = mrNo then
    exit;
  end;
  writefile(listbox14); //rufe procedure writefile auf
end;
//******* Sonstiges3: Inhalt einer ListBox in eine Datei speichern Ende ********
//-B172

//+B179
//******* Sonstiges3: alles in die Listbox14.dat Datei speichern ***************
//listbox14.dat speichern
procedure TForm1.Button179Click(Sender: TObject);
begin
  listbox14.Items.SaveToFile('.\listbox14.dat');
  ShowMessage(' Der Inhalt aus Listbox14 wurde in die ' + ^J^J +
              ' Datei Listbox14.dat geschrieben ');
end;

//listbox löschen
procedure TForm1.Button182Click(Sender: TObject);
begin
  ListBox14.clear;
  Label132.Caption := 'Die Datei besteht aus: ' + IntToStr(ListBox14.Items.Count)+
                        ' Zeilen ...';
end;

//Listbox wiederherstellen.
procedure TForm1.Button181Click(Sender: TObject);
begin
  if fileexists('.\listbox14.dat') then
  begin
    listbox14.Items.LoadFromFile('.\listbox14.dat');
    If ListBox14.Items.Count <= 0 Then
    ShowMessage(' Datei Listbox14.dat ist vorhanden aber leer ');
    Label132.Caption := 'Die Datei besteht aus: ' + IntToStr(ListBox14.Items.Count)+
                        ' Zeilen ...';
  end
  else
  begin
  //Wenn Datei nicht vorhanden, dann Zeile in ListBox14
    listbox14.items.Add(' Datei Listbox14.dat nicht gefunden ');
  end;
end;
//******* Sonstiges3: alles in die Listbox14.dat Datei speichern Ende **********
//-B179

//+B186
//*********** Allerlei: Exceldatei in eine Textdatei schreiben *****************
//uses  ComObj
function ExcelSaveAsText(ExcelFile,TextFile: TFileName): Boolean;
const
  xlText = -4158;
var
  ExcelApp: OleVariant;
  vTemp1, vTemp2, vTemp3: OleVariant;
Begin
  Result := False;
  try
    ExcelApp := CreateOleObject('Excel.Application');
  except
  //Fehler beim Öffnen von Excel
    Exit;
  end;
  Try
    ExcelApp.Workbooks.open(ExcelFile);
    ExcelApp.DisplayAlerts := False;
    vTemp3 := False;
    vTemp2 := xlText;
    vTemp1 := TextFile;
    ExcelApp.ActiveWorkbook.SaveAs(vTemp1,vTemp2,vTemp3);
    Result := True;
  finally
    ExcelApp.Quit;
    ExcelApp := Unassigned;
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button186Click(Sender: TObject);
begin
  if OpenDialog1.Execute then {Dialog zum Dateiöffnen anzeigen}
  begin
    ExcelSaveAsText(OpenDialog1.FileName,'.\Test.Txt');//im aktuellen Ordner ablegen
    ShowMessage(' Die Exceldatei: ' + OpenDialog1.FileName + ^J^J +
                ' wurde im aktuellen Ordner unter Test.Txt abgelegt. ');
//  ExcelSaveAsText('C:\Test.xls','C:\Test.Txt');
  end;
end;
//*********** Allerlei: Exceldatei in eine Textdatei schreiben Ende ************
//-B186

//+B187
//*********** Allerlei: Formular als Bild speichern ****************************
//Private-Deklarationen
//procedure SaveFormToBMP(FileName: String);

procedure TForm1.SaveFormToBMP(FileName: String);
var b: TBitmap;
begin
 b:= TBitmap.Create;
 try
  b:= GetFormImage;
  b.SaveToFile(FileName);
 finally
  b.Free;
 end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button187Click(Sender: TObject);
begin
  SaveFormToBMP('.\wiegehtwas.bmp');
  ShowMessage(' Die Formularseite wurde als' + ^J^J +
              ' wiegehtwas.Bmp - Bild gespeichert.');
end;

//um andere Seiten auch speichern zu können! [alsBildspeichern] im Popupmenue
procedure TForm1.alsBildspeichern1Click(Sender: TObject);
begin
  Button187Click(self);
{  SaveFormToBMP('.\wiegehtwas.bmp');
  ShowMessage(' Die Formularseite wurde als' + ^J^J +
              ' wiegehtwas.Bmp - Bild gespeichert.');    }
end;
//*********** Allerlei: Formular als Bild speichern Ende ***********************
//-B187

//+B188
//***** Allerlei: gewählte Einträge aus Listbox18 in Listbox19 übernehmen ******
procedure CopySelectedItems(von,nach : TListBox);
var
  i :integer;
begin
  for i := 0 to von.Items.Count-1 do
  begin
    if von.Selected[i] = True then
    nach.Items.Add(von.Items[i]);
  end;
end;

procedure TForm1.Button188Click(Sender: TObject);
begin
//  Label136.Caption := IntToStr(ListBox18.Items.Count)+ ' Eintragungen ';
  CopySelectedItems(listbox18,Listbox19);//aus Listbox18 in Listbox19 kopieren
  Label137.Caption := IntToStr(ListBox18.SelCount)+ ' kopiert';
  Label138.Caption := IntToStr(ListBox19.Items.Count)+ ' gesamt';
end;
//*** Allerlei: gewählte Einträge aus Listbox18 in Listbox19 übernehmen Ende ***
//-B188

//+B189
//*** Allerlei: Im Startmenue den Dokumentenordner leeren **********************
procedure TForm1.Button189Click(Sender: TObject);
begin
  SHAddToRecentDocs(SHARD_PATH, NIL);
end;
//*** Allerlei: Im Startmenue den Dokumentenordner leeren Ende *****************
//-B189

//+B190
//************* Allerlei: den Inhalt einer ListBox ausdrucken ******************
procedure TForm1.Button190Click(Sender: TObject);
var
  T : TextFile;
  i : Integer;
begin
  application.MessageBox('! Bitte Drucker einschalten !','Information',
  MB_ICONINFORMATION + MB_OK);
  If ListBox19.Items.Count <> 0 Then
  Begin
    If MessageDlg('Ist der Drucker eingeschaltet?', mtConfirmation,
    [mbYes, mbNo], 0) = mrNo then
    Exit
    else
    AssignFile(T,'LPT1');
    Rewrite(T);
    for i := 0 to ListBox19.Items.Count -1 do
    Writeln(T,Listbox19.items[i]);
    Writeln(T,#12);      //damit Seite ausgeschoben wird
    CloseFile(T);
  end
 else
  ShowMessage(' ListBox leer, erst aus anderer Listbox übertragen');
  Exit;
end;
//************* Allerlei: den Inhalt einer ListBox ausdrucken Ende *************
//-B190

//+B191
//************* Allerlei: gesuchte Dateien in der ListBox20 zeigen *************
procedure Listfiles1(dir, mask : string);
var
  rec   : TSearchRec;
  found : Integer;
begin
  if dir[Length(dir)] <> '\' then dir := dir + '\';
  found := findfirst(dir + mask, faAnyFile, rec);
  try
    while found = 0 do
    begin
      Application.ProcessMessages;
      if (rec.Attr and faDirectory <= 0) then
      Form1.ListBox20.Items.Add(dir + rec.Name );
      found := findnext(rec);
    end;
  finally
    findclose(rec);
  end;
  found := findfirst(dir + '*.*', faAnyFile, rec);
  try
    while found = 0 do
    begin
      if (rec.Attr and faDirectory > 0) and (rec.Name[1] <> '.') then
        ListFiles1(dir + rec.Name, mask);
      found := findnext(rec);
    end;
  finally
    findclose(rec);
  end;
end;

//Aufruf - Beispiel:     
procedure TForm1.Button191Click(Sender: TObject);
var
  Ps : String;
begin
  If ComboBox1.Text = '' Then
  Begin
    MessageDlg('Und was soll gesucht werden??? ' + ^J^J ,mtInformation,[mbOK],0);
    Exit;
  end
 else
  ListBox20.Clear;
//  ListBox20.update;
  Ps := ComboBox1.Text;
  Screen.Cursor := crHourGlass;
//Application.HintColor  := clWhite;
  Button191.Caption := 'Suche läuft';
//ListFiles1('c:\','*.exe');
  ListFiles1('c:\',Ps);
  Label139.Caption := IntToStr(ListBox20.Items.Count)+ ' Stück gefunden';
                      //gesamte Anzahl der Dateien in der ListBox20
  Button191.Caption := 'fertig';
  Delay(1000);
  Button191.Caption := 'suchen nach ---->';
  Screen.Cursor := crDefault;
end;

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_RETURN) then
  begin
    Button191Click(self);
  end;
end;
//************* Allerlei: gesuchte Dateien in der ListBox20 zeigen Ende ********
//-B191

//+Combo2
//************* Allerlei1: Druckertreiber - Version auslesen *******************
procedure TForm1.ComboBox2Change(Sender: TObject);
var
  hPrinter: THandle;
  PrtName: String;
  DriverInfo: PDriverInfo2;
  dwNeeded: DWord;
begin
  Memo4.clear;
  PrtName :=  Combobox2.Text;
  OpenPrinter( PChar( PrtName ) , hPrinter , nil );
  GetPrinterDriver(hPrinter,nil,2,DriverInfo,0,dwNeeded );
  GetMem( DriverInfo, dwNeeded );
  if GetPrinterDriver(hPrinter,nil,2,DriverInfo,dwNeeded,dwNeeded ) then
  begin
    // Die Treiber Version
    Memo4.Lines.Add( ' Treiberversion:          ' + IntToStr(DriverInfo.cVersion ) );
    Memo4.Lines.Add( ' Druckername:            ' +StrPas( DriverInfo.pName ) );
    Memo4.Lines.Add( ' Umgebung:               ' +StrPas( DriverInfo.pEnvironment ) );
    Memo4.Lines.Add( ' Treiberpfad:              ' +StrPas( DriverInfo.pDriverPath ) );
    Memo4.Lines.Add( ' Treiberdatendatei:     ' +StrPas( DriverInfo.pDataFile ) );
    Memo4.Lines.Add( ' Treiberconfig - Datei: ' +StrPas( DriverInfo.pConfigFile ) );
  end
 else
  Memo4.Lines.Add('No Info needed = ' + IntToStr(dwNeeded));
  ClosePrinter( hPrinter );
  FreeMem( DriverInfo );
end;
//************* Allerlei1: Druckertreiber - Version auslesen Ende **************
//-Combo2

//+ListBox21
//************* Allerlei1: Widows Systemordner öffnen **************************
procedure TForm1.ListBox21Click(Sender: TObject);
Var
  I : Integer;
begin
   for I := 0 to (ListBox21.Items.Count - 1) do
  begin
    if ListBox21.Selected[I] then
    begin
      ShowSpecialFolder(Listbox21.ItemIndex);
    end;
  end;
end;

{ CSIDL_DESKTOP  CSIDL_INTERNET  CSIDL_PROGRAMS  CSIDL_CONTROLS
  CSIDL_PRINTERS  CSIDL_PERSONAL  CSIDL_FAVORITES  CSIDL_STARTUP
  CSIDL_RECENT  CSIDL_SENDTO  CSIDL_BITBUCKET  CSIDL_STARTMENU
  CSIDL_DESKTOPDIRECTORY  CSIDL_DRIVES  CSIDL_NETWORK  CSIDL_NETHOOD
  CSIDL_FONTS  CSIDL_TEMPLATES  CSIDL_COMMON_STARTMENU  CSIDL_COMMON_PROGRAMS
  CSIDL_COMMON_STARTUP  CSIDL_COMMON_DESKTOPDIRECTORY  CSIDL_APPDATA
  CSIDL_PRINTHOOD  CSIDL_ALTSTARTUP  CSIDL_COMMON_ALTSTARTUP
  CSIDL_COMMON_FAVORITES  CSIDL_INTERNET_CACHE  CSIDL_COOKIES
  CSIDL_HISTORY         }

//************* Allerlei1: Windows Systemordner öffnen Ende ********************
//-ListBox21

//+DriveComboBox1
//*** Allerlei1: Größe einer Festplatte/Diskette ermitteln & freien Speicher ***
//uses SysUtils;
function GetDiskSize(drive: Char; var free_size, total_size : Int64): Boolean;
var
  RootPath: array[0..26] of Char;
  RootPtr: PChar;
  current_dir: string;
begin
  RootPath[0] := Drive;
  RootPath[1] := ':';
  RootPath[2] := '\';
  RootPath[3] := #0;
  RootPtr := RootPath;
  current_dir := GetCurrentDir;
  if SetCurrentDir(Drive + ':\') then
  begin
    GetDiskFreeSpaceEx(RootPtr, Free_size, Total_size, nil);
    // this to turn back to original dir
    SetCurrentDir(current_dir);
    Result := True;
  end
 else
  begin
    Result := False;
    Free_size  := -1;
    Total_size := -1;
  end;
end;

procedure TForm1.DriveComboBox1Change(Sender: TObject);
var
  free_size, total_size: Int64;
begin
  if GetDiskSize(DriveComboBox1.Drive, free_size, total_size) then
  ShowMessage('Laufwerk ' + Uppercase(DriveComboBox1.Drive) + ':\' + ^J^J +
  'Grösse: = ' + FormatFloat('###,###,###'+ ' MB',total_size )+ ^J +
  'Frei:      = ' + FormatFloat('###,###,###'+' MB', free_size )+ ^J +
  'Belegt:  = ' + FormatFloat('###,###,###'+' MB', total_size - free_size ))
 else
  ShowMessage('keine Disk - CD im Laufwerk!'); 
end;
// Allerlei1: Größe einer Festplatte/Diskette ermitteln & freien Speicher Ende *
//-DriveComboBox1

//+B205
//* Allerlei1: Den String in Edit8 auf nur Zahlen oder nur Buchstaben abfragen *
//*************** Den String in Edit8 auf nur Zahlen abfragen ******************
function IsStrANumber(const S: string): Boolean;
var
  P: PChar;
begin
  P      := PChar(S);
  Result := False;
  while P^ <> #0 do
  begin
    if not (P^ in ['0'..'9']) then Exit;
    Inc(P);
  end;
  Result := True;
end;

//Aufruf - Beispiel
procedure TForm1.Button205Click(Sender: TObject);
begin
  If Edit8.Text = '' Then
  begin
    ShowMessage('String eingeben!');
    Exit;
  end
 else
  if IsStrANumber(edit8.Text) = False then
  ShowMessage('String in Edit8 darf nur aus Zahlen sein!')
 else
  ShowMessage('Toll gemacht!' + ^j^j + 'Was du schon alles kannst!')
end;
//************* Den String in Edit8 auf nur Zahlen abfragen Ende ***************

//***************** Den String in Edit8 auf nur Buchstaben abfragen ************
function IsStrANumber1(const S: string): Boolean;
var
  P: PChar;
begin
  P      := PChar(S);
  Result := False;
  while P^ <> #0 do
  begin
    if not (P^ in ['A'..'Z','a'..'z','ä','Ä','ü','Ü','ö','Ö','ß' ]) then Exit;
    Inc(P);
  end;
  Result := True;
end;

//Aufruf - Beispiel
procedure TForm1.Button206Click(Sender: TObject);
begin
  If Edit8.Text = '' Then
  begin
    ShowMessage('String eingeben!');
    Exit;
  end
 else
  if IsStrANumber1(edit8.Text) = False then
  ShowMessage('String in Edit8 darf nur aus Buchstaben sein!')
 else
  ShowMessage('Toll gemacht!'+ ^j^j + 'Was du schon alles kannst!')
end;
//************ Den String in Edit8 auf nur Buchstaben abfragen Ende ************

//***************** Die Wurzel aus Edit8 Eingabe errechnen *********************
procedure TForm1.Button207Click(Sender: TObject);
var
  a : integer;
begin
  a := 0;
  If Edit8.Text = '' Then
  begin
    ShowMessage('String eingeben!');
    Exit;
  end
  else
  if IsStrANumber(edit8.Text) = False then
  begin
    ShowMessage('String in Edit8 darf nur aus Zahlen sein!');
  Exit;
  end
 else
  a := strtoint(edit8.text);
  Button207.Width := Button207.Width *2;
  Button207.Caption := 'Die Wurzel aus ' + Edit8.Text + ' ist:  ' +
  '[ ' + floattostrF(sqrt(a),ffNumber,5,3) + ' ]';
  Delay(5000);             //ffNumber = mit Tausendertrennung //ffFixed = ohne
  Button207.Caption := 'Wurzel aus Edit8 - Feld';
  Button207.Width := 145;
  Edit8.Text := 'Edit8';
end;
//*************** Die Wurzel aus Edit8 Eingabe errechnen Ende ******************

//* Allerlei1: Den String in Edit8 auf nur Zahlen oder nur Buchstaben abfragen *
//-B205

//+0111
//******* Dies & Das: Dateiattribute setzen und endfernen **********************
{
faReadOnly   Schreibgeschützte Datei
faHidden     Verborgene Datei
faSysFile    Systemdatei
faVolumeID   Laufwerks-ID
faDirectory  Verzeichnis
faArchive    Archivdatei
faAnyFile    Beliebige Datei }

procedure TForm1.Button111Click(Sender: TObject);
begin
  FileSetAttr('C:\Autoexec.bat', faReadOnly );
  ShowMessage('Bei der Datei C:\Autoexec.bat wurde das Attribut ...ReadOnly... gesetzt');
  begin
    If MessageDlg(' Soll das Attribut endfernt werden ',
    mtConfirmation, [mbNo, mbOK], 0) = mrOK Then
    begin
      if (FileGetAttr('C:\Autoexec.bat') and faReadOnly ) > 0 then
      FileSetAttr('C:\Autoexec.bat', FileGetAttr('C:\Autoexec.bat') xor faReadOnly);
      ShowMessage('Das Attribut ...ReadOnly... wurde endfernt');
    end
  else
    ShowMessage('Das Attribut ...ReadOnly... bleibt gesetzt.');
    exit;
  end;
end;
//******* Dies & Das: Dateiattribute setzen und endfernen Ende *****************
//-0111

//+0112
//******* Dies & Das: kontrollieren ob eine Diskette eingelegt ist *************
function DiskInDrive(lw: Char; Statusanzeige: Boolean): Boolean;
var
  sRec : TSearchRec;
  i    : Integer;
begin
  Result := False;
  {$I-}
  i := FindFirst(lw + ':\*.*', faAnyFile, sRec);
  FindClose(sRec);
  {$I+}
  case i of 0 : Result := True;
  2, 18 : begin
            if Statusanzeige then
  ShowMessage('Diskette im Laufwerk ' + lw + ' ist leer !');
  Result := True;
  end;
    21, 3 : if Statusanzeige then
    ShowMessage('Keine Diskette im Laufwerk ' + lw + ':');
   else
    if Statusanzeige then
    ShowMessage('Diskette nicht formatiert ! ' + IntToStr(i));
  end;
end;

procedure TForm1.Button112Click(Sender: TObject);
begin
  if DiskInDrive('A', True) then  ShowMessage('Diskette vorhanden ...');
end;
//****** Dies & Das: kontrollieren ob eine Diskette eingelegt ist Ende *********
//-0112

//+0113
//****** Dies & Das: herausfinden,der wievielte Tag im Jahr heute ist **********
function GetDays(ADate: TDate): Extended;
var
  FirstOfYear : TDateTime;
begin
  FirstOfYear := EncodeDate(StrToInt(FormatDateTime('yyyy', now)) - 1,12, 31);
  Result := ADate - FirstOfYear;
end;

procedure TForm1.Button113Click(Sender: TObject);
begin
  ShowMessage('heute ist der '+  DateToStr(Date) + ^J^J + '            und der ' +
  ^J^J + FloatToStr(GetDays(Date)) + '. Tag in diesem Jahr');
end;
//****** Dies & Das: herausfinden,der wievielte Tag im Jahr heute ist Ende *****
//-0113

//+0115
//****************** Dies & Das: Den Monitor ein - ausschalten *****************
procedure TForm1.Button115Click(Sender: TObject);
begin
// Monitor ausschalten
  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
  Delay(3000);
// Monitor einschalten
  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, - 1);
end;
//*************** Dies & Das: Den Monitor ein - ausschalten Ende ***************
//-0115

//+0117
//******************* Dies & Das die Uhr im System Tray verstecken *************
procedure TForm1.Button117Click(Sender: TObject);
begin
  //Uhr verstecken
   ShowWindow(FindWindowEx(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0,
   'TrayNotifyWnd', nil), 0, 'TrayClockWClass', nil), SW_HIDE);
   Delay(2000);
  //Uhr anzeigen
   ShowWindow(FindWindowEx(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0,
   'TrayNotifyWnd', nil), 0, 'TrayClockWClass', nil), SW_SHOW);
end;
//************** Dies & Das die Uhr im System Tray verstecken Ende *************
//-0117

//+0118
//*****************Dies & Das:* die Titelleiste blinken lassen *****************
procedure TForm1.Timer6Timer(Sender: TObject);
begin
  FlashWindow(Handle, true);
  FlashWindow(Application.Handle, true);
end;

procedure TForm1.Button118Click(Sender: TObject);
begin
  Timer6.Enabled := True;
  Delay(6000);
  Timer6.Enabled := False;
end;
//**************Dies & Das:* die Titelleiste blinken lassen Ende ***************
//-0118

//+0119
//************** Dies & Das: ist Sommerzeit eingestellt ************************
//uses Windows;
procedure TForm1.Button119Click(Sender: TObject);
var
  TZ : TTimeZoneInformation;
begin
  Button119.Width := 240;
  case GetTimeZoneInformation(TZ) of
    TIME_ZONE_ID_STANDARD : Button119.caption := 'es ist '+ tz.StandardName;//normale Zeit
    TIME_ZONE_ID_DAYLIGHT : Button119.caption := 'es ist '+ tz.DaylightName;//Sommerzeit
   else
    Button119.Width := 138;
    Button119.caption := 'Unknown';
  end;
  Delay(5000);
  Button119.caption := 'Sommer-Winterzeit';
  Button119.Width := 138;
end;
//************** Dies & Das: ist Sommerzeit eingestellt ************************
//-0119

//+0137
//****************** Dies & Das: Beenden-X ausblenden  *************************
procedure TForm1.Button137Click(Sender: TObject);
Var
  h : Integer;
begin
  h := GetSystemMenu(Handle, FALSE);
  if (h <> 0) then
  DeleteMenu(h, SC_CLOSE, MF_BYCOMMAND);
  Button137.Caption := 'deaktiviert';
  Delay(5000);
  GetSystemMenu(Handle, True);
  Button137.Caption := 'aktiviert';
//  BorderIcons := BorderIcons - [biSystemMenu];  kann auch benutzt werden
//  BorderIcons := BorderIcons + [biSystemMenu];
end;
//****************** Dies & Das: Beenden-X ausblenden Ende *********************
//-0137

//+0120
//************ Dies & Das: alle Funktionen einer DLL auflisten *****************
//uses ImageHlp; 
procedure ListDLLExports(const FileName: string; List: TStrings);
type
  TDWordArray = array [0..$FFFFF] of DWORD;
var
  imageinfo: LoadedImage;
  pExportDirectory: PImageExportDirectory;
  dirsize: Cardinal;
  pDummy: PImageSectionHeader;
  i: Cardinal;
  pNameRVAs: ^TDWordArray;
  Name: string;
begin
  List.Clear;
  if MapAndLoad(PChar(FileName), nil, @imageinfo, True, True) then
  begin
    try
      pExportDirectory := ImageDirectoryEntryToData(imageinfo.MappedAddress,
      False, IMAGE_DIRECTORY_ENTRY_EXPORT, dirsize);
      if (pExportDirectory <> nil) then
      begin
        pNameRVAs := ImageRvaToVa(imageinfo.FileHeader,imageinfo.MappedAddress,
        DWORD(pExportDirectory^.AddressOfNames), pDummy);
        for i := 0 to pExportDirectory^.NumberOfNames - 1 do
        begin
          Name := PChar(ImageRvaToVa(imageinfo.FileHeader,imageinfo.MappedAddress,
          pNameRVAs^[i], pDummy));
          List.Add(Name);
        end;
      end;
    finally
      UnMapAndLoad(@imageinfo);
    end;
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button120Click(Sender: TObject);
var
  List : TStrings;
  i    : Integer;
  s    : string;
begin
  List := TStringList.Create;
  try
    OpenDialog1.Filter := 'Dll_Dateien (*.dll)|*.dll';
    if Opendialog1.Execute then
  //  Application.Icon.LoadFromFile(OpenPictureDialog1.FileName);
    ListDLLExports(Opendialog1.FileName, List);
  //ListDLLExports('C:\Windows\SYSTEM\S32Stat.dll', List);  //für eine bestimmte
    ShowMessage(IntToStr(list.Count) + ' functions in dll');
    s := 'List of functions: '+ opendialog1.FileName + ^J;
    for i := 0 to List.Count - 1 do
    s := s + #13#10 + List[i];
    ShowMessage(S);
  finally
    List.Free
  end;
end;
//************ Dies & Das: alle Funktionen einer DLL auflisten Ende ************
//-0120

//+0121
//************ Dies & Das: Die Bildschirmauflösung verändern *******************
function change_resolution(width, height: word): boolean;
var
  lpDevMode: TDeviceMode;
begin
  Result := EnumDisplaySettings(nil, 0, lpDevMode);
  if Result then
  begin
    lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
    lpDevMode.dmPelsWidth := width;
    lpDevMode.dmPelsHeight := height;
    Result := ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY) =
    DISP_CHANGE_SUCCESSFUL;
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button121Click(Sender: TObject);
begin
  change_resolution(1024,768);
  Delay(4000);
  change_resolution(800,600);
end;
//************ Dies & Das: Die Bildschirmauflösung verändern Ende **************
//-0121

//+0122
//**** Dies & Das: Programmanzeige in der Taskleiste zeigen - verstecken *******
procedure TForm1.Button122Click(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
  Delay(3000);
  ShowWindow(Application.Handle, SW_Show);
end;
//** Dies & Das: Programmanzeige in der Taskleiste zeigen - verstecken Ende ****
//-0122

//+B123
//******************** Dies & Das: Das Alter berechnen *************************

//************************* Schaltjahr = TRUE **********************************
function IsLeapYear(AYear: Integer): Boolean;
begin
  Result := (AYear mod 4 = 0) and ((AYear mod 100 <> 0) or
            (AYear mod 400 = 0));
end;
//************************** Schaltjahr = TRUE Ende ****************************

function CalculateAge(Birthday,CurrentDate : TDate): Integer;
var
  Month, Day, Year, CurrentYear, CurrentMonth, CurrentDay : Word;
begin
  DecodeDate(Birthday, Year, Month, Day);
  DecodeDate(CurrentDate, CurrentYear, CurrentMonth, CurrentDay);
  if (Year = CurrentYear) and (Month = CurrentMonth) and
     (Day = CurrentDay) then
  begin
    Result := 0;
  end
  else
  begin
    Result := CurrentYear - Year;
    if (Month > CurrentMonth) then
      Dec(Result)
    else
    begin
      if Month = CurrentMonth then
        if (Day > CurrentDay) then
          Dec(Result);
    end;
  end;
end;
//******************** Dies & Das: Das Alter berechnen Ende ********************
//-B123

//+Alter
//******************** Dies & Das: Das Alter berechnen *************************
procedure TForm1.Button123Click(Sender: TObject);
begin
  Button123.Visible := False;
  Edit3.Visible := True;
  Edit3.SetFocus;
  Edit4.Visible := True;
  Edit5.Visible := True;
  Label130.Visible := True;
  Label131.Visible := True;
  Edit3.Text := '';
  Edit4.Text := '';
  Edit5.Text := '';
end;

procedure TForm1.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  If (Key = VK_RETURN) Then
  Begin
    Self.Perform(WM_NEXTDLGCTL, 0, 0);
  End;
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  If not (key in [#8, #46, #48 .. #57]) then key := #0;
end;

procedure TForm1.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  If (Key = VK_RETURN) Then
  Begin
    Self.Perform(WM_NEXTDLGCTL, 0, 0);
  End;
end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
  If not (key in [#8, #46, #48 .. #57]) then key := #0;
end;

procedure TForm1.Edit5KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  If (Key = VK_RETURN) Then
  Begin
    Self.Perform(WM_NEXTDLGCTL, 0, 0);
  End;
end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
  If not (key in [#8, #46, #48 .. #57]) then key := #0;
end;

procedure TForm1.Edit3Change(Sender: TObject);
Var Zahl : Integer;
begin
  If (Edit3.Text <> '') Then
  Begin
    Zahl := StrToInt(Edit3.Text);
    If (Zahl <0) Or (Zahl >31) Then Edit3.Clear;
  End;
  If (Length(Edit3.Text) >= 2) Then
  Self.Perform(WM_NEXTDLGCTL, 0, 0);
end;

procedure TForm1.Edit4Change(Sender: TObject);
Var Zahl : Integer;
begin
  If (Edit4.Text <> '') Then
  Begin
    Zahl := StrToInt(Edit4.Text);
    If (Zahl <0) Or (Zahl >12) Then Edit4.Clear;
  End;
  If (Length(Edit4.Text) >= 2) Then
  Self.Perform(WM_NEXTDLGCTL, 0, 0);
end;

procedure TForm1.Edit5Change(Sender: TObject);
Var Zahl,Zahl1,Zahl2 : Integer;
begin
  If (Length(Edit5.Text) >= 4) Then
  Begin
    If (Edit5.Text <> '') Then
    Begin
      Zahl := StrToInt(Edit5.Text); //Jahr
      Zahl1 := StrToInt(Edit3.Text); //Tag
      Zahl2 := StrToInt(Edit4.Text); //Monat
      If (Not IsLeapYear(Zahl) And (Zahl2 = 2) And (Zahl1 = 29))
      Then Edit5.Clear;
      Button123.Visible := True;
      Button123.Caption := Format('Ihr Alter ist %d',
      [CalculateAge(StrToDate(Edit3.Text+'.'+Edit4.Text+'.'+Edit5.Text),Date)]);
      Edit3.Visible := False;
      Edit4.Visible := False;
      Edit5.Visible := False;
      Label130.Visible := False;
      Label131.Visible := False;
      Delay(3000);
      Button123.Caption := 'Alter errechnen';
    End;
    If (Edit5.Text <> '') Then
    Self.Perform(WM_NEXTDLGCTL, 0, 0);
  End;
end;
//******************** Dies & Das: Das Alter berechnen *************************
//-Alter

//+B125
//******************** Dies & Das: Kalenderwoche errechnen *********************
procedure TForm1.Button125Click(Sender: TObject);
Var Zahl : Byte;
begin
  Zahl := GetWeekOfYear(Now);
  Button125.Caption := 'Wir sind in der ' + IntToStr(Zahl ) + ' Kw';
  Delay(3000);
  Button125.Caption := 'Kalenderwoche';
end;
//******************** Dies & Das: Kalenderwoche errechnen Ende ****************
//-B125

//+B124
//**************** Dies & Das: Dateinamen auseinandernehmen ********************
procedure TForm1.Button124Click(Sender: TObject);
var
  l       : Word;
  string1 : string;
begin
  if OpenDialog1.Execute then
  begin
    string1 := ExtractFileName(OpenDialog1.FileName);
    l := length(string1)-3;
    Delete(string1,l,5);
    MessageDlg('Pfad:    '+ ExtractFilePath(OpenDialog1.FileName)+ '      ' + ^J^J +
            // 'Name:  '+ ExtractFileName(OpenDialog1.FileName)+ '      ' + ^J^J +//mit ext.
               'Name:  '+ String1 + '      ' + ^J^J +                             //ohne ext.
               'Ext :    '+ ExtractFileExt(OpenDialog1.FileName),mtInformation,[mbOk],0);
  end;
end;
//*************** Dies & Das: Dateinamen auseinandernehmen Ende ****************
//-B124

//+B170
//********* Dies & Das1: die installierten Tastatur Layouts auflisten **********
procedure GetKLList(List: TStrings);
var
  AList : array [0..9] of Hkl;
  AklName: array [0..255] of Char;
  i: Longint;
begin
  List.Clear;
  for i := 0 to GetKeyboardLayoutList(SizeOf(AList), AList) - 1 do
  begin
    GetLocaleInfo(LoWord(AList[i]), LOCALE_SLANGUAGE, AklName, SizeOf(AklName));
    List.AddObject(AklName, Pointer(AList[i]));
  end;
end;

procedure TForm1.Button170Click(Sender: TObject);
begin
  WinExec('C:\WINDOWS\SYSTEM\Internat.exe', 0);//Eigensch von Tastatur & Sprache 
  GetKLList(ListBox15.Items);
end;

procedure TForm1.ListBox15Click(Sender: TObject);
begin
  with Sender as TListBox do
  ActivateKeyboardLayout(Hkl(Items.Objects[ItemIndex]), 0);
  Showmessage('Layout umgeschaltet ...');  
end;
//****** Dies & Das1: die installierten Tastatur Layouts auflisten Ende ********
//-B170

//+B140
//**************** Dies & Das1: Überprüfung einer Button.Caption ***************
procedure TForm1.Button140Click(Sender: TObject);
begin
  If Button140.Caption <> '©2003 by D.B.' Then
  begin
    Showmessage('Der Copyrighthinweis  ©2003 by D.B. '+ ^J^J +
    'stimmt nicht mit' + ' Button.Caption überein');
    Delay(500);
    Button140.Caption := '©2003 by D.B.';
    Showmessage('Jetzt stimmt es wieder ...');     
  end;
end;
//************* Dies & Das1: Überprüfung einer Button.Caption Ende *************
//-B140

//+B141
//****Dies & Das1: einen langen Dateinamen anzeigen wie c:\..\pfaddatei.txt ****
procedure TForm1.Button141Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  Button141.Caption := MinimizeName(Opendialog1.FileName,Label1.Canvas,Button141.Width);
end;
//**Dies & Das1: einen langen Dateinamen anzeigen wie c:\..\pfaddatei.txt Ende**
//-B141

//+B142
//***************** Dies & Das1: ein Verzeichnis umbenennen ********************
procedure TForm1.Button142Click(Sender: TObject);
var
  Dir: string;
begin
  Dir := 'C:\Test22';
  if DirectoryExists('C:\Test22') then
  begin
    ShowMessage(' Den Ordner '+ #13#10#13#10 + Dir + ' gibt es schon.');
  end
 else
//ForceDirectories erzeugt alle Ordner im angegebenen Pfad,sofern sie nicht existieren
  if ForceDirectories(Dir) then
  ShowMessage(' Der Ordner '+ #13#10#13#10 + Dir + ' wurde erfolgreich erstellt.');
  if DirectoryExists('C:\Test22') then
  begin
    If MessageDlg(' Soll der Ordner ' + Dir + ' in c:\Test44 umbenannt werden ',
    mtConfirmation, [mbNo, mbOK], 0) = mrOK Then
    begin
      RenameFile('c:\Test22\', 'c:\Test44');
      deldir('C:\Test22');
      ShowMessage('Der Ordner ' + Dir + #13#10#13#10 +
      'wurden erfolgreich in c:\Test44 umbenannt.');
      If MessageDlg(' Soll der Ordner c:\Test44 jetzt gelöscht werden ',
      mtConfirmation, [mbNo, mbOK], 0) = mrOK Then
      begin
        deldir('C:\Test44');
        ShowMessage('Der Ordner C:\Test44 '+ #13#10#13#10 +
       'wurde erfolgreich gelöscht.');
      end
      else
      ShowMessage('Der Ordner C:\Test44 '+ #13#10#13#10 +
      'bleibt erhalten.');
    end
  else
    ShowMessage('Der Ordner C:\Test22 '+ #13#10#13#10 +
    'bleibt erhalten.');
  end;
end;
//***************** Dies & Das1: ein Verzeichnis umbenennen End ****************
//-B142

//+B143
//***************** Dies & Das1: Systemzeit & Datum ändern *********************
// Systemzeit & Datum ändern
procedure TForm1.Button143Click(Sender: TObject);
var
   systime : TSystemTime;
   zeit, datum:string;
begin
  zeit:='12:34:56';
  datum:='01.02.1989';
  DateTimeToSystemTime( StrToDate(datum)+StrToTime(zeit), systime);
  SetLocalTime(systime);
  ShowMessage(' Die Systemzeit && Datum wurden geändert auf'+ ^J^J +
              '                12:34:56  und  01.02.1989');
end;
//***************** Dies & Das1: Systemzeit & Datum ändern Ende ****************
//-B143

//+B144
//***************** Dies & Das1: Ländercode ändern *****************************
procedure TForm1.Button144Click(Sender: TObject);
var
  LangIdentifier: String;
begin
  LangIdentifier := '00000409'; //US Tastatur Layout
 {"00000402"="bg"   "00000404"="ch"   "00000405"="cz"   "00000406"="dk"
  "00000407"="gr"   "00000408"="gk"   "00000409"="us"   "0000040A"="sp"
  "0000040B"="su"   "0000040C"="fr"   "0000040E"="hu"   "0000040F"="is"
  "00000410"="it"   "00000411"="jp"   "00000412"="ko"   "00000413"="nl"
  "00000414"="no"   "00000415"="pl"   "00000416"="br"   "00000418"="ro"
  "00000419"="ru"   "0000041A"="yu"   "0000041B"="sl"   "0000041C"="us"
  "0000041D"="sv"   "0000041F"="tr"   "00000422"="us"   "00000423"="us"
  "00000424"="yu"   "00000425"="et"   "00000426"="us"   "00000427"="us"
  "00000804"="ch"   "00000807"="sg"   "00000809"="uk"   "0000080A"="la"
  "0000080C"="be"   "00000813"="be"   "00000816"="po"   "00000C0C"="cf"
  "00000C1A"="us"   "00001009"="us"   "0000100C"="sf"   "00001809"="us"
  "00010402"="us"   "00010405"="cz"   "00010407"="gr"   "00010408"="gk"
  "00010409"="dv"   "0001040A"="sp"   "0001040E"="hu"   "00010410"="it"
  "00010415"="pl"   "00010419"="ru"   "0001041B"="sl"   "0001041F"="tr"
  "00010426"="us"   "00010C0C"="cf"   "00010C1A"="us"   "00020408"="gk"
  "00020409"="us"   "00030409"="usl"  "00040409"="usr"  "00050408"="gk"  }
  LoadKeyboardLayout(PChar(LangIdentifier),KLF_ACTIVATE);
  Button144.caption := 'US - Layout';// LangIdentifier;
  Delay(5000);
  LangIdentifier := '00000407'; //GR Tastatur Layout
  LoadKeyboardLayout(PChar(LangIdentifier),KLF_ACTIVATE);
  Button144.caption := 'GR - Layout';//LangIdentifier;
End;
//***************** Dies & Das1: Ländercode ändern Ende ************************
//-B144

//+B145
//***************** Dies & Das1: eine Form klonen ******************************
procedure TForm1.Button145Click(Sender: TObject);
var
  ms      : TMemoryStream;
  newform : TForm1;
begin
  ms := TMemoryStream.Create;
  try
    ms.WriteComponent(Form1);
    newform := TForm1.CreateNew(Application);
    ms.Position := 0;
    ms.ReadComponent(newform);
    newform.Position := poDefault;
    newform.height := 395;
    newform.width := 610;
    newform.Show;
    newform.Caption := '       ... Wie geht was ...     [ geklont ]';
  finally
    //ms.SaveToFile('geklont.txt');
    ms.Free
  end;
end;
//***************** Dies & Das1: eine Form klonen Ende *************************
//-B145

//+B146
//************ Dies & Das1: Einen Farbverlauf auf Form1 zeichnen ***************
procedure DrawGradient(Canvas : TCanvas; Color1, Color2 : TColor; Rect : TRect);
var
  Y, R, G, B : Integer;
begin
  for Y := Rect.Top to Rect.Bottom do
  begin
    R := Round(GetRValue(Color1) + ((GetRValue(Color2) - GetRValue(Color1)) * Y /
    (Rect.Bottom - Rect.Top)));
    G := Round(GetGValue(Color1) + ((GetGValue(Color2) - GetGValue(Color1)) * Y /
    (Rect.Bottom - Rect.Top)));
    B := Round(GetBValue(Color1) + ((GetBValue(Color2) - GetBValue(Color1)) * Y /
    (Rect.Bottom - Rect.Top)));

    Canvas.Pen.Color := RGB(R, G, B);
    Canvas.Pen.Width := 2;
    Canvas.Pen.Style := psInsideFrame;

    Canvas.MoveTo(Rect.Left, Y);
    Canvas.LineTo(Rect.Right, Y);
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button146Click(Sender: TObject);
begin
  DrawGradient(Canvas,clyellow,clRed,ClientRect);
  Delay(5000);
  DrawGradient(Canvas,clsilver,clsilver,ClientRect);
end;
//************ Dies & Das1: Einen Farbverlauf auf Form1 zeichnen Ende **********
//-B146
//+B147
//************ Dies & Das1: Anzahl der Tage eines bestimmten Monats ************
function GetDaysOfMonth(const Month, Year : Word) : Word;
begin
  case Month of
    1, 3, 5, 7, 8, 10, 12 : Result := 31;
    4, 6, 9, 11           : Result := 30;
    2 : if IsLeapYear(Year) then
        Result := 29
      else
        Result := 28;
    else
    Result := 0;
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button147Click(Sender: TObject);
begin
  Button147.Caption := 'Feb.2000 hatte ' + InttoStr(GetDaysOfMonth(2, 2000));
end;
//************ Dies & Das1: Anzahl der Tage eines bestimmten Monats ************
//-B147

//+B148
//******** Dies & Das1: Dokumenten-Liste im Windows Startmenü löschen **********
procedure TForm1.Button148Click(Sender: TObject);
begin
  SHAddToRecentDocs(SHARD_PATH, NIL);
  ShowMessage(' Die Dokumenten - Liste im Windows Startmenü wurde geleert ...');
end;
//******** Dies & Das1: Dokumenten-Liste im Windows Startmenü löschen Ende *****
//-B148

//+B149
// Dies & Das1: bestimmte Datei in den Dokumenten Ordner des Startmenüs legen **
//uses ShellAPI, ShlOBJ;
procedure AddToStartDocumentsMenu(sFilePath : string);
begin
  SHAddToRecentDocs(SHARD_PATH, PChar( sFilePath ) );
end;

//Aufruf - Beispiel:
procedure TForm1.Button149Click(Sender: TObject);
begin
  AddToStartDocumentsMenu('C:\Windows\Free.exe');
  ShowMessage(' Die Datei C:\Windows\Free.exe wurde ' + ^J^J +
              ' in Dokumentenliste eingefügt');
end;
//Dies&Das1:bestimmte Datei in den Dokumenten Ordner des Startmenüs legen Ende *
//-B149

//+B150
//Dies&Das1: ****** Die Icon - Anzahl in exe / dll bestimmen *******************
// uses shellapi;

function IconAnzahl(FileName: string):Integer;
var Icon : TIcon;
    PC   : Array [0..max_path] of Char;
begin
 StrPCopy(PC, FileName);
 result:=ExtractIconEx(PC,(-1),HIcon(Icon),HIcon(Icon),1);
end;

//Aufruf - Beispiel:
procedure TForm1.Button150Click(Sender: TObject);
begin
  OpenDialog1.Filter := 'Exe-Dateien (*.exe)|*.EXE|Dll-Dateien (*.dll)|*.Dll';
  if OpenDialog1.Execute then
  begin
    Button150.Caption:= 'Icon-Anzahl: ' + IntToStr(IconAnzahl(OpenDialog1.FileName));
    // Button150.Caption:=IntToStr(IconAnzahl('C:\windows\explorer.exe'));
    Delay(3000);
    Button150.Caption := 'Icon-Anz in exe/dll';
  end;
end;
//Dies&Das1: ****** Die Icon - Anzahl in exe / dll bestimmen Ende **************
//-B150

//+B151
//Dies&Das1: *********** Symbolische Laufwerke anlegen *************************
//Symbolische Laufwerke anlegen
procedure TForm1.Button151Click(Sender: TObject);
begin
  //anlegen
  if DefineDosDevice(0, 'Z:', 'C:\windows') then
  ShowMessage('Laufwerk [ Z ] erfolgreich hinzugefügt');
  Delay(3000);
  If MessageDlg(' Soll das Laufwerk [ Z ] wieder entfernt werden? ',
  mtConfirmation, [mbNo, mbOK], 0) = mrOK Then
  begin
    //entfernen
    if DefineDosDevice(DDD_REMOVE_DEFINITION, 'Z:', nil) then
    ShowMessage('Laufwerk [ Z ] erfolgreich entfernt');
  end
  else
  ShowMessage('Laufwerk [ Z ] bleibt erhalten! ...');
end;
//Dies&Das1: *********** Symbolische Laufwerke anlegen Ende ********************
//-B151

//+B152
//Dies&Das1: ****den Default-Button in einem Message-Dialog bestimmen **********
function DefMessageDlg(const ACaption: string;
const
   Msg: string;
   DlgType: TMsgDlgType;
   Buttons: TMsgDlgButtons;
   DefButton: Integer;
   HelpCtx: Longint): Integer;
var
  i: Integer;
  btn: TButton;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
    try
      Caption := ACaption;
      HelpContext := HelpCtx;
      for i := 0 to ComponentCount - 1 do
      begin
        if (Components[i] is TButton) then
        begin
          btn := TButton(Components[i]);
          btn.default := btn.ModalResult = DefButton;
          if btn.default then ActiveControl := btn;
        end;
      end;
      Result := ShowModal;
    finally
      Free;
    end;
end;

//Aufruf - Beispiel:
// Setzt den Fokus auf den "Nein"-Button
procedure TForm1.Button152Click(Sender: TObject);
begin
  if DefMessageDlg('Ein Text Ihrer Wahl','hier auch' + ^J^J + 'hier auch' ,
  mtInformation, mbYesNoCancel, mrNo, 0) = mrYes then
  ShowMessage('Eine weitere Meldung ...');
end;
//Dies&Das1:*** den Default-Button in einem Message-Dialog bestimmen Ende ******
//-B152

//+B153
//Dies&Das1:******** eine INF-Datei mit Delphi installieren ********************
//uses  ShellAPI;
function InstallINF(const PathName : string; hParent : HWND) : Boolean;
var
  instance : HINST;
begin
  instance := ShellExecute(hParent, PChar('open'),PChar('rundll32.exe'),
  PChar('setupapi,InstallHinfSection DefaultInstall 132 ' + PathName), nil,
  SW_HIDE);
  Result := instance > 32;
end; { InstallINF }

//Aufruf - Beispiel:
procedure TForm1.Button153Click(Sender: TObject);
begin
  OpenDialog1.Filter := 'Inf-Dateien (*.inf)|*.inf';
  if OpenDialog1.Execute then
  begin
    InstallINF(OpenDialog1.FileName , 0);
    ShowMessage(' Die Datei '+ OpenDialog1.FileName + ^J^J +
                 ' wurde installiert ... ');
  end;
end;
//Dies&Das1:******** eine INF-Datei mit Delphi installieren ********************
//-B153

//+B154
//Dies&Das1:******** Einen Mausklick auf einen Button simulieren ***************
procedure TForm1.Button154Click(Sender: TObject);
begin
  Button170.Perform(WM_LButtonDown,0,0);
  sleep(400); //oder eigene Delay-Funktion
  Button170.Perform(WM_LButtonUp,0,0);
end;
//Dies&Das1:******** Einen Mausklick auf einen Button simulieren Ende **********
//-B154

//+B155
//Dies&Das1:******** Das TabbedNotebook1 eine Seite weiter schalten. ***********
procedure TForm1.Button155Click(Sender: TObject);
begin
   TabbedNotebook1.PageIndex := 12; //Die erste Seite erhält dabei den Wert 0,
   Delay(2500);                     //die zweite den Wert 1 usw.
   TabbedNotebook1.PageIndex := 11;
end;
//Dies&Das1:******** Das TabbedNotebook1 eine Seite weiter schalten. Ende ******
//-B155

//+B156
//Dies&Das1:***************** Animierte Cursor einbinden ***********************
procedure TForm1.Button156Click(Sender: TObject);
const
 crMyCursor = 22391; //x-beliebige Zahl
begin
  Screen.Cursors[crMyCursor]:= LoadCursorFromFile('Globe.ani');
  Screen.Cursor := crMyCursor;
  Delay(3000);
  Screen.Cursor := crDefault;
end;
//Dies&Das1:***************** Animierte Cursor einbinden Ende ******************
//-B156

//+B157
//Dies&Das1:******** letztes Änderungsdatum einer Datei auslesen ***************
function GetFileModifyDate(FileName: string): TDateTime; 
var 
  h: THandle; 
  Struct: TOFSTRUCT; 
  lastwrite: Integer; 
begin 
  h := OpenFile(PChar(FileName), Struct, OF_SHARE_DENY_NONE); 
  try
    if h <> HFILE_ERROR then
    begin
      lastwrite := FileGetDate(h);
      Result    := FileDateToDateTime(lastwrite);
    end;
  finally
    CloseHandle(h); 
  end; 
end;

//Aufruf - Beispiel:
procedure TForm1.Button157Click(Sender: TObject);
begin
  if Opendialog1.Execute then
  ShowMessage(' Das letztes Änderungsdatum der Datei '+ ^J^J +
  OpenDialog1.FileName + ^J^J +
  ' war am: ' + FormatDateTime(' dddd, d. mmmm yyyy hh:mm:ss',
  GetFileModifyDate(Opendialog1.FileName)));
end;
//Dies&Das1:****** letztes Änderungsdatum einer Datei auslesen Ende ************
//-B157

//+B158
//Dies&Das1:****** letzten Tag des aktuellen Monats ermitteln ******************
function LastDayOfCurrentMonth: TDate;
var
  y, m, d : word;
begin
  decodedate(now, y, m, d);
  m := m + 1;
  if m > 12 then
  begin
    y := y + 1;
    m := 1;
  end;
  result := encodedate(y, m, 1) - 1;
end;

//Aufruf - Beispiel:
procedure TForm1.Button158Click(Sender: TObject);
var
  day : array[1..7] of string;
begin
  day[1] := 'Sonntag';    //Array nur wenn Wochentag gewünscht!
  day[2] := 'Montag';
  day[3] := 'Dienstag';
  day[4] := 'Mittwoch';
  day[5] := 'Donnerstag';
  day[6] := 'Freitag';
  day[7] := 'Samstag';

   //ohne Wochentag
  ShowMessage(' Der letzten Tag des aktuellen Monats ist der '+^J^J+
  '                            '+ DateToStr(LastDayOfCurrentMonth));

  //ohne Datum
   ShowMessage(' Der letzten Tag des aktuellen Monats ist der '+^J^J+
  '                           '+ '( ' + day[DayOfWeek(LastDayOfCurrentMonth)] + ' )');

  //mit Datum & Wochentag
  ShowMessage(' Der letzten Tag des aktuellen Monats ist der '+^J^J+
  '               '+ DateToStr(LastDayOfCurrentMonth) + '  ein: ' + '( ' +
  day[DayOfWeek(LastDayOfCurrentMonth)] + ' )');
end;
//Dies&Das1:****** letzten Tag des aktuellen Monats ermitteln Ende *************
//-B158

//+B159
//Dies&Das1:****** einem Button ein anderes Style verpassen ********************
procedure TForm1.Button159Click(Sender: TObject);
begin
  //in FormCreate einfügen
  SetWindowLong(Button159.Handle, GWL_EXSTYLE,
  GetWindowLong(Button159.Handle,GWL_EXSTYLE) or WS_EX_CLIENTEDGE);
  SetWindowPos(Button159.Handle, 0, 0, 0, 0, 0,
  swp_DrawFrame or swp_NoMove or swp_NoSize or swp_NoZOrder);
end;
//Dies&Das1:****** einem Button ein anderes Style verpassen Ende ***************
//-B159

//+B160
//Dies&Das1:****** Ballon-Tips in der eigenen Anwednung erstellen **************
//uses
//   Commctrl;
procedure ShowBalloonTip(Control: TWinControl;Icon: integer; Title: pchar;
Text: PWideChar; BackCL, TextCL: TColor);
const
  TOOLTIPS_CLASS = 'tooltips_class32';
  TTS_ALWAYSTIP = $01;
  TTS_NOPREFIX = $02;
  TTS_BALLOON = $40;
  TTF_SUBCLASS = $0010;
  TTF_TRANSPARENT = $0100;
  TTF_CENTERTIP = $0002;
  TTM_ADDTOOL = $0400 + 50;
  TTM_SETTITLE = (WM_USER + 32);
  ICC_WIN95_CLASSES = $000000FF;
type
  TOOLINFO = packed record
    cbSize: Integer;
    uFlags: Integer;
    hwnd: THandle;
    uId: Integer;
    rect: TRect; 
    hinst: THandle;
    lpszText: PWideChar; 
    lParam: Integer;
  end; 
var
  hWndTip: THandle; 
  ti: TOOLINFO;
  hWnd: THandle; 
begin
  hWnd    := Control.Handle; 
  hWndTip := CreateWindow(TOOLTIPS_CLASS, nil,
  WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP,0,0,0,0,hWnd,0,HInstance, nil);
  if hWndTip <> 0 then
  begin 
    SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0,
    SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); 
    ti.cbSize := SizeOf(ti);
    ti.uFlags := TTF_CENTERTIP or TTF_TRANSPARENT or TTF_SUBCLASS;ti.hwnd := hWnd;
    ti.lpszText := Text;
    Windows.GetClientRect(hWnd, ti.rect);
    SendMessage(hWndTip, TTM_SETTIPBKCOLOR, BackCL, 0);
    SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, TextCL,0);
    SendMessage(hWndTip, TTM_ADDTOOL, 1, Integer(@ti)); 
    SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4,Integer(Title));
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button160Click(Sender: TObject);
begin
  ShowBalloonTip(Button160,1,'Titel: Balloon tooltip ...',
  'Kommentar: Wie geht was ... ' + ^J +
  'Kommentar: Wie geht das ... ',clyellow,clblack);
  //ShowBalloonTip(Button160,1,'Title: Balloon tooltip ...
  //                         0 - No icon
  //                         1 - Information
  //                         2 - Warning
  //                         3 - Error
end;
//Dies&Das1:****** Ballon-Tips in der eigenen Anwednung erstellen **************
//-B160

//+B161
//Dies&Das1:****** Das Cookie-Verzeichnis ermitteln ****************************
//uses Registry;
function GetDirectory: string;
var
  reg : TRegistry;
begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Special Paths\Cookies',False);
    Result := reg.ReadString('Directory');
  finally
    reg.Free;
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button161Click(Sender: TObject);
var
  s : string;
begin
  S := GetDirectory;
  ShowMessage(LowerCase(' ' + GetDirectory + ' '));  //alles in Kleinbuchstaben
//ShowMessage(Uppercase(' ' + GetDirectory + ' '));  //alles in Grossbuchstaben
end;
//Dies&Das1:****** Das Cookie-Verzeichnis ermitteln Ende ***********************
//-B161

//+B162
//Dies&Das1:************* Tastatur LEDs ansteuern ******************************
procedure TForm1.Button162Click(Sender: TObject);
var
  keys: TKeyboardState;
begin
  //1 = on, 0 = off
  GetKeyboardState(keys);
  keys[VK_NUMLOCK]  := 1;   //Num Lock
  keys[VK_CAPITAL]  := 1;  //Caps Lock
  keys[VK_SCROLL]   := 1;  //Scroll Lock
  SetKeyboardState(keys);
  Delay(3000);
//keys[VK_NUMLOCK]  := 1;   //Num Lock
  keys[VK_CAPITAL]  := 0;  //Caps Lock
  keys[VK_SCROLL]   := 0;  //Scroll Lock
  SetKeyboardState(keys);
end;
//Dies&Das1:************* Tastatur LEDs ansteuern Ende *************************
//-B162

//+B163
//Dies&Das1:****** Lizenzierungsinformationen von Windows anzeigen *************
//uses Registry;   
function GetRegisteredOwner: String;          //Name
var vi: TOSVersionInfo;
    reg: TRegistry;
begin
  result:='';
  reg := TRegistry.Create;
  try
   vi.dwOSVersionInfoSize := sizeof(vi);
   getversionex(vi);
   reg.RootKey := HKEY_LOCAL_MACHINE;
   if (vi.dwPlatformId = VER_PLATFORM_WIN32_NT) then
   reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion', false)
  else
   reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', false);
   result := reg.ReadString('RegisteredOwner');
  finally
   reg.Free;
  end;
end;

function GetRegisteredOrganization: String;   //Firma
var vi: TOSVersionInfo;
    reg: TRegistry;
begin
  result:='';
  reg := TRegistry.Create;
  try
   vi.dwOSVersionInfoSize := sizeof(vi);
   getversionex(vi);
   reg.RootKey := HKEY_LOCAL_MACHINE;
   if (vi.dwPlatformId = VER_PLATFORM_WIN32_NT) then
   reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion', false)
  else
   reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', false);
   result := reg.ReadString('RegisteredOrganization');
  finally
   reg.Free;
  end;
end;

//Aufruf - Beispiel:
procedure TForm1.Button163Click(Sender: TObject);
begin
  If DefMessageDlg('Lizenznehmer - Info','Name: ' + GetRegisteredOwner +
  ^J^J + 'Firma: '+ GetRegisteredOrganization +
  ^J^J, mtInformation, mbOkCancel,0,0)= mrOk then
  Exit;

 { if DefMessageDlg('Lizenznehmer - Info','Name: ' + GetRegisteredOwner +
  ^J^J + 'Firma: '+ GetRegisteredOrganization +
  ^J^J, mtInformation, mbOKCancel, mrNo, 0) = mrOk then
  Exit
 else
  Exit;                }

//  ShowMessage('Name: ' + GetRegisteredOwner + ' ' + ^J^J +
//              'Firma: ' + GetRegisteredOrganization + ' ');
end;
//Dies&Das1:****** Lizenzierungsinformationen von Windows anzeigen Ende ********
//-B163

//+B164
//Dies&Das1:************** die Desktop Icons ausrichten ************************
//uses CommCtrl;
function GetDesktopListViewHandle: THandle;
var
  S: String;
begin
  Result := FindWindow('ProgMan', nil);
  Result := GetWindow(Result, GW_CHILD);
  Result := GetWindow(Result, GW_CHILD);
  SetLength(S, 40);
  GetClassName(Result, PChar(S), 39);
  if PChar(S) <> 'SysListView32' then Result := 0;
end;

//Aufruf - Beispiel:
procedure TForm1.Button164Click(Sender: TObject);
begin
  if MessageDlg('Sollen die Desktop Icons am Raster ausgerichtet werden?',
  mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  SendMessage(GetDesktopListViewHandle, LVM_ARRANGE, LVA_SNAPTOGRID, 0)
else
  MessageDlg('Dann eben nicht ...', mtInformation, [mbOk], 0);
  {LVM_ Messages in win32.hlp Datei

  LVA_ALIGNLEFT	   Aligns items along the left edge of the window.
  LVA_ALIGNTOP	   Aligns items along the top edge of the window.
  LVA_DEFAULT	   Aligns items according to the list view control's
                   current alignment styles (the default value).
  LVA_SNAPTOGRID   am Raster ausrichten     }
end;
//Dies&Das1:************ die Desktop Icons ausrichten Ende *********************
//-B164

//+B165
//Dies&Das1:************ Schriftart der Captionbar ändern **********************
procedure TForm1.Button165Click(Sender: TObject);
var
  ACanvas : TCanvas;
begin
  ACanvas := TCanvas.Create;
  try
    ACanvas.Handle := GetWindowDC(Form1.Handle);
    with ACanvas do
    begin
    //  Brush.Color := clActiveCaption;      //wenn Farbe geändert werden soll
      Font.Name   := 'Times New Roman';
      Font.Size   := 12;
      Font.Color  := clCaptionText;
      Font.Style  := [fsItalic, fsBold];
      Form1.Caption := '';
      SetBkMode(ACanvas.Handle, TRANSPARENT);//damit Farbverlauf erhalten bleibt
      TextOut(GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CXBORDER),
              Round((GetSystemMetrics(SM_CYCAPTION) - Abs(Font.Height))/2)+2,
      '       Die Schriftart der Captionbar wurde geändern       ');
    end;
  finally
    ReleaseDC(Form1.Handle, ACanvas.Handle);
    ACanvas.Free;
  end;
  Delay(2500);
  Form1.Caption := '... Wie geht was 98 ... ';
end;
//Dies&Das1:************ Schriftart der Captionbar ändern Ende *****************
//-B165

//+B166
//Dies&Das1:****** alle Items einer ListBox in eine INI-Datei schreiben ********
//uses inifiles;
//private-Deklarationen:
//   procedure WriteIni(filename: string);
procedure TForm1.WriteIni(filename: string);
var
  ini : TIniFile;
  i   : Integer;
begin
  ini := TIniFile.Create(filename);
  with Ini do
  begin
    ini.EraseSection('THEMEN');
    for I := 0 to ListBox1.Items.Count - 1 do
    begin
      WriteString('THEMEN', IntToStr(I), ListBox1.Items[I]);
    end;
  end;
  Ini.Free;
end;

//Aufruf - Beispiel:
//Einträge in ini schreiben
procedure TForm1.Button166Click(Sender: TObject);
begin
   //hier muss noch die Abfrage rein, ob Exists-wiegehtwas.ini unw.
   WriteIni('.\wiegehtwas.ini');
   ShowMessage(' wiegehtwas.ini wurde angelegt ');
end;
//Dies&Das1:**** alle Items einer ListBox in eine INI-Datei schreiben Ende *****
//-B166

//+B167
//Dies&Das1:*************** Einträge aus Ini in Listbox laden ******************
{uses
  inifiles;
private
    procedure ReadIni(filename: string);    }
procedure TForm1.ReadIni(filename: string);
var
  ini : TIniFile;
  i   : Integer;
  s   : Tstringlist;
begin
  ini:= TIniFile.Create(filename);
  s  := TStringList.Create;
  try
    ini.ReadSection('Themen',s);
    for  i := 0 to  s.Count - 1 do
    begin
     ListBox17.Items.Add(ini.ReadString('THEMEN',s[i],''));
  // memo1.Lines.Add(ini.ReadString('THEMEN',s[i],''));
    end;
  finally
    s.Free;
  end;
    Ini.Free;
end;

//aus ini Lesen
procedure TForm1.Button167Click(Sender: TObject);
begin
  ListBox17.clear;
  ReadIni('.\wiegehtwas.ini');
end;
//Dies&Das1:*********** Einträge aus Ini in Listbox laden Ende *****************
//-B167

//+B168
//Dies&Das1:*********** Goto Anweisung benutzen ********************************
procedure TForm1.Button168Click(Sender: TObject);
Var
  n : Integer;
  Label           //deklarieren
    Anfang, Ende;
begin
  N := 0;
Anfang:
  If n > 200 Then Goto Ende;
  Button168.caption := IntToStr(n);
  Delay(2);
  inc(n);
  Goto Anfang;
Ende:
  Delay(2000);
  Button168.caption := 'Goto Anweisung';
end;
//Dies&Das1:*********** Goto Anweisung benutzen Ende ***************************
//-B168

//+B169
//Dies&Das1:*********** eine Datei im Verzeichnis-Baum suchen ******************
//uses
//  ComObj;
Function SearchForFile(const ARootPath : String;
                       const AFileName : String;
                       var APathFound : String) : Boolean;
var
  Found : array[0..500] of Char;
Begin
  Fillchar(Found, Sizeof(Found), #00);
  Result := (SearchTreeForFile(Pchar(ARootPath),Pchar(AFileName),Found) = True);
  APathFound := ExtractFilePath(Found);
end;

//Aufruf - Beispiel:
procedure TForm1.Button169Click(Sender: TObject);
var
  APathFound,SuchDatei : String;
begin
  SuchDatei := Edit7.Text;
  If Edit7.Text = '' Then
  Begin
    MessageDlg('Und welche Datei soll gesucht werden? ' + ^J^J +
    'Bitte Dateinamen.ext eingeben ...',mtInformation,[mbOK],0)
  end
 else
  Begin
    Screen.Cursor := crHourGlass;
    Button169.Caption := ' Suche läuft ...';
    if SearchForFile('C:\', SuchDatei, APathFound) Then
    ShowMessage(SuchDatei + ' gefunden in: ' + ApathFound)
   else
    MessageDlg('Datei nicht gefunden ...' + ^J^J +
    'Bitte Dateinamen.ext überprüfen ...',mtInformation,[mbOK],0);
    Screen.Cursor := crdefault;
    Button169.Caption := 'Datei suchen';
  end;
end;

//wenn im Editfeld Return gedrückt wird.
procedure TForm1.Edit7KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_RETURN) then
  begin
    Button169Click(self);
  end;
end;
//Dies&Das1:*********** eine Datei im Verzeichnis-Baum suchen Ende *************
//-B169

//+0116
//************************** Form1.Caption scrollen lassen *********************
//Private-Deklarationen
//     Zaehler : Integer;
procedure TForm1.Timer4Timer(Sender: TObject);
var
  Text : String;
begin
  Text := '                    ... Wie geht was ...';
  Inc(Zaehler,2);
  Form1.Caption := Copy(Text,Zaehler,20);
  if Zaehler + 20 > Length(Text) then
  Form1.Caption := Form1.Caption + Copy(Text,1,20 - (Length(Text) - Zaehler));
  if Zaehler = Length(Text) then
  Zaehler := 0;
end;

procedure TForm1.Button116Click(Sender : TObject);
begin
  Timer4.Enabled := True;
  Delay(8000);
  Timer4.Enabled := False;
  Form1.Caption := '  ... Wie geht was ...';
end;
//********************* Form1.Caption scrollen lassen Ende *********************
//-0116

//********************* TabbedNotebook1 - PopupMenue - Seitenwahl **************
procedure TForm1.Bios1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 0;
end;

procedure TForm1.Cpu1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 1;
end;

procedure TForm1.Speicher1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 2;
end;

procedure TForm1.Netzwerk1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 3;
end;

procedure TForm1.Sonstiges1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 4;
end;

procedure TForm1.Fonts1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 5;
end;

procedure TForm1.Drucker1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 6;
end;

procedure TForm1.Maus1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 7;
end;

procedure TForm1.Aufrufe1Click(Sender: TObject);
begin
 TabbedNotebook1.PageIndex := 8;
end;

procedure TForm1.Aufrufe11Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 9;
end;

procedure TForm1.DiesDas2Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 10;
end;

procedure TForm1.DiesDas21Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 11;
end;

procedure TForm1.Sonstiges11Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 12;
end;

procedure TForm1.Sonstiges21Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 13;
end;

procedure TForm1.Sonstiges31Click(Sender: TObject);
begin
   TabbedNotebook1.PageIndex := 14;
end;

procedure TForm1.Allerlei1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 15;
end;

procedure TForm1.Allerlei11Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 16;
end;

procedure TForm1.Grafik1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 17;
end;

procedure TForm1.Laufwerke1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 18;
end;

procedure TForm1.Sound1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 19;
end;

procedure TForm1.Info1Click(Sender: TObject);
begin
  TabbedNotebook1.PageIndex := 20;
end;

//********************** TabbedNotebook1 zurück ********************************
procedure TForm1.N1Click(Sender: TObject);
begin
  If TabbedNotebook1.PageIndex = 0 Then //0 ist erste Seite
  begin
    TabbedNotebook1.PageIndex := 20;
  end
  else
  TabbedNotebook1.PageIndex := TabbedNotebook1.PageIndex -1;
end;
//********************** TabbedNotebook1 zurück Ende ***************************
//********************** TabbedNotebook1 vor ***********************************
procedure TForm1.N2Click(Sender: TObject);
begin
  If TabbedNotebook1.PageIndex = 20 Then //20 ist letzte Seite
  begin
    TabbedNotebook1.PageIndex := 0;
  end
  else
  TabbedNotebook1.PageIndex := TabbedNotebook1.PageIndex +1;
end;
//********************** TabbedNotebook1 vor Ende ******************************
procedure TForm1.Ende1Click(Sender: TObject);
begin
  Form1.Close;
end;
//**************** TabbedNotebook1 - PopupMenue - Ende - Seitenwahl ************

//**************** TabbedNotebook1 - PopupMenue - Drucken **********************
procedure TForm1.AktiveSeitedrucken1Click(Sender: TObject);
begin
  If MessageDlg('Ist der Drucker eingeschaltet ...', mtConfirmation,
              [mbYes, mbNo], 0)= mrYes then
  Form1.Print;
end;
//**************** TabbedNotebook1 - PopupMenue - Drucken Ende *****************

//***************** Quelltextanzeige - gesamten Quelltext anzeigen *************
procedure TForm1.Button134Click(Sender: TObject);
begin
  LiesQuellText('//+Alles','//-Alles','','','','','','');
end;
//************ Quelltextanzeige - gesamten Quelltext anzeigen Ende *************

//***************** Quelltextanzeige - Windows - Suche starten *****************
procedure TForm1.Button3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0003','//-0003','','');
end;
//***************** Quelltextanzeige - Windows - Suche starten Ende ************

//**************** Quelltextanzeige - Windows - Explorer - starten *************
procedure TForm1.Button4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0004','//-0004','','');
end;
//*********** Quelltextanzeige - Windows - Explorer - starten Ende *************

//*********** Quelltextanzeige - Datei - Config.sys - oeffnen ******************
procedure TForm1.Button5MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0005','//-0005','','');
end;
//*********** Quelltextanzeige - Datei - Config.sys - oeffnen Ende *************

//*********** Quelltextanzeige - Das Prog. Notepad starten *********************
procedure TForm1.Button6MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0006','//-0006','','');
end;
//*********** Quelltextanzeige - Das Prog. Notepad starten Ende ****************
procedure TForm1.Button13MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0013','//-0013','','');
end;

procedure TForm1.Button8MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0008','//-0008','','');
end;

procedure TForm1.Button7MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0007','//-0007','','');
end;

procedure TForm1.Button10MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0010','//-0010','','');
end;

procedure TForm1.Button11MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0011','//-0011','','');
end;

procedure TForm1.Button12MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0012','//-0012','','');
end;

procedure TForm1.Button14MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0014','//-0014','','');
end;

procedure TForm1.Button15MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0015','//-0015','','');
end;

procedure TForm1.Button16MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0015','//-0015','','');
end;

procedure TForm1.Button17MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0017','//-0017','','');
end;

procedure TForm1.Button18MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B18A','//-B18A','//+0018','//-0018');
end;

procedure TForm1.Button19MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0019','//-0019','','');
end;

procedure TForm1.Button20MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0020','//-0020','','');
end;

procedure TForm1.Button21MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0020','//-0020','','');
end;

procedure TForm1.Button22MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0022','//-0022','','');
end;

procedure TForm1.Button23MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('//+0223','//-0223','','','//+0023','//-0023','','');
end;

procedure TForm1.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BitBtn1','//-BitBtn1','','');
end;

procedure TForm1.BitBtn2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BitBtn1','//-BitBtn1','','');
end;

procedure TForm1.Button30MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0030','//-0030','','');
end;

procedure TForm1.Button32MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0032','//-0032','','');
end;

procedure TForm1.Button9MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0009','//-0009','','');
end;

procedure TForm1.Button33MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0033','//-0033','','');
end;

procedure TForm1.Button37MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0037','//-0037','','');
end;

procedure TForm1.Button38MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0038','//-0038','','');
end;

procedure TForm1.Button39MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0039','//-0039','','');
end;

procedure TForm1.Button31MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0031','//-0031','','');
end;

procedure TForm1.Button40MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0040','//-0040','','');
end;

procedure TForm1.Button41MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0041','//-0041','','');
end;

procedure TForm1.Button42MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0041','//-0041','','');
end;

procedure TForm1.Button43MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0041','//-0041','','');
end;

procedure TForm1.Button44MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0041','//-0041','','');
end;

procedure TForm1.Button45MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0045','//-0045','','');
end;

procedure TForm1.Button25MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0025','//-0025','','');
end;

procedure TForm1.Button28MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0028','//-0028','','');
end;

procedure TForm1.Button29MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0028','//-0028','','');
end;

procedure TForm1.Button47MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0047','//-0047','','');
end;

procedure TForm1.Button48MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0048','//-0048','','');
end;

procedure TForm1.Button49MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0049','//-0049','','');
end;

procedure TForm1.Button50MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0049','//-0049','','');
end;

procedure TForm1.Button51MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0051','//-0051','','');
end;

procedure TForm1.Button52MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0052','//-0052','','');
end;

procedure TForm1.Button53MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0053','//-0053','','');
end;

procedure TForm1.Button54MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0054','//-0054','','');
end;

procedure TForm1.Button55MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0055','//-0055','','');
end;

procedure TForm1.Button56MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0056','//-0056','','');
end;

procedure TForm1.Button57MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0057','//-0057','','');
end;

procedure TForm1.Button58MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0058','//-0058','','');
end;

procedure TForm1.Button59MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0059','//-0059','','');
end;

procedure TForm1.Button60MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0060','//-0060','','');
end;

procedure TForm1.Button61MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0061','//-0061','','');
end;

procedure TForm1.Button62MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0062','//-0062','','');
end;

procedure TForm1.Button63MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0063','//-0063','','');
end;

procedure TForm1.Button64MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0064','//-0064','','');
end;

procedure TForm1.Button65MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0065','//-0065','','');
end;

procedure TForm1.Button66MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0066','//-0066','','');
end;

procedure TForm1.Button67MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0067','//-0067','','');
end;

procedure TForm1.Button68MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0068','//-0068','','');
end;

procedure TForm1.Button69MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0069','//-0069','','');
end;

procedure TForm1.Button70MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0070','//-0070','','');
end;

procedure TForm1.Button26MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0026','//-0026','','');
end;

procedure TForm1.Button87MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0087','//-0087','','');
end;

procedure TForm1.Button88MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0088','//-0088','','');
end;

procedure TForm1.Button89MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0089','//-0089','','');
end;

procedure TForm1.Button90MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0090','//-0090','','');
end;

procedure TForm1.Button91MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0091','//-0091','','');
end;

procedure TForm1.Button92MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0074','//-0074','//+0092','//-0092');
end;

procedure TForm1.Button93MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0093','//-0093','','');
end;

procedure TForm1.Button94MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','//+0194','//-0194','//+0094','//-0094','','');
end;

procedure TForm1.Button95MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0095','//-0095','','');
end;

procedure TForm1.Button96MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0096','//-0096','','');
end;

procedure TForm1.Button76MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0076','//-0076','','');
end;

procedure TForm1.Button77MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0077','//-0077','','');
end;

procedure TForm1.Button78MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0078','//-0078','','');
end;

procedure TForm1.Button79MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0078','//-0078','','');
end;

procedure TForm1.Button80MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0078','//-0078','','');
end;

procedure TForm1.Button81MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0081','//-0081','','');
end;

procedure TForm1.Button82MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0082','//-0082','','');
end;

procedure TForm1.Button83MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0083','//-0083','','');
end;

procedure TForm1.Button84MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0084','//-0084','','');
end;

procedure TForm1.Button85MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0085','//-0085','','');
end;

procedure TForm1.Button106MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0106','//-0106','','');
end;

procedure TForm1.Button107MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0107','//-0107','','');
end;

procedure TForm1.Button108MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0108','//-0108','','');
end;

procedure TForm1.Button109MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0109','//-0109','','');
end;

procedure TForm1.Button110MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0110','//-0110','','');
end;

procedure TForm1.Button111MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0111','//-0111','','');
end;

procedure TForm1.Button112MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0112','//-0112','','');
end;

procedure TForm1.Button113MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0113','//-0113','','');
end;

procedure TForm1.Button72MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B18A','//-B18A','//+0072','//-0072');
end;

procedure TForm1.Button75MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0075','//-0075','','');
end;

procedure TForm1.Button86MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0086','//-0086','','');
end;

procedure TForm1.Button132MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0132','//-0132','','');
end;

procedure TForm1.Button24MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0024','//-0024','','');
end;

procedure TForm1.ListBox6MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0024','//-0024','','');
end;

procedure TForm1.Button71MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0071','//-0071','','');
end;

procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0002','//-0002','','');
end;

procedure TForm1.ListBox3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0002','//-0002','','');
end;

procedure TForm1.Button126MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0126','//-0126','','');
end;

procedure TForm1.Button130MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0130','//-0130','','');
end;

procedure TForm1.Button129MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0129','//-0129','','');
end;

procedure TForm1.Button131MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0131','//-0131','','');
end;

procedure TForm1.Button127MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0127','//-0127','','');
end;

procedure TForm1.Button128MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0128','//-0128','','');
end;

procedure TForm1.Button133MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0133','//-0133','','');
end;

procedure TForm1.Button36MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0036','//-0036','','');
end;

procedure TForm1.Button46MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0046','//-0046','','');
end;

procedure TForm1.Button73MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0073','//-0073','','');
end;

procedure TForm1.Button74MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0074','//-0074','','');
end;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0001','//-0001','','');
end;

procedure TForm1.Button27MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0027','//-0027','','');
end;

procedure TForm1.Button35MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0035','//-0035','','');
end;

procedure TForm1.Label123MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0123','//-0123','','');
end;

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BiosDatum','//-BiosDatum','//+Label1','//-Label1');
end;

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ListBox1','//-ListBox1','','');
end;

procedure TForm1.Label2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BiosName','//-BiosName','//+002','//-002');
end;

procedure TForm1.Label3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BiosVersion','//-BiosVersion','//+003','//-003');
end;

procedure TForm1.Label4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+004','//-004');
end;

procedure TForm1.Label11MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetNumberOfProcessors','//-GetNumberOfProcessors',
  '//+Label11','//-Label11');
end;

procedure TForm1.Label12MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetCPUVendor','//-GetCPUVendor',
  '//+Label12','//-Label12');
end;

procedure TForm1.Label13MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+CpuSpeed','//-CpuSpeed','//+Label13','//-Label13');
end;

procedure TForm1.Label14MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MMX','//-MMX','//+Label14','//-Label14');
end;

procedure TForm1.Label15MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetProcessorType','//-GetProcessorType',
  '//+Label15','//-Label15');
end;

procedure TForm1.Label16MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetProcessorType','//-GetProcessorType',
  '//+Label16','//-Label16');
end;

procedure TForm1.Label17MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ProcessorLevel','//-ProcessorLevel',
  '//+Label17','//-Label17');
end;

procedure TForm1.Label18MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ProcessorRevision','//-ProcessorRevision',
  '//+Label18','//-Label18');
end;

procedure TForm1.Label19MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Architecture','//-Architecture',
  '//+Label19','//-Label19');
end;

procedure TForm1.Label20MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label20','//-Label20');
end;

procedure TForm1.Label91MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+CPUname','//-CPUname','//+Label91','//-Label91');
end;

procedure TForm1.Label92MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+CPUID','//-CPUID','//+Label92','//-Label92');
end;

procedure TForm1.Label93MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+CPUID','//-CPUID','//+Label93','//-Label93');
end;

procedure TForm1.Label21MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Label1021','//-Label1021','//+Label21','//-Label21');
end;

procedure TForm1.Label22MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Label1021','//-Label1021','//+Label22','//-Label22');
end;

procedure TForm1.Label23MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Label1021','//-Label1021','//+Label23','//-Label23');
end;

procedure TForm1.Label24MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Label1021','//-Label1021','//+Label24','//-Label24');
end;

procedure TForm1.Label25MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Label1021','//-Label1021','//+Label25','//-Label25');
end;

procedure TForm1.Label31MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ComputerName','//-ComputerName','//+Label31','//-Label31');
end;

procedure TForm1.Label32MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+IsNetworkConnected','//-IsNetworkConnected',
  '//+Label32','//-Label32');
end;

procedure TForm1.Label33MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Netzip','//-Netzip','//+Label33','//-Label33');
end;

procedure TForm1.Label41MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetPartitionName','//-GetPartitionName',
  '//+Label41','//-Label41');
end;

procedure TForm1.Label42MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ComputerName','//-ComputerName',
  '//+Label42','//-Label42');
end;

procedure TForm1.Label43MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetOSLanguage','//-GetOSLanguage',
  '//+Label43','//-Label43');
end;

procedure TForm1.Label44MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+HardDiskSerial','//-HardDiskSerial',
  '//+Label44','//-Label44');
end;

procedure TForm1.Label45MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+WindowsVersion','//-WindowsVersion',
  '//+Label45','//-Label45');
end;

//+WindowsPath
//********************* in Formcreate einfügen *********************************
{Var
  SystemPath,
  WindowsPath : array[0..MAX_PATH] of char;      //für Systemverz. & Windowverz.
  begin
    GetWindowsDirectory(WindowsPath, SizeOf(WindowsPath));//Window - verzeichnis
    GetSystemDirectory(SystemPath, SizeOf(SystemPath));//Window - Systemverzeichnis }
//******************************************************************************
//-WindowsPath

procedure TForm1.Label46MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+WindowsPath','//-WindowsPath',
  '//+Label46','//-Label46');
end;

procedure TForm1.Label47MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+WindowsPath','//-WindowsPath',
  '//+Label47','//-Label47');
end;

procedure TForm1.Label48MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+TempDir','//-TempDir',
  '//+Label48','//-Label48');
end;

procedure TForm1.Label49MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ProductNr','//-ProductNr',
  '//+Label49','//-Label49');
end;

procedure TForm1.Label50MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Key','//-Key',
  '//+Label50','//-Label50');
end;

procedure TForm1.Label62MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetPixelsPerInchX','//-GetPixelsPerInchX',
  '//+Label62','//-Label62');
end;

procedure TForm1.Label64MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+IsSW','//-IsSW',
  '//+Label64','//-Label64');
end;

procedure TForm1.Label71MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseExist','//-MouseExist',
  '//+Label71','//-Label71');
end;

procedure TForm1.Label72MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseWheelExists','//-MouseWheelExists',
  '//+Label72','//-Label72');
end;

procedure TForm1.Label73MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseButtonsCount','//-MouseButtonsCount',
  '//+Label73','//-Label73');
end;

procedure TForm1.Label74MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','',
  '//+Label74','//-Label74');
end;

procedure TForm1.Label75MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseType','//-MouseType',
  '//+Label75','//-Label75');
end;

procedure TForm1.Label76MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseName','//-MouseName',
  '//+Label76','//-Label76');
end;

procedure TForm1.Label80MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label80','//-Label80');
end;

procedure TForm1.Label81MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label81','//-Label81');
end;

procedure TForm1.Label82MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0024','//-0024','//+Label82','//-Label82');
end;

procedure TForm1.Label83MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+HzRate','//-HzRate','//+Label83','//-Label83');
end;

procedure TForm1.Label111MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+SoundKarte','//-SoundKarte','//+Label111','//-Label111');
end;

procedure TForm1.Label112MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+SoundkartenType','//-SoundkartenType','//+Label112','//-Label112');
end;

procedure TForm1.Label61MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetDefaultPrinter','//-GetDefaultPrinter',
  '//+Label61','//-Label61');
end;

procedure TForm1.Label59MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label59','//-Label59');
end;

procedure TForm1.Label60MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label59','//-Label59');
end;

procedure TForm1.Label56MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label56','//-Label56');
end;

procedure TForm1.Label57MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0027','//-0027');
end;

procedure TForm1.Label51MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Label51','//-Label51');
end;

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+ListBox1Items','//-ListBox1Items');
end;

procedure TForm1.ListBox2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+ListBox2Printer','//-ListBox2Printer');
end;

procedure TForm1.Button114MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0114','//-0114');
end;

procedure TForm1.Button97MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0097','//-0097');
end;

procedure TForm1.Button98MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0098','//-0098');
end;

procedure TForm1.Button99MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0099','//-0099');
end;

procedure TForm1.Button135MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0135','//-0135');
end;

procedure TForm1.Button100MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0100','//-0100');
end;

procedure TForm1.Button115MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0115','//-0115');
end;

procedure TForm1.Button116MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0116','//-0116','','');
end;

procedure TForm1.Button117MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0117','//-0117','','');
end;

procedure TForm1.Button118MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0118','//-0118');
end;

procedure TForm1.Button138MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0138','//-0138');
end;

procedure TForm1.Button34MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0034','//-0034');
end;

procedure TForm1.Button119MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Timezone','//-Timezone','//+0119','//-0119');
end;

procedure TForm1.Label52MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GetMenuFont','//-GetMenuFont',
  '//+Label52','//-Label52');
end;

procedure TForm1.Button137MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0137','//-0137');
end;

procedure TForm1.Button120MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0120','//-0120','','');
end;

procedure TForm1.Button121MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0121','//-0121','','');
end;

procedure TForm1.Button139MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0139','//-0139');
end;

procedure TForm1.Button122MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+0122','//-0122');
end;

procedure TForm1.Button123MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B123','//-B123','//+Alter','//-Alter');
end;

procedure TForm1.Button125MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+WeekOfYear','//-WeekOfYear','//+B125','//-B125');
end;

procedure TForm1.Button124MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B124','//-B124');
end;

procedure TForm1.Button101MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B101','//-B101');
end;

procedure TForm1.Button102MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B102','//-B102');
end;

procedure TForm1.Button103MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B103','//-B103');
end;

procedure TForm1.Button170MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B170','//-B170');
end;

procedure TForm1.Button140MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B140','//-B140');
end;

procedure TForm1.Button171MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B171','//-B171');
end;

procedure TForm1.Button172MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B172','//-B172','','');
end;

procedure TForm1.Button104MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B104','//-B104','','');
end;

procedure TForm1.Button105MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B105','//-B105','','');
end;

procedure TForm1.Button141MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B141','//-B141','','');
end;

procedure TForm1.Button142MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B142','//-B142','','');
end;

procedure TForm1.Button143MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B143','//-B143','','');
end;

procedure TForm1.Button144MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B144','//-B144');
end;

procedure TForm1.Button145MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B145','//-B145');
end;

procedure TForm1.Button173MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B173','//-B173','','');
end;

procedure TForm1.Button146MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B146','//-B146','','');
end;

procedure TForm1.Button147MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B147','//-B147','','');
end;

procedure TForm1.Button148MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B148','//-B148','','');
end;

procedure TForm1.Button149MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B149','//-B149','','');
end;

procedure TForm1.Button150MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B150','//-B150','','');
end;

procedure TForm1.Button151MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B151','//-B151');
end;
 
procedure TForm1.Button152MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B152','//-B152');
end;

procedure TForm1.Button153MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B153','//-B153','','');
end;

procedure TForm1.Button154MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B154','//-B154');
end;

procedure TForm1.Button155MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B155','//-B155');
end;

procedure TForm1.Button156MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B156','//-B156');
end;

procedure TForm1.Button157MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B157','//-B157','','');
end;

procedure TForm1.Button174MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B174','//-B174');
end;

procedure TForm1.Button158MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B158','//-B158','','');
end;

procedure TForm1.Button159MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B159','//-B159');
end;

procedure TForm1.Button175MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B175','//-B175');
end;

procedure TForm1.Button160MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B160','//-B160','','');
end;

procedure TForm1.Button161MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B161','//-B161','','');
end;

procedure TForm1.Button162MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B162','//-B162');
end;

procedure TForm1.Label133MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Win','//-Win','//+Label133','//-Label133');
end;

procedure TForm1.Button163MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B163','//-B163','','');
end;

procedure TForm1.Button164MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B164','//-B164','','');
end;

procedure TForm1.Button165MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B165','//-B165','','');
end;

procedure TForm1.Button178MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B178','//-B178');
end;

procedure TForm1.Button180MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B180','//-B180','','');
end;

procedure TForm1.Button179MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B179','//-B179','','');
end;

procedure TForm1.Button166MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B166','//-B166','','');
end;

procedure TForm1.Button167MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B167','//-B167','','');
end;

procedure TForm1.Button183MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B183','//-B183');
end;

procedure TForm1.Button184MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B184','//-B184');
end;

procedure TForm1.Button185MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B185','//-B185');
end;

procedure TForm1.Button168MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B168','//-B168');
end;

procedure TForm1.Button169MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B169','//-B169','','');
end;

procedure TForm1.Button186MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B186','//-B186','','');
end;

procedure TForm1.Button187MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B187','//-B187','','');
end;

procedure TForm1.Button188MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B188','//-B188','','');
end;

procedure TForm1.Button190MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B190','//-B190','','');
end;

procedure TForm1.Button191MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B191','//-B191','','');
end;
 
procedure TForm1.Memo4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+Combo2','//-Combo2');
end;

procedure TForm1.ComboBox2DblClick(Sender: TObject);
begin
  LiesQuellText('','','','','','','//+Combo2','//-Combo2');
end;

procedure TForm1.Button189MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B189','//-B189');
end;

procedure TForm1.Label95MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+ProcessorName','//-ProcessorName','//+Label95','//-Label95');
end;

procedure TForm1.Label5MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BiosDateXp','//-BiosDateXp','//+Label005','//-Label005');
end;

procedure TForm1.Label6MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+VideoBiosDateXp','//-VideoBiosDateXp','//+Label006','//-Label006');
end;

procedure TForm1.Label7MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+BiosVersionXp','//-BiosVersionXp','//+Label007','//-Label007');
end;

procedure TForm1.Button202MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B202','//-B202');
end;

procedure TForm1.Button204MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B204a','//-B204a','//+B204','//-B204');
end;

procedure TForm1.ListBox21MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+0074','//-0074','//+ListBox21','//-ListBox21');
end;

procedure TForm1.DriveComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key=VK_F10 ) Then
  begin
    LiesQuellText('','','','','//+DriveComboBox1','//-DriveComboBox1','','');
  end;
end;

procedure TForm1.Button205MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+B205','//-B205','','');
end;

procedure TForm1.Label141MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+Label141a','//-Label141a','//+Label141','//-Label141');
end;

procedure TForm1.Button208MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','','','//+B208','//-B208');
end;

procedure TForm1.Label78MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MousTypXP','//-MousTypXP','//+Label78','//-Label78');
end;

procedure TForm1.Label79MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseTreiberDatexp','//-MouseTreiberDatexp','//+Label79','//-Label79');
end;

procedure TForm1.Label142MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+MouseTreiberInfoXp','//-MouseTreiberInfoXp','//+Label142','//-Label142');
end;

procedure TForm1.Label84MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Shift = [ssRight] Then
  LiesQuellText('','','','','//+GrafikkartenType','//-GrafikkartenType','//+Label84','//-Label84');
end;


procedure TForm1.TabbedNotebook1Change(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
Begin
{  case NewTab Of
       0 :  Begin
              If Form1.TabbedNotebook1.Pages[0] = Form1.TabbedNotebook1.ActivePage Then
              Form1.TabbedNotebook1.Pages[0] := 'Bios'
            else
              Form1.TabbedNotebook1.Pages[0] := '- Bios -';
            End;
       1 :  Begin
              If Form1.TabbedNotebook1.Pages[1] = Form1.TabbedNotebook1.ActivePage Then
              Form1.TabbedNotebook1.Pages[1] := 'Cpu'
            else
              Form1.TabbedNotebook1.Pages[1] := '- Cpu -';
            End;
       2 :  Begin
              If Form1.TabbedNotebook1.Pages[2] = Form1.TabbedNotebook1.ActivePage Then
              Form1.TabbedNotebook1.Pages[2] := 'Speicher'
            else
              Form1.TabbedNotebook1.Pages[2] := '- Speicher -';
            End;
       3 :  Begin

            End;
       4 :  Begin

            End;
       5 :  Begin

            End;
       6 :  Begin

            End;
       7 :  Begin

            End;
       8 :  Begin

            End;
       9 :  Begin

            End;
       10 : Begin

            End;
       11 : Begin

            End;
       12 : Begin

            End;
       13 : Begin

            End;
       14 : Begin

            End;
       15 : Begin

            End;
       16 : Begin

            End;
       17 : Begin

            End;
       18 : Begin

            End;
       19 : Begin

            End;
       20 : Begin

            End;
end;                 }
end;







procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  If (Key = VK_F1) Then
  LiesQuellText('//+Alles','//-Alles','','','','','','');
end;

end.
//************ Quelltextanzeige - gesamten Quelltext anzeigen Ende *************
//-Alles




