wie angekündigt möchte ich jetzt mal meine Tools.pas veröffentlichen. Die ich in fast jeder meiner Projekte verwende.
im Anhang gibt es die Tools_neu.pas zum Downloaden.
hier eine Übersicht der Möglichkeiten:
Code: Alles auswählen
const
Stop = 0;
Abbrechen = 1;
Weiter = 2;
type
TStr = record
vor, dahinter:String;
end;
// -- String verarbeitung --
// UnterstÃŒtzt solche strings( "Hallo du da" wie geht "608246 0")
function GetTokenExt(str:String; septChar1,septChar2:Char; TokenNr:Integer):String;
// SetToken
// Ändert einen tocken in einem String und gibt dann den neuen string zurück
function SetTokenExt(OldString, NewText:String; SeptChar,SeptChar2:Char; TokenNr:Integer):String;
function GetBool(Str:String):Boolean;
// Löscht den letzten eintrag vom verzeichnis
function DelStr(s:String):String;
// Teilt den String in zwei hälften und gibt die angebe hälfte zurück
function SplitStr(str:String;ch:Char):string;
// gibt die Richtungs tasten(Lings, Rechts, Oben, Unten) als namen zurück
function GetKeyName(Key:Word):String;
// Zählt die vorkommen von einem Bestimmten zeichen
function NumToken(aString: String; SepChar: Char):Byte;
// gibt einen vorkommen als string zurück
function GetToken(aString: String; SepChar: Char; TokenNum: Byte):String;
// Löscht einen tocken in einem String und gibt dann den neuen string zurück
function DelToken(aString,delstr: String):String;
// Ändert einen tocken in einem String und gibt dann den neuen string zurück
function SetToken(OldString, NewText:String; SeptChar:Char; TokenNr:Integer):String;
// Zählt ein bestimmtes zeichen in einem String
function GetCharCount(C:PChar; str:String):Integer;
// Gibt eine Zahle zwischen min und max zurück
function RandomRange(min, max: integer): integer;
// -- Sonstige funktionen --
// Löscht einen eintrag aus einerm array - Geht leider nicht -
procedure DeleteArrayItem(Liste:array of Variant; index:Integer);
// Schreibt in ein RichEdit in der angeben pos(Funktiniert auch bei memo: muss man nur anpassen)
procedure str_into_RichEdit(Liste1215:TStringList;Insert_Text:string; line:integer; position:integer);
// Zeigt eine Nachrichten box an(ShowMEssage)
procedure ShowMessage1(Titel, Text:String);overload;
// gib eine zufalls zahl zwischen den angeben wert und den angeben wert zu rück
function Random2(von, bis:Integer):Integer; overload;
// gibt eine zahl zwischen von und bis auser der in zu angeben zahl
function Random2(von, bis, zu:Integer):Integer; overload;
// sucht sich aus den angeben zahlen eine
function RandomZahl(Zahlen:array of Integer ):Integer;
// Sucht in einem interger Array einen wert und gibt True wenn er in gefunden hat zurück
function GetArrayValue(z:array of Integer; wert:Integer):Boolean;
// nimmer vor - die erste Zahl und nachdem - die zweite
function Random2A(wert:String):Integer;
// Gibt eine zufallige Zahl zurück aus der angeben
function Random2B(Bis, Aus:Integer):Integer;
// Sucht sich aus einer Booleannischen liste einen Index aus die True ist
function Random2C(Liste:array of Boolean):Integer;
// String verschlüsseln
function myCoder(s: string; password: Integer; decode: Boolean):string;
// Stream Funktionen
// deKomprimiert einen Streeam der mit BZIP2 gepackt wurden ist
procedure DecompressStream(Qulle,Ziel:TStream);
// Komprimiert einen Stream mit BZIP2
procedure CompressStream(Qulle, Ziel:TStream);
// Kopiert einen Stream in den andren wobei man in abbrechen kann
procedure CopyFrom(Qulle, Ziel:TStream; Size:Integer);
// wandelt MS in Minuten und Sektunden um
function GetMSToMinSek(ms:Integer; mo:boolean; ms2:Integer):String;
// Macht aus einer TStringList.Text eigenschaft ein String
function TStringsToStr(strings:TStrings):String;
// macht aus einem text einen TSTringList.text
function StrToTSTrings(text:String):TStrings;
// sucht nach einem zeichen und gibt das was nach dem angeben zeichen zurück
// bis zu einmen endzeichen
procedure GetCharToken(astr:String;aStartChar,aEndChar:Char;aData:TSTringList);