Autor |
Beitrag |
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1446
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: So 06.07.14 23:33
|
|
Stundenplan
      
Beiträge: 128
Erhaltene Danke: 32
Win 7
Delphi 7 Pers., C# (VS 2010 Express)
|
Verfasst: Mo 07.07.14 11:51
Irgendwo geistert noch ein DivByZero-Bug herum; der Selftest bricht nämlich mit dieser Exception ab.
Hier mal der Log:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| ..... Begin: Arithmetic Operations Begin: Numeric Begin: Add Success Success Success Success Begin: Sub Success Success Success Success Success Success Begin: Mul Success Success Begin: Div //hier knallts |
|
|
Martok 
      
Beiträge: 3658
Erhaltene Danke: 604
Win XP x86, Win 8.1 x64
Lazarus Snapshot; Delphi 7,2007,XE; PHP (PHPEdit,PhpStorm); JS; Java(Eclipse)
|
Verfasst: Mo 07.07.14 16:14
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Martok 
      
Beiträge: 3658
Erhaltene Danke: 604
Win XP x86, Win 8.1 x64
Lazarus Snapshot; Delphi 7,2007,XE; PHP (PHPEdit,PhpStorm); JS; Java(Eclipse)
|
Verfasst: Fr 29.05.15 20:06
Martok hat folgendes geschrieben : | mal gucken ob das nächste Release wieder ein Jahr dauert  |
*hüstel*
Mal so in den Raum gefragt: benutzt das Ding jemand? Ich hätte da nämlich mal eine Konzeptfrage.
Aktuell ist das Ziel immer noch der 1-Datei-Minimalmodus, alle externen Dateien (Dokumentation, Rulesets) sind optional. Das macht aber einige Dinge sehr unhandlich... Ließe sich einfach umgehen, indem man eine normale Verzeichnisstruktur draus macht. Die würde ich immer noch gerne portabel haben, aber bevor ich da jetzt irgendwem den Usecase wegschieße, frag ich lieber 
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Für diesen Beitrag haben gedankt: Hidden
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1446
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Fr 29.05.15 23:56
Hallo,
Martok hat folgendes geschrieben : | Mal so in den Raum gefragt: benutzt das Ding jemand? |
Ja, ich!
Martok hat folgendes geschrieben : | Die würde ich immer noch gerne portabel haben, aber bevor ich da jetzt irgendwem den Usecase wegschieße, frag ich lieber  |
Ich sehe da kein Problem
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Für diesen Beitrag haben gedankt: Narses
|
|
Martok 
      
