| |
|
|
- Seite 1 - |
|
Gary12345 | Hallo,
ich habe eine Include basierend auf leichtem XPROFAN Code erstellt.
Download
Funktionen aus dem Code ablesbar! |
|
|
| |
|
|
| |
|
- Seite 4 - |
|
|
Gary12345 | KompilierenMarkierenSeparieren Gibt alle Werte richtig aus. Habe es nicht so umgesetzt, wie Du es im obrigen Beispiel gemacht hast! Ist an meinem was falsch? Kanns mir nich vorstellen! ADreieck gibt es keinen negativen Flächeninhalt.Daher habe ich das gemacht- |
|
|
| |
|
|
|
Julian Schmidt | Natürlich gibt es alle Werte richtig aus und ist deswegen auch korrekt. Allerdings kannst du dir eine Menge Zeilen sparen, weil die zweite IF-Bedingung Theoretisch unnötig ist. Hier Lösungen welche in Ordnung sind. KompilierenMarkierenSeparieren Oder KompilierenMarkierenSeparieren Die untere Lösung ist denke ich am übersichtlichsten.
Gary12345 (30.01.13)
ADreieck gibt es keinen negativen Flächeninhalt.Daher habe ich das gemacht-
War oben etwas verwirrend da in deiner Bedingung definiert wurde, dass alle positiven Werte als Fehler behandelt werden sollen. Hast du ja nun korrigiert. |
|
|
| |
|
|
|
Gary12345 | Ich bin ehrlich: Ich lasse es so wie ich es hab, da ich mich damit am Besten zurechtfinde. Werde jetzt weitere Fehlervariablen einbauen.
Danke! |
|
|
| |
|
|
|
Julian Schmidt | Dann empfehle ich dir mindestens nochmal IF-Bedingungen und Proc's anzuschauen. Entweder in der normalen XProfan-Hilfe. Oder im XProfan-Lehrbuch [...] bzw. Programmieren kinderleicht mit XProfan[...]
Auf deine Art sind pro Proc mindestens 20% mehr Code und es ist wesentlich unübersichtlicher! |
|
|
| |
|
|
|
Gary12345 | Sei mir nich böse, aber für mich ist es so leichter vorerst. Wenns geht, mache ich es nicht für mich schwieriger. Der Hauptfaktor ist, dass es MIR leicht fällt
Trotzdem vielen, vielen Dank! Bin Dir ein virtuelles Bier schuldig. |
|
|
| |
|
|
|
Julian Schmidt | Ein virtuelles Bier nehme ich natürlich dankend an.
Ich dachte dieser Thread wäre eine Übung um irgendwann den BKA Remover [...] fertigzustellen. Für diesen wirst du auf jeden Fall die Handhabung von Bedingungen, Schleifen und auch Routinen benötigen. Ich würde auf jeden Fall mal einen Blick in Dietmars [...] werfen. Insbesondere in Kapitel 2,4,5 & 11. |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 30.01.2013 ▲ |
|
|
|
|
Gary12345 | Naja, ich denke, dass der BKA Remover einen Schitt zu hoch für mich ist. Lesen tue ich im großen Lehrbuch schon Und in der Hilfe natürlich auch! |
|
|
| |
|
|
|
Gary12345 | Neue Version ist raus.
Verbesserungen:
- neue Funktionen - Fehlervariable eingebaut - weitgehenst Fachsprache verwendet - weitgehenst Variablen mit ?_ deklariert - und noch einige mehr
Was ich überlegen werde ist Vieta. Vll kann ich den noch einbauen. Erstmal meldet mir bitte Fehler im Code. Bzw. Im Programm.
Nächste Version werden auch Beispielcodes beigelegt!
LG |
|
|
| |
|
|
|
Jörg Sellmeyer | Du musst dir einige Sachen in der Hilfe und hier im Thread noch mehrmals und sehr gründlich durchlesen!! KompilierenMarkierenSeparieren
Proc Addieren//Addiert Floatwerte a! und b! miteinander. Funktion ist also: Addieren(a!,b!). Beispiel dazu wäre: Addieren(2,4). Das Ergebnis wäre dann logischerweise 6
parameters a!,b!
declare ?_Addieren!
set("decimals",2)//Kürzt die Zahl auf zwei Nachkommastellen
?_Addieren! = a!+b!//Funktion
return ROUND(?_Addieren!,2)//Rundet die Zahlen auf zwei Nachkommastellen
EndProc
Hier rufst du zB die Proc Addieren mit Return nochmal auf und erhälst eine endlose Wiederholung. Und solange du Set("Decimals",2) und Round in deiner Prozedur hast, sind die Funktionen schlicht unbrauchbar. Außerdem: mal ganz unter uns... wenn ich x = 1+3 schreiben kann, warum sollte ich dann x = Addieren(1,3) schreiben?
Damit will ich gar nicht sagen, dass du nicht weitermachen sollst. Ist bestimmt ne gute Übung für dich. Aber häng doch einfach alles etwas tiefer. Anstatt das hier wie die Neuerfindung von geschnittenem Brot anzupreisen, schreib einfach, dass du das ganze für dich zum Lernen sehr nützlich findest. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.01.2013 ▲ |
|
|
|
|
Gary12345 | Gehen wird die Sache mal ganz gechillt an
Mit Return will ich das Ergebnis Round(?_Addieren!,2) angeben. Das wurde mir hier sogar im Thread gesagt. Damit wird eine Prozedur abgeschlossen.
Mit Set("Decimals",2) will ich die Nachkommastellen auf 2 kürzen und diese dann auf zwei Nachkommastellen runden. Siehe da keinen Fehler.
Wenn ich eine mathematische Include schreiben will, warum nicht gleich alltägliche Funktionen? Sehe da schon den Sinn.
Oder verstehe ich mit Return was falsches? Servus |
|
|
| |
|
|
|
Julian Schmidt | Gary12345 (31.01.13)
Mit Set("Decimals",2) will ich die Nachkommastellen auf 2 kürzen und diese dann auf zwei Nachkommastellen runden. Siehe da keinen Fehler.
Der Fehler liegt darin, das du damit den Anwender vorschreibst, dass er Zahlen mit zwei Nachkommastellen verwenden muss. Besser wäre, wenn du den Programmierer den Freiraum läst diese selbst zu definieren, ohne das er in deinen Include-Code herumwühlen muss. |
|
|
| |
|
|
|
Julian Schmidt | Gary12345 (31.01.13)
Wenn ich eine mathematische Include schreiben will, warum nicht gleich alltägliche Funktionen? Sehe da schon den Sinn.
Dann wenigsten Funktionen, welche gleichwertig mit XProfan-Funktionen sind.
In XProfan kannst du Beispielsweise auch Summen mit mehreren Summand ausrechnen. Bei dir können bislang nur maximal zwei Summanden angegeben werde, andernfalls muss man mehrere Funktionsaufrufe ineinander verknüpfen.
Du könntest nun hergehen und in deiner Funktion die angabe von unendlich vielen Summanden als Parameter erlauben. Dann würde deine Funktion unter Umständen sogar Vorteile bringen, weil man weniger Klammern setzten müsste. Falls du es versuchen willst schau dir %ParCount in Kombination mit einer whileloop-Schleife an. Die Parameter bekommt du dann per @!(N). |
|
|
| |
|
|