Pre-Processor
Moderator: Moderatoren
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Pre-Processor
Hi Leute...
suche eine nette Möglichkeit um DCPRINT SAY "Guckst DU" in
DCPRINT SAY GetText("Guckst Du") umzuwandeln und habe aber keine
Lust den ganzen Source durchzuwühlen.
Achtung: Das darf natürlich nur greifen, wenn das erste Codezeichen das
dem DCPRINT SAY folgt ein " oder ein ' für einen String ist, -- denn Datenbank-
felder möchte ich logischerweise nicht umfummeln!
Irgendein Preprocessor-Crack unter Euch?
Wäre super..
Danke
LG
Michl
suche eine nette Möglichkeit um DCPRINT SAY "Guckst DU" in
DCPRINT SAY GetText("Guckst Du") umzuwandeln und habe aber keine
Lust den ganzen Source durchzuwühlen.
Achtung: Das darf natürlich nur greifen, wenn das erste Codezeichen das
dem DCPRINT SAY folgt ein " oder ein ' für einen String ist, -- denn Datenbank-
felder möchte ich logischerweise nicht umfummeln!
Irgendein Preprocessor-Crack unter Euch?
Wäre super..
Danke
LG
Michl
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pre-Processor
Mmh. Welchen Editor benutzt Du? MultiEdit kann "regular expressions", und mit denen lässt sich sowas m.E. hinkriegen. Meiner Meinung nach kann der Präprozessor keine Ausdrücke validieren, also testen, wie ein Parameter inhaltlich aussieht, und genau das müsste er für diesen Fall können.
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Re: Pre-Processor
Ja -- mit Multiedit gehts schon...
wäre mir aber lieber ich könnts per PrePro machen -weil ich beim Neucodieren das auch immer
vergesse...
Außerdem wollt ich wissen ob und wie es geht mit PreDings
LG
Michl
wäre mir aber lieber ich könnts per PrePro machen -weil ich beim Neucodieren das auch immer
vergesse...
Außerdem wollt ich wissen ob und wie es geht mit PreDings
LG
Michl
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pre-Processor
Und was ist, wenn Du GetText() erst in einer weiteren Funktion machst? Der Präpro ersetzt alle DCPRINT SAY [P1] durch DCPRINT SAY MichlsFunktion([P1]), und in der wird dann fallweise GetText() oder was anderes gemacht?
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Re: Pre-Processor
Naja--
Dein P1 ist dann entweder sowas wie "Hallo" oder etwas wie KUNDEN->NAME... wie unterscheide ich die?
Valtype ist beides mal ja "C".. - oder steh ich auf der Leitung?
Danke
LG
Michl
Dein P1 ist dann entweder sowas wie "Hallo" oder etwas wie KUNDEN->NAME... wie unterscheide ich die?
Valtype ist beides mal ja "C".. - oder steh ich auf der Leitung?
Danke
LG
Michl
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Re: Pre-Processor
Hi..
Danke..
Gute Idee, - aber ich weiß leider nicht in welcher Tabelle das Feld ist...
IsFieldVar() sucht in der aktuellen Workarea..
Ich müßte feststellen, ob es sich um eine simple Zeichenkette handelt, oder irgendetwas anderes
wie eine Tabelle oder so dahinter steckt...
Ich dachte an den Präpro, weil nur da das " oder ' auftaucht... --- dachte ich ...
und ich dachte man kann da was mit IF oder so machen... hmm.. dachte ich
Trotzdem danke, ich werds halt dann per Fuß machen!
LG
Michl
Danke..
Gute Idee, - aber ich weiß leider nicht in welcher Tabelle das Feld ist...
IsFieldVar() sucht in der aktuellen Workarea..
Ich müßte feststellen, ob es sich um eine simple Zeichenkette handelt, oder irgendetwas anderes
wie eine Tabelle oder so dahinter steckt...
Ich dachte an den Präpro, weil nur da das " oder ' auftaucht... --- dachte ich ...
und ich dachte man kann da was mit IF oder so machen... hmm.. dachte ich
Trotzdem danke, ich werds halt dann per Fuß machen!
LG
Michl
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pre-Processor
Halt! Isfieldvar(kunden->name) funktioniert auch, wenn "lieferanten" die aktuelle Workarea ist!
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Re: Pre-Processor
Weil Du grad so schön online bist
Kennst Du einen Trick / Call um seine eigene IP-Adresse zu ermitteln?
LG
Michl
Kennst Du einen Trick / Call um seine eigene IP-Adresse zu ermitteln?
LG
Michl
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pre-Processor
Das müsste über die WMI gehen. Schau mal in diesen Thread hier:
http://www.xbaseforum.de/viewtopic.php?f=27&t=3309
http://www.xbaseforum.de/viewtopic.php?f=27&t=3309
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pre-Processor
Juhu, Michl.
BTW - mir scheint das nicht ganz ungefährlich, was Du vorhast. Wenn ich sowas mache:
zwinge ich den Präprozessor in die Knie. Er erzeugt dann irgendwann eine PPO-Datei, aber die enthält tonnenweise Verschachtelungen, weil die Direktive immer wieder Quelltext erzeugt, der abermals übersetzt werden muss.
Aber vielleicht sollte ich auch die Gelegenheit nutzen, mich mal intensiver mit dem PräPro auseinanderzusetzen. Bisher nutze ich ihn nur, um wiederkehrende Codesegmente zu verkürzen und ein paar Dateioperationen umzuleiten.
BTW - mir scheint das nicht ganz ungefährlich, was Du vorhast. Wenn ich sowas mache:
Code: Alles auswählen
#command @ <n>,<m> DCPRINT SAY <c> ;
=> @ <n>,<m> DCPRINT SAY GetText(<c>)
Aber vielleicht sollte ich auch die Gelegenheit nutzen, mich mal intensiver mit dem PräPro auseinanderzusetzen. Bisher nutze ich ihn nur, um wiederkehrende Codesegmente zu verkürzen und ein paar Dateioperationen umzuleiten.
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Re: Pre-Processor
Hi auch...
nö nö: ich würde latürnich nicht wieder DCPRINT aufrufen, sondern dass was normalerweise
hinter DCPRINT steht
=> ;
DC_PrinterObject(<o>):AtSay( <nRow>, <nCol>, ;
TransForm(<uText>,DC_XtoC(<p>)), ;
<.truetype.> [.OR. <_truetype>], ;
<.pixel.> [.OR. <_pixel>], ;
<.fixed.> [.OR. <_fixed>], ;
<ocFont>, ;
[<aAttr>] [DC_Color2Attr(<nColorFG>,<nColorBG>)], ;
<nCodePage>, ;
<nAlign>, ;
<.outline.> [.OR. <_outline>], ;
<bWhen>, ;
<nWidth> )
Hab das schon mal gemacht (wenn Du reinguckst in DCPRINT.CH..) in Sachen DCRIGHTPRINT SAY..
LG
Michl
nö nö: ich würde latürnich nicht wieder DCPRINT aufrufen, sondern dass was normalerweise
hinter DCPRINT steht
=> ;
DC_PrinterObject(<o>):AtSay( <nRow>, <nCol>, ;
TransForm(<uText>,DC_XtoC(<p>)), ;
<.truetype.> [.OR. <_truetype>], ;
<.pixel.> [.OR. <_pixel>], ;
<.fixed.> [.OR. <_fixed>], ;
<ocFont>, ;
[<aAttr>] [DC_Color2Attr(<nColorFG>,<nColorBG>)], ;
<nCodePage>, ;
<nAlign>, ;
<.outline.> [.OR. <_outline>], ;
<bWhen>, ;
<nWidth> )
Hab das schon mal gemacht (wenn Du reinguckst in DCPRINT.CH..) in Sachen DCRIGHTPRINT SAY..
LG
Michl
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pre-Processor
Auch hi hi auch,
diese Idee hatte ich auch, habe sie aber nicht vorgeschlagen, weil Roger ja gelegentlich an seinen CHs herumschraubt. So geht's natürlich - wenn's mit dem IsFieldVar() klappt.
diese Idee hatte ich auch, habe sie aber nicht vorgeschlagen, weil Roger ja gelegentlich an seinen CHs herumschraubt. So geht's natürlich - wenn's mit dem IsFieldVar() klappt.
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 94
- Registriert: Do, 22. Dez 2005 16:37
Re: Pre-Processor
Ja ...
das mit der Schrauberei ist so ein Problem...
Aber irgendeinen Tod muss ich sterben...
Grüße
Michl
das mit der Schrauberei ist so ein Problem...
Aber irgendeinen Tod muss ich sterben...
Grüße
Michl