| |
|
|
| §60 - GUI, Ausgaben, Zeichnen et Farben
GUI-Befehle, Funktionen et Erläuterungen zur Arbeitsweise de Infinity-Profan avec Windows et Controls.
|
|
|
| |
|
|
|
H.Brill | KompilierenMarqueSéparation Wäre es là pas besser, qui Konstanten left, right, top et bottom OHNE " " trop implementieren ? KompilierenMarqueSéparation qui " serait je à deiner Stelle ausschließlich den Stringliteralen bzw. Stringvariablen zuordnen. Es pourrait oui la fois durchaus son, qui on avec den Konstanten le calcul veux : z.B. : left + 10 cela ensuite cela menu 10 Pixel près de dem linken rebord plaziert.
je crois, cela führt sonst früher ou bien später trop Verwirrungen. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 18.01.2015 ▲ |
|
|
|
|
| réellement wirds une la quantité Konstanden donner, exposition la fois am Beispiel arr: [...]
1: sortiert cela Array numerisch 2: sortiert cela Array alphanumerisch 3: kehrt qui Reihenfolge qui Elemente um (reverse)
là wird on ensuite aussi écrivons peut:
a=arr(arr.sortnum,[10,30,20])
ou bien
a=arr(arr.sort,[10,30,20])
ou bien
a=arr(arr.reverse,[10,30,20])
ou bien am Beispiel fattr: [...]
0: Taille qui Dossier ou bien -1 si pas existiert ou bien -2 si Verzeichnis (selbe comment fattr(fichier)) 1: Dossier ou bien Verzeichnis existiert 2: ist une Dossier 3: est un Verzeichnis 4: ist "versteckt"/ hidden 5: ist lesbar, Ausleserecht 6: ist beschreibbar, Beschreiberecht 7: ist ausführbar, Ausführungsrecht 8: la date dernier Changement comme Unixzeitstempel
Wirds ensuite donner:
fattr(fattr.exists,"datei") fattr(fattr.isfile,"datei") .isdir .hidden .canread .canwrite .canexecute .lastmodified
Insofern wäre es ensuite aussi:
createmenu(createmenu.left,createmenu.top)...
mais chez CreateMenu suis je mir sowieso encore pas entier sûrement obs car so appeler soll. là suis je quasi encore pas arrivé. |
|
|
| |
|
|
|
H.Brill | merci pour qui Info. était encore nie so mon Ding, qui aussi quelque chose comme avec Profan allez. là graust es mich sogar comme alter DOS-Programmierer : KompilierenMarqueSéparation là wandelt Roland oui interne um. Würde je aussi nie so pour mon Programme verwenden. je halte mich là lieber à qui Konventionen qui Datentypen et verwende vous aussi conforme à cela.
Mag zwar hilfreich pour absolute Einsteiger son, mais on sollte toutefois de Anfang à den richtigen Umgang avec den Datentypen apprendre. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 18.01.2015 ▲ |
|
|
|
|
| AndroidProfan pouvoir es quelque chose anders, hat imho mais aussi une komplexere Betrachtung qui Variablen car en Typ darf sich ständig changement.
So peux Du là:
var a="10" //ici ist a string a=5.5 //ici float
chez imprimer 10+"20" venez 1020 raus, ebenso chez imprimer "10"+20, chez imprimer 10+20 naturellement 30
So gesehen wandle je rien um mais hebe sur den kleinstmöglichen Typ dans qui Reihenfolge:
zéro bool long float string array
tout autor ist ca aussi une Fließkommazahl:
imprimer 5+10.5
istgleich 15.5
et ca mais une Fließkommazahl plus String
imprimer 5+10.5+"test"
istgleich 15.5test
et ca:
5+10.5+"test"+10+3.3
ergibt:
15.5test103.3
Versuche alors de à gauche à droite den Typ kleinstmöglich trop tenir. |
|
|
| |
|
|
|
E.T. |
5+10.5+"test"+10+3.3 ergibt: 15.5test103.3
et pourquoi pas 15.5test13.3 ?? |
|
|
| XProfan X2Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.01.2015 ▲ |
|
|
|
|
HofK | Test ist erster string de à gauche, ab là string |
|
|
| |
|
|
|
| @E.T: Weil "test"+10 "test10" ergibt et "test10"+3.3 ergibt "test103.3". Es wäre imho pas richtig si je la fois de à gauche et la fois de à droite rechne. |
|
|
| |
|
|
|
| je schätze j'ai mir maintenant un tolles Konzept pour qui Positionierung, Anordnung et Ordre de Controls et pour cela "Bildschirm-Design" envahir laisser.
mon concept: "The Grid", cela Raster! (bien sûr, Tron...): on erzeugt un Raster-Contrôle avec beliebig vielen Zeilen et Spalten et peux Raster-Controls wiederum aussi dans Raster-Zellen erzeugen et chacun Raster-cellule hat une eigene "Gravity".
on lieu sich z.B. un 9il Raster avant:
XXX XXX XXX
chaque X steht pour une Raster-cellule.
voudrais on eh bien un Design cela z.B. den Bildschirm vertikal teilt et dessus mais 3 Buttons ensuite erzeugt on un Raster 1x2 et dans Raster-cellule 1 erzeugt on un Raster 3x1 - ergibt:
XXX ....... ------ ....... .......
qui Gravitation einzelner Zellen wird zunächst automatisch bestimmt et peux aussi manuel modifiziert volonté. qui Gravitation einer Raster-cellule wirkt sich horizontal et vertikal aus, z.B. LinksOben, MitteOben, RechtsOben, LinksMitte, MitteMitte, RechtsMitte, LinksUnten, MitteUnten, RechtsUnten.
So erzeugt on un 3x3 Raster sur hwnd et speichert son Handle dans qui Variable mygrid: KompilierenMarqueSéparation Hierbei wird un 3x3 Raster sur hwnd erzeugt, alle Raster-Zellen sommes juste grand et cela Raster hat qui Taille vom Parent (hwnd) - füllt alors den Bildschirm aus.
Solch Raster selbst sommes unsichtbar et en Taille ist pas manuel änderbar mais en Taille ergibt sich toujours aus den Maßen qui parents-Raster-cellule.
chacun einzelne Raster-cellule besitzt ebenso un Handle. So hat la première Raster-cellule vom Raster mygrid cela Handle mygrid+1, qui dernier Raster-cellule vom o.g. Raster hat cela Handle mygrid+9.
eh bien peux on naturellement aussi dans einer Raster-cellule un weiteres "Unterraster" erzeugen, z.B. un Unterraster dans cellule 2 erzeugen cela selbst mais seulement 2 Spalten besitzt: KompilierenMarqueSéparation Bien sûr peux on aussi qui Maße einer Rasterzelle selbst bestimmen, sieht ensuite z.B. so aus: KompilierenMarqueSéparation mets qui Breite de Rasterzelle 1 vom Raster mygrid sur 300 Pixel.
cela Konzept erlaubt mir une automatische Anpassung aussi chez Bildschirmrotation avec cela cela Layout toujours konsistent bleibt et es permet dem Programmierer un simple Erstellen beliebig komplexer Layouts sans sur chacun Bildschirmauflösung réagir trop doit.
plus zum Thema schreibe je ensuite chez qui Funktionserklärung zur Funktion gui. |
|
|
| |
|
|
|
HofK | Scheint mir un très praktikabler Ansatz.
iF (24.01.15)
chacun einzelne Raster-cellule besitzt ebenso un Handle. So hat la première Raster-cellule vom Raster mygrid cela Handle mygrid+1, qui dernier Raster-cellule vom o.g. Raster hat cela Handle mygrid+9.
chez quelque chose größeren Verschachtelungen venez on eventuell avec den Inizes durcheinander. Könnte on pas eventuell aussi qui Notation mygrid+11, mygrid+12, mygrid+13, mygrid+21, ... , mygrid+33 nutzen et interne sur 1,... 9 umrechnen? |
|
|
| |
|
|
|
| il y a une Trick den je pour incorporé habe: comme Array-Angabe. So peux Du statt mygrid+9 aussi angeben: [mygrid,3] dans diesem le cas rechnet cela System pour toi qui Rasterzellennummer aus. (grid+y*yy+x)
Habe mich pour cette Sonderfall bewusst vers [mygrid,2] pour Position 9 entschieden (alors pas chez 0 beginnend) là cet Schreibweise oui plan ausschließlich pour qui Übersichtlichkeit gedacht ist. |
|
|
| |
|
|
|
| cela tolle chez Android ist dass on qui Customcontrols relativ simple (pas so compliqué comment chez Windows sur Subclassing) optique anpassen peux, alors alles peux un Hintergrundbild besitzen/ Schriftfarbe etc blabla. là werde je belle gui(gui.mod,gui.*'s herstellen peut et sogar ombre sommes drin etc. |
|
|
| |
|
|