library mtrcnc32;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }
uses
SysUtils, ComCtrls, StdCtrls, Classes, Windows;
{$R *.res}
procedure Pruefen(Von: TComponentName);
stdcall;
var
Puffer1, Puffer2:
String;
KommaPos, MinusPos: Integer;
begin
MessageBox(0, PChar(Von), '
Problem', MB_OK);
Puffer1 := Von.Text;
KommaPos := Pos('
.', Puffer1);
MinusPos := Pos('
-', Puffer1);
if MinusPos > 0
then Puffer2 := Copy(Puffer1, MinusPos + 1, KommaPos - 2)
else
Puffer2 := Copy(Puffer1, MinusPos, KommaPos - 1);
if Length(Puffer2) > 3
then
begin
MessageBox(0, PChar('
Nur 3 Stellen vor dem Komma erlaubt!'), '
Problem', MB_OK);
Von.SetFocus;
Von.SelStart := MinusPos;
if MinusPos > 0
then Von.SelLength := KommaPos - 2
else
Von.SelLength := KommaPos - 1;
Exit;
end;
Puffer2 := Copy(Puffer1, KommaPos + 1, Length(Puffer1) - KommaPos + 1);
if Length(Puffer2) > 3
then
begin
MessageBox(0, PChar('
Nur 3 Stellen hinter dem Komma erlaubt!'), '
Problem', MB_OK);
Von.SetFocus;
Von.SelStart := KommaPos;
Von.SelLength := Length(Von.Text) - KommaPos;
Exit;
end;
end;
exports
Pruefen;
begin
end.