[Knobelaufgabe] Programm, dass seinen Quellcode ausgibt

Für allgemeine Fragen zur Programmierung mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

:?:
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

@startgate
bau 'nen fehler ein, dann siehste was passiert.

Code: Alles auswählen

Macro Q : " 
EndMacro 

Macro CreateCode(Source) 
 SourceCode$ = "Source" 
 Source 
 +-
EndMacro 
  
CreateCode( Debug SourceCode$ ) 
frag mich aber nicht warum der compiler das macht.
my pb stuff..
Bild..jedenfalls war das mal so.
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

@STARGATE
lol kann ich mir jetzt absolut nich erklaeren... hab den Code grad mindestens 10 Minuten lang angeschaut... :shock:
Bitte um Aufklaerung :mrgreen:

@Dante
Du spielst auf den C++-Code an... nunja das ist ja in C++ unvermeidlich. sagen wirs mal so. Man darf nur nich auf die Quellcode-Datei zugreifen :wink:
Bild + Bild

Bild
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

..oder besser gesagt: keine dateizugriffe zur laufzeit.
my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

warum müßt ihr das unnötig verkomplizieren, indem ihr versucht es in drei worte zu packen die wirken wie ein politisches statement?

"auf seine eigene quellcode datei zuzugreifen und die auszugeben gildet nicht" ist doch völlig ausreichend.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Noch mal OT: (sry)

Na wer sagts denn, eine völlig neuartige Variante Variablen in Strings einzubetten :

Code: Alles auswählen

Macro INT : "+Str
EndMacro
Macro FLOAT : "+StrF
EndMacro
Macro _ : +"
EndMacro


Long.l = 128
Debug "Long = INT(Long)_ :-)"

MeinPi.f = #PI
Wert$ = "Die Zahl PI ist FLOAT(MeinPi)_"
Debug Wert$
Ich glaube aber das das bestimmt nich mal lange machbar ist oder ?
Meiner Meinung nach ist das ein BUG, oder was meint ihr ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

poste es ruhig mal in der Bug section....

kommt halt auf die Definition von Macros an, aber eigentlich sollte in literalen Strings keine Ersetzung vorgenommen werden....
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

@KG

Wäre nett wenn du das im Englischen Forum machen könntest, mein Englisch ist nicht so gut ...


Hier übrigens die End-version, die jetzt sogar (vllt trotz BUG) perfekt in der Anwendung ist, ohne zusätzliche Zeichen, können dabei Int() und Float() und String() für Variablen IN EINEM STRING genutzt werden:

Code: Alles auswählen

Macro Int(Value) : _DQ_+Str(Value)+_DQ_
EndMacro
Macro Float(Value) : _DQ_+StrF(Value)+_DQ_
EndMacro
Macro String(Value) : _DQ_+Value+_DQ_
EndMacro
Macro _DQ_ : "
EndMacro


Long.l = 128
Debug "Long = Int(Long) :-)"

MeinPi.f = #PI
Wert$ = "Die Zahl PI ist Float(MeinPi), toll wa?"
Debug "Mein String ist: String(Wert$) ."
Darf ich es zu Tips und Tricks posten ?

EDIT: ich poste selber im Englichen forum!!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Little John

Beitrag von Little John »

gelöscht
Zuletzt geändert von Little John am 28.01.2009 18:38, insgesamt 1-mal geändert.
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

@Little John
Dies sollte sich aber nich auf Strings beziehen...
Wollte das mal eben in einer anderen Sprache testen, aber da ist ein einzelnes Anfuehrungszeichen als Makro nicht erlaubt...
ist IMHO aufjedenfall ein BUG
Bild + Bild

Bild
Antworten