Delphi-PRAXiS
Seite 67 von 68   « Erste     1757656667 68      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Delphi 2011 heißt jetzt Delphi XE (https://www.delphipraxis.net/153609-delphi-2011-heisst-jetzt-delphi-xe.html)

himitsu 15. Sep 2010 07:21

AW: Delphi 2011 heißt jetzt Delphi XE
 
Zitat:

Zitat von Stevie (Beitrag 1044749)
Immerhin sind nun RegEx von Haus aus dabei... endlich!

Da mag ich die andere Implementation aber lieber.

Und dieses TPerlRegEx ist ja nicht grade intuitiv benutzbar. :shock:
(brauchte 'ne Weile, um auf das .Subjekt zu kommen, als ich suchte, wie man dieses übergibt)

Delphi-Quellcode:
var
  re: TPerlRegEx;
  re2: IRegExp2; // oder RegExp
  re3: TRegEx;
  re4: IRegEx;
begin
  // unit: RegularExpressionsCore
  re := TPerlRegEx.Create;
  re.RegEx := '[0-9]{2,}';
  re.Options := [preCaseLess];
  re.Subject := 'abc 1';
  if re.Match then ShowMessage('1');
  re.Subject := 'a 123';
  if re.Match then ShowMessage('2');
  re.Free;

  // aber eigentlich sieht es so aus (zum Glück hat Delphi inzwischen
  // soein "krankes" StringChecking und erweiterte Stringumwandlungen verbaut)
  //
  // da alles nur UTF-8 ist ... komisch, die C++-Klasse wurde mit UnicodeString
  // erstellt, oder ist in C++ das UnicodeString ein UTF-8-String?

  re := TPerlRegEx.Create;
  re.RegEx := Utf8Encode('[0-9]{2,}');
  re.Options := [preCaseLess];
  re.Subject := Utf8Encode('abc 1');
  if re.Match then ShowMessage('1');
  re.Subject := Utf8Encode('a 123');
  if re.Match then ShowMessage('2');
  re.Free;

  // unit: DeclParserIntf > C:\Users\Public\Documents\RAD Studio\8.0\Samples\Delphi\VCL\ToolsAPI\Productivity
  //
  // Use the Regular Expression parser engine encapsulated in
  // the VBScript library, as opposed to using freeware engines elsewhere
  // which, I would have to seek the author's permission for inclusion.
  // Requires: Microsoft Windows Script 5.6

  re2 := CoRegExp.Create;
  re2.Pattern := '[0-9]{2,}';
  re2.IgnoreCase := True;
  if re2.Test('abc 1') then ShowMessage('1');
  if re2.Test('a 123') then ShowMessage('2');

  // unit: noch nicht veröffentlicht (by me)
  //
  // meines kann nativ mit Unicode und Ansi umgehn, daher sind keine Stringumwandlungen nötig
  //
  // man kann ein Pattern oder 'ne Expession verwenden,
  // jenachdem wie die Klasse eingestellt/erstellt wurde
  re3 := TRegEx.Create('[0-9]{2,}', [remCaseLess]);
  if re3.Match('abc 1') then ShowMessage('1');
  if re3.Match('a 123') then ShowMessage('2');
  re3.Free;

  re3 := TRegEx.Create('#[0-9]{2,}#i');
  if re3.Match('abc 1') then ShowMessage('1');
  if re3.Match('a 123') then ShowMessage('2');
  re3.Free;

  re4 := CoRegEx.Create('#[0-9]{2,}#i');
  if re4.Match('abc 1') then ShowMessage('1');
  if re4.Match('a 123') then ShowMessage('2');
end;

Bernhard Geyer 16. Sep 2010 10:42

AW: Delphi 2011 heißt jetzt Delphi XE
 
So. Jetzt läster ich auch mal über DelphiXE, primär über die FlexLM-Integration.

Unser Sekretärin hat die XE-Version versehentlich mit FlexLM-Server bestellt. Umtausch zu einer "normalen" Userlizenz würde fast 100€ kosten :evil:
Aber was solls. Nehmen wir halt diese. Ist eh nur zum "schauen" was man umstellen könnte bzw. Aufwand - Generelle Umstellung wäre andere Aufgabe.

1. Kritikpunkt: Wieso ist Emba-Dingsbums nicht fähig einen Installer für FlexLM bereit zu stellen. Man bekommt die FlexLM-Verteilung als Zip-Datei die mann dann selbst kopieren darf (kein Problem) um sich dann anschließen durchzusuchen was man nun machen muss um den Dienst zu installieren. Alle andere Herstller liefern einen Installier so das man dann auch ein Icon zum konfigurieren hat

2, Da ich beim FlexLM-Server die Portadresse ändern müsste (Konflikt mit anderen Dienst) musste ich eine NodeChange anfordern (Da ja dies Info in der SLIP-Datei codiert ist). Alle anderen hersteller ist ein Port-Wechsel egal. Dort kann man in Registry oder Textdatei diese änderung vornehmen.

Jetzt wird mir auch mitgeteil das ein weiterer Nodeswap (war ja eigentlich keiner - Portadressen ändern passiert ja öfter bzw. man stellt erst beim installieren des FlexLM's fest das da was nicht passt) interne Freigabe erfordert.

3, Jetzt habe ich neue SLIP-Datei bekommen, aber Delphi sagt mir beim Starten das ich nicht in der Liste der namentlich festgelegten Benutzer drin wäre. Jetzt ist natürlich die Frage wann ich diesen evtl. festgelegt habe und evtl. falsch geschrieben habe

to be continued ...

Sherlock 16. Sep 2010 10:49

AW: Delphi 2011 heißt jetzt Delphi XE
 
Wer übernimmt eigentlich den support für diese ganzen 3rd Party Produkte?
Wenn mich nicht alles täuscht, ist da doch erstmal Emborcagear in der Pflicht, oder?
:gruebel:

Sherlock

himitsu 16. Sep 2010 10:58

AW: Delphi 2011 heißt jetzt Delphi XE
 
Nja, diese kannst du ja erstmal fragen und wenn nicht, dann leiten die dich dann weiter.

Am Ende machen wir (DP und Co.) das doch sowieso alles selber.

Stevie 16. Sep 2010 11:07

AW: Delphi 2011 heißt jetzt Delphi XE
 
Zitat:

Zitat von himitsu (Beitrag 1049694)
Und dieses TPerlRegEx ist ja nicht grade intuitiv benutzbar. :shock:
(brauchte 'ne Weile, um auf das .Subjekt zu kommen, als ich suchte, wie man dieses übergibt)

"Richtige" unit benutzen...

Delphi-Quellcode:
uses
  RegularExpressions;

begin
  if TRegEx.IsMatch('abc 1', '[0-9]{2,}', [roIgnoreCase]) then
    ShowMessage('1');
  if TRegEx.IsMatch('a 123', '[0-9]{2,}', [roIgnoreCase]) then
    ShowMessage('2');
end;
Nicht intuitiv? :roll:

himitsu 16. Sep 2010 11:37

AW: Delphi 2011 heißt jetzt Delphi XE
 
- die OH sagt nicht viel, oder wie immer (fast) garnichts
- in der Trial hab'sch dazu keine Quelltexte
- und dann soll man noch das Richtige finden?

Ich war quasi schon froh die RegularExpressionsCore gefunden zu haben.

OK, TRegEx ist komplett nur Unicode.

Und wenn ich nun im debuger da mal reinseh, dann ...
Wenn man also in einem AnsiString was suchen will (oder noch krasser, in einem UTF8String), dann wird dieses erstmal nach Unicode umgewandelt (hoffentlich macht Delphi da nix falsch, falls man es nicht selber umwandelt), dann an die TRegEx-Funktion übergeben, darin wird es in UTF-8 umgewandelt (das sollte Delphi noch hinbekommen) und an TPerlRegEx übergeben und falls das Ergebnis ein String ist, dann alles nochmals rückwärst. Joar, geht auch. :stupid:

Stevie 16. Sep 2010 11:57

AW: Delphi 2011 heißt jetzt Delphi XE
 
Zitat:

Zitat von himitsu (Beitrag 1050067)
- die OH sagt nicht viel, oder wie immer (fast) garnichts
- in der Trial hab'sch dazu keine Quelltexte
- und dann soll man noch das Richtige finden?

Ich war quasi schon froh die RegularExpressionsCore gefunden zu haben.

Wer suchet, der findet.
Glaub, in einem der drei Preview Videos mit David und Michael wurden doch die RegEx kurz gezeigt, daher kenn ich zumindest die Unit wo's drin is.

Bernhard Geyer 16. Sep 2010 12:40

AW: Delphi 2011 heißt jetzt Delphi XE
 
to be continued ...

So. Jetzt genau noch die Lizenzdatei + Optdatei nach Studium der FlexLM-Hilfedatei erstellt und Delphi startet.

ich würde mich jetzt als FlexLM-Professional gegen "Entschädigungsleistung" als Hilfe anbieten :-)

OldGrumpy 16. Sep 2010 13:16

AW: Delphi 2011 heißt jetzt Delphi XE
 
Da freut man sich doch richtig auf die neuen Abenteuer in Sachen "making water not wet"* :roll:

*Siehe zweites Zitat von Bruce Schneier

himitsu 20. Sep 2010 13:46

AW: Delphi 2011 heißt jetzt Delphi XE
 
Wer war denn alles im RadPHP XE-Vortrag?

Da hieß es doch zur RadPHP-IDE "damit haben wir noch viel vor"
außerdem ist diese IDE in Delphi geschrieben.

Laßt mich jetzt mal etwas träumen ... eine zukünftige Delphi/RAD-IDE ohne komisches .Net-Zeugs. :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 Uhr.
Seite 67 von 68   « Erste     1757656667 68      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz