AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pascal Script: Delphi Functionen nutzen

Ein Thema von DieHardMan · begonnen am 6. Dez 2005 · letzter Beitrag vom 6. Dez 2005
Antwort Antwort
DieHardMan

Registriert seit: 16. Jul 2002
Ort: Stuttgart
68 Beiträge
 
#1

Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 09:28
Hi, möchte gern die beiden Stringfunktionen StringReplace und PosEx in Pascal Script hinzufügen, aber irgendwie klappt das nicht. Habe folgendes versucht:

Delphi-Quellcode:
function ExStringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
begin
  StringReplace(S, OldPattern, NewPattern, Flags);
end;

procedure TfrmMain.ceCompile(Sender: TPSScript);
begin
  Sender.AddFunction(@ExStringReplace,
                   'function ExStringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;');
end;
Klappt aber nicht, da kommt folgende Exception:
raised exception, unable to register function function ExStringReplace...
Alle meine Entchen...
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 10:03
1.versuch das mal ohne "const" bei deinen Parametern

2. versuch anstatt
x,y,z : string mal
x : string;y : string;z : string 3. versuch dir Function als public bei TFrmMain zu deklarieren und als ersten Parameter dann Self anzugeben.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 10:05
StringReplace hat einen Returnwert:
Delphi-Quellcode:
function ExStringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
begin
  Result := StringReplace(S, OldPattern, NewPattern, Flags);
end;
Andreas
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 10:13


Warum hab ich das nicht gleich gesehen...
meines Wissens akzeptiert Pascal Script nur "gewöhnliche" Datentypen (String, Integer, usw.) und nicht sowas wie TReplaceFlags

Edit: heisst soviel wie das es nicht geht, da PS den Typ nicht kennt und somit nicht importieren kann.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#5

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 10:17
Du musst vorher mit Sender.AddType TReplaceFlag und TReplaceFlags registrieren

Delphi-Quellcode:
Sender.AddType('TReplaceFlag = (rfReplaceAll,rfIgnoreCase);');
Sender.AddType('TReplaceFlags = set of TReplaceFlag');
(ungetestet)

Eventuell heisst es nicht AddType sonder AddTypeS oder so und eventuell ist die Reihenfolge bei TReplaceFlag falschrum. Aber ansich klappt es. Man muss nur die Typen vorher bekannt machen.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
DieHardMan

Registriert seit: 16. Jul 2002
Ort: Stuttgart
68 Beiträge
 
#6

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 10:32
Delphi-Quellcode:
  Sender.Comp.AddTypes('TReplaceFlag', '(rfReplaceAll,rfIgnoreCase);');
  Sender.Comp.AddTypes('TReplaceFlags', 'set of TReplaceFlag');
ist korrekt. Danke für die Antworten.
Alle meine Entchen...
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 11:37
gehts jetzt?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
DieHardMan

Registriert seit: 16. Jul 2002
Ort: Stuttgart
68 Beiträge
 
#8

Re: Pascal Script: Delphi Functionen nutzen

  Alt 6. Dez 2005, 13:15
Jojo geht, das Result hat natürlich auch noch gefehlt.
Alle meine Entchen...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.
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