Deutsch
Forum & Hilfe

Infinity-Profan Anregungen und Wünsche

String-Variablen anhängen

 

ByteAttack
Da ich ja hin und wieder aus XProfan SQL-Anweisungen schreibe, oder ein HTML oder XML-Code ausgebe, ergibt sich zwangsläufig ein Problem der Übersicht über einzelne Strings.
Die sind teilweise so dermaßen unübersichtlich.
(Teilweise habe ich einen String bei einer SQL-Anweisung der 5 Zeilen lang ist, bei einer Monitorauflösung von 1920...)
Klar kann man die in mehreren Strings aufteilen, und später zusammenfügen.

Beispiel (mal KURZ) wegen der Übersicht:
"<td align="+Chr$(34)+"center"+Chr$(34)+" valign="+Chr$(34)+"middle"+Chr$(34)+" bgcolor="+Chr$(34)+HexColor$+Chr$(34)+" class="+Chr$(34)+"Smaller"+Chr$(34)+"><font color="+Chr$(34)+"#FF0000"+Chr$(34)+">"+PGZWeb$+"</font></td>"

Übersichtlicher wäre, wenn man die Variablen einfach Hinten anstellt:
Beispiel:
"<td align={0}center{0} valign={0}middle{0} bgcolor={0}{1}{0} class={0}Smaller{0}><font color={0}#FF0000{0}>{2}</font></td>",Chr$(34),HexColor$,PGZWeb$

SQL-Beispiel:
"SELECT * FROM STDU WHERE STDUSERID = "+MitID$+" AND MONAT="+WahlMonat$+" AND JAHR="+WahlJahr$
'in
"SELECT * FROM STDU WHERE STDUSERID = {0} AND MONAT={1} AND JAHR={2}",MitID$,WahlMonat$,WahlJahr$

Das wäre doch was für XProfan selbst (wobei ich denke, dass der Umbau zu heftig und inkompatible zu früheren Versionen würde)
aber bei Infinity vielleicht eine Überlegung Wert wäre...
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
07.12.2015  
 



Da gibts was in PHP, wo man Variablen verwenden kann wenn man Stringkonstaten in " " packt statt in ' ' wie folgt:
;$rofl="Test"
;$mao=123
;echo "Dies ist ein $rofl samt $mao."

Leider oft auch eine böse Falle.

Dene Idee finde ich aber gut.

Wie wäre eine Escape-Sequenz?

sagen wir:
var rofl="test", mao=123
print "Dies ist ein \$rofl samt \$test."

Dies dann aber auch nur bei " " Stringkonstanten und nicht bei ' ', sodass man ' ' immer verwenden kann mit dem Wissen das 1:1 übergeben wird.

Roland kann das genau so ganz einfach einbauen.

Was hältst Du davon Roland, von solch "gemeinsamen" Prinzip für folgende Versionen?
 
11.12.2015  
 




Michael
W.
Für XProfan geht ja:
"<td align=\qcenter\q valign=\qmiddle\q bgcolor=\q"+HexColor$+"\q class=\qSmaller\q><font color=\q#FF0000\q>"+PGZWeb$+"</font></td>"
' und bei sqlselect ab XProfan9 :Name$ (in db()-Format seit X2)
SQLSelect "SELECT * FROM STDU WHERE STDUSERID = :MitID$ AND MONAT= :WahlMonat$ AND JAHR= :WahlJahr$"
db("SQLSelect", "SELECT * FROM STDU WHERE STDUSERID = :MitID$ AND MONAT= :WahlMonat$ AND JAHR= :WahlJahr$", gridhandle&)
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
13.12.2015  
 




RGH
Das mit der Escapesequenz \$ ließe sich gewiss einbauen. Die Frage wäre nur, wie das Ende des Variablennamens erkannt wird.Natürlich könnte das ein Leerzeichen sein, aber man müsste dann zwei Leerzeichen schreiben, wenn eines davon auch im Ergebnisstring auftauchen soll.

(Die SQL-Syntax mit dem führenden ":" wäre für normale Strings ungeeignet, da ja der Doppelpunkt durchaus als solcher vorkommen kann.)

Gruß
Roland

Gruß
Roland
 
XProfan X3
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
13.12.2015  
 



RGH (13.12.15)
Das mit der Escapesequenz \$ ließe sich gewiss einbauen. Die Frage wäre nur, wie das Ende des Variablennamens erkannt wird.


Vielleicht, weil doch die Variablennamen alle bekannt sind.

var aster.isk

"\$aster.iskize" wird ""+$aster.isk+"ize"
 
13.12.2015  
 




ByteAttack
Also
print "Dies ist ein \$rofl samt \$test."
wäre natürlich supi...
oder
print "Dies ist ein {$rofl} samt {$test}."
würde doch auch gehen oder?
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
13.12.2015  
 



Würde alles gehen, auch

var rofl="mao"
print "Dies ist ein rofl!"

würde gehen.

Probleme entstehen wenn mal {$rofl} mal braucht statt {$rofl} und ob mans übersieht.

Mein Plan ist da einfacher und sagt, dass es ja bereits 1 Sonderzeichen gibt für Kuriositäten. Quasi 1 Kuriositätenzeichen statt viele.

Nun geht natürlich \rofl nicht, da \r enthalten. \$ wiederum ist nicht verbraucht und das $ Zeichen ist recht verständlich für "Variable" - so auch in PHP jeder Varname mit $ startet. Also einfachste ist doch \$rofl und entweder gibts ne Variable rofl oder nicht.

var rofl,rofl1,rofl2
print "test \$rofl2"

@Roland: Übersehe ich was? Oder hattest Du das Abschließende Zeichen nur deshalb eingebaut weil es einfacher herzustellen war?

Vielleicht wäre ja auch für Infinity ein print "Hallo \$rofl\" für die Menschen besser - also Abschluß mit \ auch für bessere Lesbarkeit.
 
13.12.2015  
 




HofK
iF (13.12.15)
Nun geht natürlich \rofl nicht, da \r enthalten. \$ wiederum ist nicht verbraucht und das $ Zeichen ist recht verständlich für "Variable" ...

Vielleicht wäre ja auch für Infinity ein print "Hallo \$rofl\" für die Menschen besser - also Abschluß mit \ auch für bessere Lesbarkeit.


Was ist denn in Infinity-Profan an \ Sequenzen derzeit schon verbraucht? Das \n ist ja allgegenwärtig.

Persönlich könnte ich mich sehr gut mit print "Hallo \$rofl\" anfreunden.
 
13.12.2015  
 




RGH
Ja, das mit dem \ am Ende des Namens gefällt mir. Es erhöht tatsächlich die Lesbarkeit. Ich werde demnächst versuchen, es in FreeProfan einzubauen. (Wenn es klappt, dann natürlich auch in die nächste XProfan-Version.)

Gruß
Roland
 
XProfan X3
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
13.12.2015  
 




RGH
Ah, mir fällt gerade ein, dass ich das \$ ja schon verbraten habe, um mit putChar Hexwerte in eine Datei schreiben zu können.

Daher mein Vorschlag, in Anlehnung an embedded SQL (siehe db("SQLExec", ... in der Hilfe) \: zu verwenden. Das Ende der Variablen wird dann, wie bei den embedded Variablen in SQL durch das Postfix bei Variablen mit demselben und durch ein Semikolon bei Variablen neuen Typs.

Also z.B. print "Hallo \:rofl;"

Mal schauen, ob ich es morgen (oder in den nächsten Tagen) mal in FreeProfan testweise einbaue.

Gruß
Roland
 
XProfan X3
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
15.12.2015  
 




RGH
Sodele: In FreeProfan habe ich das jetzt so eingebaut. Es funktioniert recht gut. (Außerdem kann man Strings mit dem Operator $ zusammenfügen und $currentdir gibt das aktuelle Verzeichnis wieder.) Ich versuche, es noch vor Weihnachten auf den Server zu bringen.

In der nächsten XProfan-Version wird es diese Erweiterungen natürlich auch geben. Anfang des Jahres wird es einen kostelosen Patch geben, nachdem ich aus Boston und New York zurück bin.

Gruß
Roland
 
XProfan X3
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
23.12.2015  
 




HofK
Eigenzitat- Eigenteilantwort 

Klaus Hoffmeister (13.12.2015)
Was ist denn in Infinity-Profan an \ Sequenzen derzeit schon verbraucht?


Habe mal ein wenig mit Android Studio und Infinity-Profan rumgetestet.
Die Unicode-Sequenzen funktionieren soweit. Obwohl nicht alle Zeichen wie man sie (verschieden offensichtlich noch nach Android Versionen) mit der App UnicodePad bekommt ausgegeben werden.

Sowas
print "Schlängel-Pfeil \u21DD"
ist aber recht nett.
 
27.12.2015  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

13.011 Betrachtungen

Unbenanntvor 0 min.
ByteAttack07.08.2020
prfBook20.11.2018
Thomas Freier21.07.2018
rquindt21.09.2017
Mehr...

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