Italia
Beispiele

Erstellung von Notizen als Test

 

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
Downloadcounter121
Download
 
20.12.2015  
 



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.
 
20.12.2015  
 




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.
 
20.12.2015  
 




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
 
20.12.2015  
 



@Micha: Kein Ding & kein Problem.

Du kannst alle Deine Beiträge beliebig bearbeiten und nachbearbeiten -
jeder Beitrag hat unten rechts einen Button "bearbeiten".
 
21.12.2015  
 




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 == .
 
22.12.2015  
 



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.
 
23.12.2015  
 




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.
 
23.12.2015  
 




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 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  
 



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
 
23.12.2015  
 




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.
 
23.12.2015  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

11.807 Views

Untitledvor 0 min.
Thomas Freier22.07.2018
Pebender04.12.2016
Joeos23.07.2016
Wilfried20.05.2016
Di più...

Themeninformationen

Dieses Thema hat 4 subscriber:

HofK (4x)
iF (4x)
RGH (2x)
Micha12334 (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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