Beiträge: 3658
Erhaltene Danke: 604
Win XP x86, Win 8.1 x64
Lazarus Snapshot; Delphi 7,2007,XE; PHP (PHPEdit,PhpStorm); JS; Java(Eclipse)
|
Verfasst: Fr 22.01.16 02:04
Fast Pi/2 Jahre rum, man könnte mal wieder ein Release machen, oder?
V9 ist raus, mit vielen Änderungen:
- diverse Bugfixes (alle hier gemeldeten und einige weitere)
- Portierung auf Delphi 2007; Wenn es schon mein letztes Delphi-Projekt ist, kann man's auch etwas komfortabler haben...
- Saubere Quellcodestruktur mit Unterverzeichnissen
- Neue Funktion: Smooth(), einfache Glättungsfunktion für Tupellisten {a,b}
- Neue Diagramme: jetzt mit mehr OOP und deswegen einfachem Export (siehe Kontextmenü der Graph-Fenster)
- Neue Diagrammoptionen: Title, XLabel, YLabel als Optionen für das Diagramm sowie Caption für die Plotobjekte (Beispiel (png, 10.11 KB))
- Verbesserte Fehlermeldungen bei SyntaxError
- Neu: MemInfo(), Speicherinfo (von Delphis Speichermanager)
- Neu: Pragma(), globale Konfigurationsoptionen. Erste Anwendung: Pragma('ColorScheme',...) mit 'Random' oder 'Default' für die Standard-Farbtabelle von Diagrammen
- Neu: Compound Statements mit ";" (niedrigere Präzedenz als ",")
- Fix: Ausgabe von Ausdrücken ist jetzt eher zu oft geklammert als zu wenig
- Neu: Funktionale Definition von Subkontexten mit "->". Parameter werden ohne explizite Nennung an die lokalen Variablen gebunden. Überflüssige Parameter werden ignoriert, fehlende angemeckert:
Beispiel: 1: 2: 3: 4: 5: 6: 7: 8:
| > f:= {x} -> x^2; = ({x}->(x^2))
> f[42] = 1 764
> f[] Not enough parameters for subcontext, expected 1 got 0 |
Hier kommt auch das Compound Statement zum Einsatz, der Body wird dann geklammert (siehe Beispiel weiter unten).
- CSVLoad(): Nicht-numerische Felder werden Strings, statt Fehler
- Neu: CSVSave(), Export in CSV
- Neues IO-System: Mathematica-"inspirierte" Import()/Export()/ImportString()/ExportString(), bei denen das Format über die Option "Format" angegeben wird.
Beispiel: 1: 2: 3: 4: 5:
| > a=ImportString('1 2 3', format='CSV',Delimiter=' ') = {{1, 2, 3}}
> ExportString(a, Format='CSV') = 1;2;3 |
Unterstützte Formatbezeichner und deren Optionen sind in der Dokumentation beschrieben.
Achtung: die oben erwähnten CSVLoad/CSVSave sind nur noch Aliase auf Import/Export(..., Format='CSV',...)!
- Neu: String-Funktionen Insert(), Delete(), Substr(), Split(), Join()
- Neu: HexDump() (die wird noch spannender, weil jetzt auch sowas geht)
- Anpassung des Hacking Guides an alle Neuerungen
Eine "Neat Application" (wie Wolfram in der Doku immer schreibt) ist jetzt z.B. das folgende Skript, welches 10 Perioden einer Sinusfunktion als Lookup-Datei generiert, wie man sie dann in einen Arbitrary Function Generator der SDG200x-Reihe von Siglent laden kann (warum man das braucht könnt ihr selber googlen, ist etwas lustig...):
Quelltext 1: 2: 3:
| §wrap:= {lst} -> (merge({{'data length',count(lst)},{'xpos','values'}},lst)) §d=wrap[each(range(0,8192-1,1),x,{'',sin(x/8192*tau*10)})] §csvsave('10sine8k.csv', d, delimiter=' ',quotechar='"') |
Neuer Download ist im ersten Beitrag.
Skripte können jetzt auch mit ";" am Zeilenende geschrieben werden. Das ist semantisch allerdings etwas leicht anderes als die §-Schreibweise, da mit dieser alle Statements einzeln ausgeführt werden, als Compound allerdings alles am Stück. Die Kontext-Funktionen New() und Drop() sind davon z.B. betroffen.
Hier mal noch ein Compound-Beispiel mit Funktionen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| > multi:= {str} -> ( raw=ImportString(str,format='CSV'); line=raw@0; each(line,r,r*3) ) = ({str}->((raw=ImportString(str,(format='CSV')));(line=(raw@0));each(line,r,(r*3))))
> multi['1;2;3'] = {3, 6, 9} |
Und, so langsam habe ich ein Problem. Das RichEdit als Ausgabefenster wird immer problematischer, immer öfter laufe ich in komische Bugs, bei denen die Formatierung einfach mal explodiert. Ich tendiere aktuell zu THTMLViewer, aber das wird auch nicht so ganz trivial (da kann man nämich eigentlich nichts nachträglich einfügen). Wenn da also jemand Vorschläge hat, immer her damit
Wo wir gerade bei Vorschlägen sind: logische Funktionen sind so ziemlich das nächste auf der Liste. Da stellt sich jetzt aber eine Frage: Einführen eines echten Boolean-Typs oder Matlab-artiges 1/0-geschubse mit Integern? Ich bin mir da echt nicht schlüssig, was handlicher wird.
Einloggen, um Attachments anzusehen!
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Für diesen Beitrag haben gedankt: FinnO
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Fr 22.01.16 08:08
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Horst_H
      
Beiträge: 1652
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Sa 23.01.16 08:42
Hallo,
glaub ich Dir nicht.
Hört sich doch nur wie ein Digitalanalogwandler mit 8192 Stützstellen an, die man wohl in verschiedenen Geschwindigkeiten, eventuell sufenlos, ausgeben lassen kann.
Wenn nicht müsste ich gurgeln
Gruß Horst
|
|
|