![]() |
Re: TPerlRegEx einbinden?
Hallo,
diesen Codeschnipsel habe ich ![]() Vielleicht hilft er Dir ja weiter.
Delphi-Quellcode:
Grüße
function MatchExpression(subj, expr: string; max: boolean = False): string;
begin with TPerlRegEx.Create(nil) do begin RegEx := expr; Subject := subj; if Match then begin if max then repeat result := SubExpressions[SubExpressionCount] until not MatchAgain else result := SubExpressions[1]; end; end; end; Klaus |
Re: TPerlRegEx einbinden?
Danke bloß jetzt kommt bei mir fehler in der cpu!
weiß nicht wo ich da hier ein fehler gemacht hab? hier noch mal mein gesamter quelltext:
Delphi-Quellcode:
also reinthoretidch müsst das doch klappen. :gruebel:
unit Unit3;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm3 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form3: TForm3; implementation uses perlregex; {$R *.dfm} function MatchExpression(subj, expr: string; max: boolean = False): string; begin with TPerlRegEx.Create(nil) do begin RegEx := expr; Subject := subj; if Match then begin if max then repeat result := SubExpressions[SubExpressionCount] until not MatchAgain else result := SubExpressions[1]; end; end; end; procedure TForm3.Button1Click(Sender: TObject); begin edit1.Text:=MatchExpression('a','^[aA]$'); end; end. |
Re: TPerlRegEx einbinden?
Wann kommt denn der Fehler, hast Du mal Haltepunkte gesetzt
und mit F7 bzw. F8 gearbeitet? Welche Delphiversion nutzt Du? Grüße Klaus |
Re: TPerlRegEx einbinden?
Also wenn ich das Projekt starte
kommt in der CPU in der ntdll.Dbgbreakpoint: ... 77957DFF C3 ret keine ahnung was das heißt :?: zurzeit Delphi 2009 (Trialer) wenn das damit nicht funktioniert kann ich auch auf Turbodelphi wechseln! |
Re: TPerlRegEx einbinden?
zu dem ntdll.Dbgbreakpoint hilft Dir
![]() Das Problem solltest Du nicht haben, wenn Du das Programm ausserhalb der IDE startest.# Und ob TPerlRegEx UniCode fähig ist - keine Ahnung. Grüße Klaus |
Re: TPerlRegEx einbinden?
In dem Zip, das Du heruntergeladen hast, befindet sich die PerlRegEx.hlp; vielleicht solltest Du Dir die mal zu Gemüte führen...
|
Re: TPerlRegEx einbinden?
das geht leider unter Vista nicht.
und wie binde ich die dann den patch ein? achso und der findet die pcre3.dll nicht! |
Re: TPerlRegEx einbinden?
Zitat:
Lies Dir die Entwicklerkommentare in der pcre.pas durch; dafür sind sie gedacht *grml* |
Re: TPerlRegEx einbinden?
oh ja stimmt ! :pale:
wenn ich das richtig verstanden hab muss man die pcre3.dll dort in der pcre.pas definieren? Wie denn?(hab das noch nie gemacht :lol: ) Zitat:
|
Re: TPerlRegEx einbinden?
Erstmal:
Die DLL befindet sich im Unterverzeichnis '\pcre'. Die muss sich, solltest Du sie benutzen wollen, natürlich in dem Verzeichnis befinden, in dem sich später auch Deine Exe befindet; oder aber zumindest in einem Verzeichnis, dass in der Path-Variable eingetragen ist. Und Du musst sie dann halt mit ausliefern, wenn Du Deine Anwendung veröffentlichst. Solltest Du die DLL nutzen wollen, so musst Du in der pcre.pas
Delphi-Quellcode:
setzen und
{$DEFINE PCRE_LINKDLL}
Delphi-Quellcode:
auskommentieren.
{$DEFINE PCRE_STATICLINK}
Solltest Du die DLL nicht nutzen wollen, so machst Du das oben genannte anders herum. Dabei werden dann die OBJ-Files in Deine Exe gelinkt, und Du kannst auf das Deployment von Dritt-Dateien verzichten. Achtung Wenn Du die DLL nicht nutzen willst, dann darfst Du die Sourcen nicht über ein Package in Deine IDE integrieren; ansonsten bekommst Du einen internen Fehler! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz