| |
|
|
Micha12334 |
//
// InfinityProfan Program
// NOTIZ-1 v0.0.1
// created 2015-12-15
// micha12334
//idle-fingers
//
//Erstellung einer Notiz incl. Abspeicherung (TEST)
display display.rotation 0// ist per smartphone besser...
var a
var b
var c = "
"
var zeit
var time1
var time2
var notiz
var notiz1
var notiz2
cls rgb 0 0 200 128
time1 = fread("lasttime1.txt")
time2 = fread("lasttime2.txt")
notiz1 =fread("notiz1.txt")
zeit = time1+" um "+time2
//if notiz1 = " "
// notiz1 = "keine Notiz vorhanden!"
//endif
msg msg.box,null," PROGRAMM-ENDE","ENDE",null,ende
msg msg.box,null," NOTIZ",["LÖSCHEN","NEIN"],null,wahl
msg msg.box," letzte Notiz am "+zeit," test-Programm 'Eingabe von Notizen' ","WEITER",notiz1
proc wahl btn
if str(btn) == 0
msg msg.box, null," Eingabe der Notiz hier","OK",[" ",131072+1],text// 131072 per Mehrzeileneingabe
endif
if str(btn) == 1
fdel ("notiz1.txt")
msg msg.box, " Neueingabe hier"," Notiz gelöscht","OK",[" ",131072+1],text1
endif
endproc
proc text btn eingabe
var notiz = eingabe
notiz2 =notiz1+" "+notiz+" "
//if notiz2=" "
// notiz2=" keine Notizen1 vorhanden" ---------------warum funktioniert das nicht???
//endif
print "
"
print c+notiz2, rgb (255,255,255) rgb (255,0,0)
fwrite ("notiz1.txt",notiz2)
endproc
proc text1 btn eingabe
var notiz = eingabe
notiz2 = notiz
//if notiz=" "
// notiz2=" keine Notizen2 vorhanden" ---------------warum funktioniert das nicht???
//endif
print "
"
print c+notiz2, rgb (255,255,255) rgb (255,0,0)
fwrite ("notiz1.txt",notiz2)
endproc
fwrite ("lasttime1.txt",time(7))
fwrite ("lasttime2.txt",time(0))
//msg msg.box,null,null,"ENDE",null,ende
proc ende btn buchstabe
var b = buchstabe
if b <> "°"
sleep 5000
end
endif
endproc
//proc event id data
// if id == event.touchdown
// msg msg.toast,"SCHLUSS UND AUS"
// sleep 1000
//end
// endif
//endproc
|
| 145 kB | | Bezeichnung: | Erstellung von Notizen | | Version: | 1-1 | | Kurzbeschreibung: | Erstellung von Notizen. Das ist eine Testdatei zum ausprobieren von Funktionen | | Hochgeladen: | 20.12.2015 | | Downloadcounter: | | | | Download |
|
|
| |
|
|
|
| Mache doch Codes mal in solch Code-Blöcke...
sieht dann so aus:
[code]
quelltext
[/code] ...
Zudem: Poste solch APPS hier: [...]
Da kann man sie leichter aufs Telefono übertragen.
Einfach das Projekt auf v0.0.2 anheben und auf "Veröffentlichen" klicken. |
|
|
| |
|
|
|
HofK | Zu // NOTIZ-1 v0.0.1 // created 2015-12-15 // micha12334 Etwas ungünstig erscheint mir die Abfolge
msg msg.box,null," PROGRAMM-ENDE","ENDE",null,ende
msg msg.box,null," NOTIZ",["LÖSCHEN","NEIN"],null,wahl
msg msg.box," letzte Notiz am "+zeit," test-Programm 'Eingabe von Notizen' ","WEITER",notiz1
Die msg Box ist asynchron, die Boxen verdecken sich nur, sind aber alle schon da. Ob das günstig ist?
Referenz: Parameter bei Modus msg.box=0: (MessageBox) Der Befehl funktioniert asynchron, es können gleichzeitig mehrere msgboxen angezeigt werden. Jede msg zwingt der User zur Interaktion - mindestens die Zurücktaste muss gedrückt werden oder es muss eine Auswahl getroffen werden (wenn Buttons angezeigt werden sollen).
Für die Ergebnisübermittlung kann man eine Proc angeben, die dann aufgerufen wird mit Ergebnissen, sobald der User auf die Nachricht reagiert hat.
Eventuell besser, die Boxen in den Prozeduren dann aufzurufen wenn sie dran sind. |
|
|
| |
|
|
|
Micha12334 | Danke per Eure Antworten. Da es das erste mal ist, dass ich was hochlade, bitte ich dies zu entschuldigen. Ich hoffe, das nächste mal klappt's besser. Mit den Boxen merkte ich schon, dass sie sich überlagern. Mal sehen, ob ich es richtig hinbiegen kann. Einen schönen Wochenstart Euch allen |
|
|
| |
|
|
|
| @Micha: Kein Ding & kein Problem.
Du kannst alle Deine Beiträge beliebig bearbeiten und nachbearbeiten - jeder Beitrag hat unten rechts einen Button "bearbeiten". |
|
|
| |
|
|
|
HofK | Micha12334 (20.12.15)
//if notiz2=" " // notiz2=" keine Notizen1 vorhanden" ---------------warum funktioniert das nicht??? //endif
if notiz2=" " sieht ja soooo korrekt aus, ist es ja in vielen Sprachen und Buchhaltung, Mathematik, Physik , Technik ... auch. Ehrlich, passiert mir auch zuweilen.
Wenn man doppelt sieht - warum auch immer - , hat man gar keine Chance den Fehler zu finden.
Ich habe schon mal die wildesten Tests und Bugfindungsversuche in Java/JavaScript/Infinity-Profan veransaltet um dann zu merken = ist nicht == . |
|
|
| |
|
|
|
| Klaus Hoffmeister (22.12.15)
Ich habe schon mal die wildesten Tests und Bugfindungsversuche in Java/JavaScript/Infinity-Profan veransaltet um dann zu merken = ist nicht == .
Vielleicht sollte ich das = besser so behandeln wie Roland in XProfan, also nach Basic-Art und per CmplFlag die hohe Syntax zuschaltbar machen. |
|
|
| |
|
|
|
HofK | .
iF (23.12.2015)
Vielleicht sollte ich das = besser so behandeln wie Roland in XProfan, also nach Basic-Art und per CmplFlag die hohe Syntax zuschaltbar machen.
Dann hat man da noch eine Variante. Ja, es ist theortisch klar, aber praktisch passiert es wieder sicher: Compilerflag vergessen/ übersehen/ falsch geschrieben/ aus versehen gelöscht usw.
Die Syntax wird uneinheitlich.
Das Dilemma bleibt, wenn ich in Pascal/Delphi den : vor = vergessen habe ( zahl := 5; ) , weil er eben auch eine Besonderheit ist, war es auch nicht besser.
Andererseits ist der Unterschied der Operatoren wichtig, um solch effektiven Sachen wie erg = -(a==b)+c-d machen zu können.
Da [...] hatte ich am 31.01.2015 das = Problem schon mal am Wickel:
"Das == ist ja schon eine "Hilfskonstruktion" weil die Zuweisung "ergibt sich aus" mit = schön kurz ist aber eigentlich etwas wie <- , <-- , <== oder eben gebräuchlich := (was ich gar nicht so treffend finde) sein sollte um die Richtung und die Zuweisung anzudeuten."
Das + Problem Addition und Konkatenation scheint mir da problematischer. Bei erg = -(a==b)+"+"+c+d erg = -(a==b)+c+d+"+" muss man halt sehr aufpassen. |
|
|
| |
|
|
|
RGH | Ich halte es hier mit Di base: Ob das = eine Zuweisung ist oder der Gleichheitsoperator ergibt sich eigentlich immer aus der Stellung: Eine (logische) Zeile, die mit Variable und = beginnt, ist immer eine Zuweisung. Alle weiteren = in der Zeile sind demzufolge Gleichheitsoperatoren. erg = -(a=b)+c-d ist in meinen Augen eindeutig, so lange es nicht erlaubt ist, in einem Ausdruck aauch eine Zuweisung zu verwursten.
Zum Problem Addition und Konkatenation: Die nächste XProfan-Version wird hier - in Anlehnung an andere Sprachen, wie. z.B. xBase oder Clipper - das $ als Operator einführen. Das + bleibt aus Kompatibilitätsgründen naturalmente wie gehabt, aber das $ behandelt beide Operatoren grundsätzlich als String, selbst wenn da z.B. "Print 25 $ 30" steht. In dem Fall käme halt 2530 und nicht 55 heraus. Vielleicht eine Idee per Infinty-Profan.
Saluto Roland |
|
|
| XProfan X3Intel 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 ▲ |
|
|
|
|
| Das Dollarzeichen also, auch keine schlechte Idee.
Aber auch Tilde finde ich nicht so schlecht, sieht fast übersichtlicher aus:
print a~b print a$b |
|
|
| |
|
|
|
RGH | Tilde ginge auch, das Dollarzeichen deutet aber eher auf Strings hin. (Außerdem müsste Io l' Parser modifizieren, da die Tilde ja schon eine andere Bedeutung hat.) Im übrigen muss in XProfan vor und nach dem Dollarzeichen ein Leerzeichen sein, ansonsten würde in deinem Beispiel der Parser a$ als Variablennamen erkennen und circa das b stolpern. (Außerdem machen Leerzeichen vor und nach Operatoren das Programm deutlich lesbarer!)
Saluto 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 | 23.12.2015 ▲ |
|
|
|
|
HofK | Bei Infinity-Profan scheint mir wegen der wechselnden Typen in den Variablen der Nutzen bedingt, aber die Varianten werden noch vielfältiger:
10+20// gibt 30
10$20// gibt 1020
10+"km"// gibt 10km
10$"km"// gibt 10km
10+y// weiter unklar (? Typ der Variablen)
10+long(y)// gibt eine Zahl, ev. nur 10
10+float(y)// gibt eine Zahl, ev. nur 10
10$y// gibt einen String (hier Vorteil)
Unter [...] hatte ich schon mal bemerkt: "Tatsächlich macht der Aufwand nur wirklich Sinn, wenn ... die Operatoren "sauber" getrennt werden" : --> ein Operator der long/float erspart, aber das + ist nun mal historisch "belastet" und wohl kaum zu ändern, d.h. einzuschränken.
Die Tilde ~ braucht man eventuell noch per einen anderen Zweck?
Hatte sie z.B. mal als Ersatztrennzeichen ][ zu ~ in's Gespräch gebracht. |
|
|
| |
|
|