Heute so gecodet...

There are 2,410 replies in this Thread which has previously been viewed 495,577 times. The latest Post (January 18, 2026 at 5:33 PM) was by oobdoo.

  • Mal ein Thread Äequivalent für "Heute so gebastelt..." für Coder.


    Ich fange mal an.

    Ich habe ein Tool für die Erkennung der installierten .NET Framework Versionen benötigt.
    Habe zwar vor einer Weile schon eins in Please login to see this link. erstellt. Das ist aber etwas witzlos, da es .NET 2.0 voraussetzt und es ist mir ein paar Mal bei Kunden passiert, dass diese .NET 4/4.5/4.6.x drauf haben und eben kein 2.0/3.0/3.5.

    Das kleine Tool soll möglichst keine Abhängigheiten haben, damit es auf allen vernünftigen Windows-Versionen als Copy+Paste EXE läuft.
    Da hat man dann nicht viel zur Auswahl: Entweder C++ oder VB6. Letzteres wird früher oder später abgeschossen als Runtimes, also bleibt C++ und Win32 API.

    Habe dazu diesen Please login to see this link. mal kopiert. Funktioniert auch, aber als Win32 GUI App. Doof. X/
    Muss es mal auseinandernehmen und auf Konsolen-App umstellen.

    Please login to see this link.: Was ist der Unterschied zwischen dem "<MeinIcon>.ico" und "small.ico"? letzteres als Standardicon ist kleiner in der Grösse, aber wieso benötigt es 2 Icon-Dateien? Die haben doch alle Grössen drin?
    Unter .NET GUI-App gibt es auch zwei Icons: Eins für das EXE und eins für das Fenster-Icon. Ist "small.ico" für das Fenster? :gruebel

    ___________________________________________________________
    Meine Kreationen: Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.
    Avatar: Copyright 2017 by Saiki

    Edited once, last by syshack (June 23, 2016 at 3:33 AM).

  • So, die Win32 Console App ist auch fertig. Sogar mit Icon. Bin total eingerostet in C++, das hat viel zu lange gedauert.
    So banale Dinge wie Strings behandeln sind echt viel einfacher in .NET.

    ___________________________________________________________
    Meine Kreationen: Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.
    Avatar: Copyright 2017 by Saiki

  • Icons... Thema mit dem man während der Programmentwicklung nur einmal Kontakt hat... Ich hab bei mir in den Anwendungen nur ein Icon mit verschiedenen Größen drin. Und Konsole ist bei mir in der Regel ohne Icon - was im Hintergrund läuft, muss nicht klickibunt gemacht werden ;)

    Strings... auch in MFC kein Problem dank CString...-Klassen. Ich dachte ja, dass die Standardlibrary auch gescheite String-Klassen bietet, scheint wohl nicht so zu sein. Bei Win-Konsole nutze ich - wenn ich nicht wegen anderer Dinge schon MFC eingebunden habe - hauptsächlich die _tcs...-Funktionen (_tcslen, _tcsstr, _tcsncpy etc. - bzw. die Safe-Varianten davon ).

    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!

  • Zwar nicht heute, aber vor ein paar Wochen habe ich mal ein kleines Python-Skript geschrieben, das C64-Multicolor-Sprites, die zuvor in GIMP oder einem sonstigen Grafikprogramm erzeugt wurden und als PNG gespeichert wurden, in ACME-Syntax umwandelt. Ich weiss, es gibt auch "richtige" Sprite-Editoren, die ich verwenden koennte, aber in meinem Fall lagen die Sprites schon durch den Python-Prototyp in Form von PNGs vor, sodass das auf diese Art und Weise einfacher war:

    Die Farben sind in den Zeilen 17, 19 und 21 zu finden; d.h. meine Sprites waren im PNG also in Form von weiss, grau, und magenta angelegt (plus eine beliebige andere Farbe als Hintergrund). Wer andere Farben verwendet, muss diese halt entsprechend im Code anpassen.

    Die Sprite-Konvertierung wird, wie man sieht, ab Zeile 30 angestossen. Hier einfach eine komplette Liste der Sprites anlegen, dann werden die alle nacheinander in die Datei "sprites.txt" gelegt. Ein einzelnes Sprite in dieser Datei sieht dann so aus:

    Diese Datei laesst sich dann einfach in den restlichen Assembler-Code einbetten oder includen.

    Das Skript benoetigt die Pygame-Lib.

    - neue Spiele für den C64 -
    Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Und Konsole ist bei mir in der Regel ohne Icon - was im Hintergrund läuft, muss nicht klickibunt gemacht werden

    Ähem...ich hab es gerne, wenn ich in einem Verzeichnis wo doch einige Dateien drin sein können, schnell ein Programm rein visuell durch Farben/Icons erkenne.

    Das ist in der Testphase (und langen Arbeitstagen, wo die Augen langsam müde werden) durchaus oft so, dass ich auch Konsolen-Apps durch Doppelklick starten muss.
    Insofern finde ich es schon richtig, dass auch eine Konsolen-App EXE ein eigenes Icon hat.

    ___________________________________________________________
    Meine Kreationen: Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.
    Avatar: Copyright 2017 by Saiki

  • Dieser Tage wurde bei uns in der Bude an einer Maschine nachträglich eine automatische Schmiermittelpumpe installiert.
    Ich habe das Ding heute ins S7 Programm und in die WinCC Visualisierung "gecodet".
    Zählt das ? :thumbsup:

    Arcade: Twinliner, Fashion Vision,
    "Cosmic Guerilla" cocktail table
    Pins: Scared Stiff + Getaway
    C64, C65, C66, Gammel+Mist...

  • In den letzten Tagen: Wii-Support für GCVideo-DVI - ist aber noch nicht veröffentlicht weil das sicherheitshalber nochmal am Gamecube getestet wird

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • Dieser Tage wurde bei uns in der Bude an einer Maschine nachträglich eine automatische Schmiermittelpumpe installiert.
    Ich habe das Ding heute ins S7 Programm und in die WinCC Visualisierung "gecodet".
    Zählt das ? :thumbsup:

    Alles was soft ist und nicht hard "gecoded" ist: :dafuer:

    ___________________________________________________________
    Meine Kreationen: Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.
    Avatar: Copyright 2017 by Saiki

  • vor ein paar Wochen habe ich mal ein kleines Python-Skript geschrieben, das C64-Multicolor-Sprites, die zuvor in GIMP oder einem sonstigen Grafikprogramm erzeugt wurden und als PNG gespeichert wurden, in ACME-Syntax umwandelt.

    :thnks:
    Das hätte ich letztens für "mousetest" gut gebrauchen können, aber es gibt sicher ein nächstes Mal...

    Ein einzelnes Sprite in dieser Datei sieht dann so aus:

    Code
    ;-- sprite 10
        !align 63, 0, 0
    [...]
        !byte %......#., %#.#....., %........
    [...]

    Willst Du dafür nicht lieber das SpriteLine-Makro benutzen? Siehe docs/AllPOs.txt bzw. den mousetest-Source. Dann sähe die obige Zeile so aus:

    Code
    +SpriteLine %......#.#.#.............

    Das erleichtert nachträgliche Änderungen.

    ...seit ACME 0.95.7 geht es übrigens auch ganz ohne spezielles Makro, da man jetzt per "!be16", "!be24" und "!be32" Werte auch big-endian ablegen kann. Die obige Zeile kann also auch als

    Code
    !be24 %......#.#.#.............

    geschrieben werden, benötigt aber einen aktuellen ACME.

    Yes, I'm the guy responsible for the Please login to see this link. cross assembler. And some Please login to see this link..

    Edited 2 times, last by Mac Bacon (June 23, 2016 at 1:43 PM).

  • Cool, das kannte ich so noch gar nicht :thumbup:
    Das erleichtert die Arbeit natuerlich ungemein (da ich hin und wieder auch mal direkt im Code Sprites erstelle oder modifiziere)

    - neue Spiele für den C64 -
    Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Alles was soft ist und nicht hard "gecoded" ist: :dafuer:

    Zählt auch VBA unter Excel? :D

    Mache ich auf der Arbeit momentan richtig viel. Gar nicht so einfach ne Tabelle DAU-Sicher hinzubekommen. :puhh:

    Ich wäre schon froh, wenn der VBA Editor nur die Hälfte der Fähigkeiten vom Visual Studio hätte. :umfall:

    Please login to see this attachment. :verehr: .: Mit Please login to see this picture.wäre das nicht passiert! :. :prof:  Please login to see this attachment.

    :syshack: .: Meine 3D-Drucker Teile auf :. Please login to see this link. :strom:

  • Habe dazu diesen C++ Code mal kopiert. Funktioniert auch, aber als Win32 GUI App. Doof.
    Muss es mal auseinandernehmen und auf Konsolen-App umstellen.

    Auf der Seite sind ja mehrere Versionen. Der einfachste Test scheint
    mir der nach den Reg-Entries zu sein. So weit ich den Code verstanden
    habe wird unter "Software\\Microsoft\\.NETFramework\..blabla" gesucht.

    Schau mal unter "Software\\Microsoft\\NET Framework Setup\\NDP"
    nach. Da finden sich mehrere Ordner, je Version einer. Je Version ist
    ein Wert "Install", immer mit "0x0000001" gesetzt. Das zu testen dürfte
    wesentlich einfacher/systematischer sein. Insbesondere ist damit sogut
    wie keine Stringbearbeitung nötig.

    Falls du z.B. mit VirtualBox eine VM mit XP aufsetzen kannst, dann lässt
    sich ja jede NET-Version aufspielen und mit der Test-Software abchecken.


    Edit: Gerade noch gefunden:
    Please login to see this link.

  • Ich mache gerade was um auf gang ganz ... ganz vielen Servern die Logs des nächtlichen TSM-Backup-Laufs auszuwerten. Mit Windows-Servern klappts schon, als nächstes muss ich noch hinbekommen, die selben Infos (per Putty und WinSCP) aus Linux-Büchsen rauszuholen. Die Auswertung, die der TSM-Server zumailt (auf den TSM-Server selbst haben wir keinen Zugriff, der ist vom Serverhoster outgesourced und wird wiederum von anderen outgesourcten Admins in Südasien betreut...), reicht nicht um Fehler zu finden.

    Mal hier, mal da, mal dort. Aber auf jeden Fall auf der Please login to see this link.! Und hier Please login to see this link.!

    Edited once, last by 1ST1 (June 23, 2016 at 6:05 PM).

  • Heute gönne ich mir eine Druckerpause und spiele etwas mit VB.net rum. Nicht das ich alles vergesse wegen dem schrecklichen VBA.
    Mein Z80-Disassembler kann schon NOP und DEFB Hexwert ausgeben :D

    Please login to see this attachment. :verehr: .: Mit Please login to see this picture.wäre das nicht passiert! :. :prof:  Please login to see this attachment.

    :syshack: .: Meine 3D-Drucker Teile auf :. Please login to see this link. :strom:

  • Auf der Seite sind ja mehrere Versionen. Der einfachste Test scheint
    mir der nach den Reg-Entries zu sein. So weit ich den Code verstanden
    habe wird unter "Software\\Microsoft\\.NETFramework\..blabla" gesucht.

    Ja, ich hab ja das Programm auch zum Laufen gekriegt und dann als ConsolenApp musste ich "nur" die Ausgabe statt in eine MessageBox per printf ausgeben.
    Mein Problem war, die gefühlt 278 Stringvarianten und dazu passende printf Varianten so zusammen zubringen, dass man diese zusammensetzen und ausgeben kann.
    Klar, ich bin total eingerostet in C++. Sowas banales wie 3 Strings (TCHAR) zusammensetzen klappte einfach nicht sofort.

    ___________________________________________________________
    Meine Kreationen: Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.
    Avatar: Copyright 2017 by Saiki

    Edited once, last by TheRealWanderer: Auf Wunsch vom Autor geändert. (June 24, 2016 at 6:56 AM).

  • Char Pointer und Arrays sind ja auch keine Strings. Immer alles schön mit std::string verwursten.

    C64Studio: Please login to see this link. - Please login to see this link. --- C64Studio WIP: Please login to see this link. - Please login to see this link. --- Please login to see this link.

  • Heute mal wieder etwas an meinem elektronischen Logbuch fürs Geocachen weiter gecodet.
    Basis: Atmega 8 - programmiere ich mit Bascom
    Angestöpselt ist ein 2x16 LCD Display und eine 4x3 Tastatur.
    Bascom ist irgendwie manchmal unlogisch ?(
    Read + Write Befehle ins Eeprom sind schon spannend :rolleyes:
    82% Flash bereits vollgestopft - ist aber fast fertig :thumbsup:

    Hucky

    Arcade: Twinliner, Fashion Vision,
    "Cosmic Guerilla" cocktail table
    Pins: Scared Stiff + Getaway
    C64, C65, C66, Gammel+Mist...

  • Moin !

    ich habe heute mal mein exomizer-filelist - bash-script ein bißchen erweitert.
    Für alle, die es noch nicht kennen, hier eine Kurzbeschreibung:

    ist natürlich noch erweiterbar (z.B. alle PRG's ind allen Unterverzeichnissen), aber nu funzen erstmal alle exomizer_args , die im Variablen-block stehen.

  • Ich brauchte mal eine bessere lesbare Auflistung aller Z80-Opcodes.

    Please login to see this attachment.

    Vielleicht kann damit einer ja was anfangen.

    Please login to see this attachment. :verehr: .: Mit Please login to see this picture.wäre das nicht passiert! :. :prof:  Please login to see this attachment.

    :syshack: .: Meine 3D-Drucker Teile auf :. Please login to see this link. :strom:

  • Ich brauchte mal eine bessere lesbare Auflistung aller Z80-Opcodes.

    Please login to see this attachment.

    Danke, aber mit freier Software bekommt man das nicht auf Anhieb geöffnet:
    "UNRAR 4.10 freeware Copyright (c) 1993-2012 Alexander Roshal
    Z80-Opcode.rar is not RAR archive"

    ...laut hexdump befindet sich in dem Archiv eine "Z80-Opcode.xlsx", also habe ich vermutlich eh nichts verpasst. :D

    Yes, I'm the guy responsible for the Please login to see this link. cross assembler. And some Please login to see this link..