Deutsch
Forum

BUG Konstanten

 

Michael
Wodrich
Hmm

Steh ich da jetzt irgendwie auf der Leitung??
KompilierenMarkierenSeparieren
Konstanten
Def $x0 "z"
Def $x5 Chr$(5)
Def $x6 "x06"
Def $x10 "x0A"
Def $x13 "x0D"
Def $x1310 "x0Dx0A"
Cls
Print "TEST-" + $x5 + "-TEST"
Print "TEST-" + $x6 + "-TEST"
WaitKey
End

Eigentlich hatte ich erwartet, das dort das Steuerzeichen auftaucht - tut es aber nicht.

Schöne Grüße
Michael Wodrich

2 kB
Hochgeladen:12.07.2006
Ladeanzahl242
Herunterladen
 
Programmieren, das spannendste Detektivspiel der Welt.
12.07.2006  
 




Michael
Wodrich
Hier ein Teil-Workaround.

(die Hex-Werte sind wie verhext)
KompilierenMarkierenSeparieren
Declare k0$, k5$, k6$, k10$, k13$, k1310$
Declare k5a$, k5b$
k0$ = "z"
k5$ = Chr$(5)
k5a$ = "x05"
k5b$ = "X05"
k6$ = "x06"
k10$ = "x0A"
k13$ = "x0D"
k1310$ = "x0Dx0A"
Konstanten
Def $k0 "z"
Def $k5 Chr$(5)
Def $k6 "x06"
Def $k10 "x0A"
Def $k13 "x0D"
Def $k1310 "x0Dx0A"
Cls
Print "TEST-" + $k5 + "-TEST"
Print "TEST-" + $k6 + "-TEST"
Print "TEST-" + k5$ + "-TEST"
Print "TEST-" + k5a$ + "-TEST"
Print "TEST-" + k5b$ + "-TEST"
WaitKey
End

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
12.07.2006  
 




Michael
Wodrich
Die mit Sternchen versehenen Ausgaben laufen korrekt.
Bei wem werden auch die anderen Steuerzeichen richtig angezeigt - und mit welcher Version?
KompilierenMarkierenSeparieren
Declare k0$, k5$, k6$, k10$, k13$, k1310$
Declare k5a$, k5b$, k9$, k9a$
k0$ = "z"
k5$ = Chr$(5)
k5a$ = "x05"
k5b$ = "X05"
k6$ = "x06"
k9$ = "x09"
k9a$ = "	"
k10$ = "x0A"
k13$ = "x0D"
k1310$ = "x0Dx0A"
Konstanten
Def $k0 "z"
Def $k5 Chr$(5)
Def $k6 "x06"
Def $k9 "x09"
Def $k9a "	"
Def $k10 "x0A"
Def $k13 "x0D"
Def $k1310 "x0Dx0A"
Cls
Print "TEST-" + $k5 + "-TEST 5"
Print "TEST-" + $k6 + "-TEST 6"
Print "TEST-" + $k9 + "-TEST 9"
Print "TEST-" + $k9a + "-TEST 9"
Print "TEST-" + k5$ + "-TEST 5 *"
Print "TEST-" + k5a$ + "-TEST 5"
Print "TEST-" + k5b$ + "-TEST 5"
Print "TEST-" + k9$ + "-TEST 9"
Print "TEST-" + k9a$ + "-TEST 9 *"
print ""
print "Escape on"
set("escape",1)
Print "TEST-" + $k5 + "-TEST 5"
Print "TEST-" + $k6 + "-TEST 6"
Print "TEST-" + $k9 + "-TEST 9"
Print "TEST-" + $k9a + "-TEST 9"
Print "TEST-" + k5$ + "-TEST 5 *"
Print "TEST-" + k5a$ + "-TEST 5"
Print "TEST-" + k5b$ + "-TEST 5"
Print "TEST-" + k9$ + "-TEST 9"
Print "TEST-" + k9a$ + "-TEST 9 *"
print ""
print "Escape off"
set("escape",0)
Print "TEST-" + $k5 + "-TEST 5"
Print "TEST-" + $k6 + "-TEST 6"
Print "TEST-" + $k9 + "-TEST 9"
Print "TEST-" + $k9a + "-TEST 9"
Print "TEST-" + k5$ + "-TEST 5 *"
Print "TEST-" + k5a$ + "-TEST 5"
Print "TEST-" + k5b$ + "-TEST 5"
Print "TEST-" + k9$ + "-TEST 9"
Print "TEST-" + k9a$ + "-TEST 9 *"
WaitKey
End

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
12.07.2006  
 



Hm ich glaube mich zu erinnern das Roland irgendwas mit Konstanten und Escapesequenzen erwähnte... mal schauen vielleicht kann er selbst etwas dazu sagen.
 
12.07.2006  
 




Jac
de
Lad
Sowit ich weiß, dürfen in Definitionen für Konstanten keine Funktionen verwendet werden sondern nur Laterale.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
12.07.2006  
 




RGH
Hallo,

es ist in der Tat so, daß bei Konstanten weder Funktionen noch Escapezeichen verwandt werden können.

Das set(Escape,x) in Michaels letztem Beispiel bleibt natürlich wirkungslos, da nach dessen Auftreten keine Ersatzzeichen in Literalen mehr vorkommen.

Was das tzrotzdem bei der Zuweisung nicht funktionierende x betrifft, so sollte das in der Tat funktionieren. Ich schaue mal nach ...

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
12.07.2006  
 



offtopic {
[quote:8f6ef49f32]
Foto anbei (Upload will mal wieder nicht)[/quote:8f6ef49f32]
Hm ich hatte kein Problem Dein Bild Deinem Posting als Attachment anzufügen.

}
 
12.07.2006  
 




RGH


Au Weia! Da habe ich wohl wirklich einen Bock geschossen!

Es funktioniert ... wenn man statt der führenden Null bei den Hexwerten ein Leerzeichen verwendet:
KompilierenMarkierenSeparieren
k0$ = "z"
k5$ = Chr$(5)
k5a$ = "x 5"
k5b$ = "X 5"
k6$ = "x 6"
k9$ = "x 9"
k9a$ = "	"
k10$ = "x A"
k13$ = "x D"
k1310$ = "x Dx A"

Das soll so natürlich nicht sein und ist in der nächsten Subscriptionsversion korrigiert. (Also den obigen Codeschnipsel vergessen und wieder brav die Nuller einfügen!)
Offensichtlich habe ich bei meinen Tests nur Werte ab $10 aufwärts (x10) verwandt. Da taucht das Problem ja nicht auf.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
12.07.2006  
 




Michael
Wodrich
Könnte an meiner Nachbearbeitung liegen.

Nimmt Dein Upload evtl. keine Großbuchstaben an?

Der Originalname lautete: NaNu.PNG, wobei das große PNG von Paint gesetzt wurde. Ich habe es dann auf meinen Webspace hochgeladen und (natürlich) alles in Kleinschrift umgesetzt.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
12.07.2006  
 



[quote:44713ef6c6=Michael Wodrich]Nimmt Dein Upload evtl. keine Großbuchstaben an?[/quote:44713ef6c6]
Keinesfalls der Name ist eigendlich egal solange keine Sonderzeichen drin vorkommen. Hab einfach Dein Bild auf meiner Platte gespeichert und 1:1 als Upload angegeben. Ratzfatz war alles geschehen wie es soll.
 
12.07.2006  
 




RGH
Hallo,

wo ich grad an der Escape-Geschichte mit den Hexzahlen dran war, habe ich die Sache gleich noch etwas geschmeidiger gemacht:

1. Die Hexwerte dürfen jetzt auch mit Kleinbuchstaben geschrieben werden, etwa x0dx0a
2. Jetzt funktionieren die Ersatzzeichen auch bei Konstanten

Wenn man set(escape,n) benutzt, gilt bei Konstanten die Einstellung, die während des Aufrufes der Konstanten gültig ist.

Ach ja: Trotzdem dürfen Konstanten weiterhin nur Literale sein und die Ersatzzeichen müssen natürlich weiterhin Kleinbuchstaben sein. (Bei X05 ist das große X natürlich kein Ersatzzeichen.)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
12.07.2006  
 




Michael
Wodrich
[quote:786c2fa3cb]. (Bei X05 ist das große X natürlich kein Ersatzzeichen.)[/quote:786c2fa3cb]
Das hatte ich auch ganz bewußt zum abtesten mit aufgenommen - man kann ja nie wissen...

Diese Änderung ist Klasse, Danke.

Schöne Grüße
Michael Wodrich

P.S.: Hattest Du die GetFloat() und PutFloat eigentlich mit aufgenommen? Da OpenGL ja viel mit Floatwerten versorgt wird, kann man sich diese Werte dann leicht in eine Datei schreiben und von dort wieder auslesen.
Ich weiß ja, daß es auch über Bereiche/Strukturen geht - aber es ist nicht einzusehen, daß alle anderen Datentypen direkt geschrieben werden können - nur die Floats nicht...
 
Programmieren, das spannendste Detektivspiel der Welt.
12.07.2006  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.504 Betrachtungen

Unbenanntvor 0 min.

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie