Archiv des Autors: Friedrich

Weiß nicht mehr, wann es war

Es ist aber immer noch aktuell oder man muß sagen leider noch aktueller als je….

Antrittsrede 2:48
4:30 ca 30 sec
6:00
8:00

Grundgesetz aus libertärer Sicht

https://www.youtube.com/watch?v=KhmeZG4eLzs
53:30
56:40
60:00

FB Artikel:
https://www.facebook.com/pdv.bw/posts/2755692987818557

https://www.facebook.com/pdv.bw/posts/2825444590843396

https://www.facebook.com/Parteidervernunft/posts/3535140759889162

https://www.facebook.com/pdv.bw/posts/2785242114863644
Sehr wichtig:
Wir warnen – wieder einmal – seit mehr als 14 Tagen auch bei Corona.
Die Aktionen der Zentralbanken und der Politik sind exakt die
gleichen, die zu Weltwirtschaftskrise führten. Damals gab es ein
zeitliches Auseinanderlaufen, der fatalen Entscheidungen der
Zentralbank und des Staates.

Erst wurde Geld gedruckt, was zu einem Boom durch Kreditexpansion
führte, dann wurde beim Zusammenbruch der Staatshaushalt so hoch wie
nie in Friedenszeiten gefahren.

Leider haben wir dieses Mal beide falschen Entscheidungen zur selben
Zeit. Die Politiker und Zentralbanken haben also alles getan, um in
eine neue Weltwirtschaftskrise zu gelangen.

Wir können das mit Schriften von Liberalen bis Libertären über die „Great Depression“ belegen:
Bitte lesen Sie:
America’s Great Depression von Rothbard und
The political incorrect guide The Politically Incorrect Guide to the
Great Depression and the New Deal
Wir haben sofort gewarnt. „Wie beobachten jede Machtausdehnung des
Staat sehr kritisch“. Vor 14 Tagen warnten wir davor und seit dem
25.03.2020 wissen wir, es war vollkommen gerechtfertigt.
Nicht einmal Produktionsstopps oder auch nur Verknappung ist
neu. Genau das wurde damals getan, um die Preise für Lebensmittel zu
stabilisieren. Während es immer mehr Arbeitslose gab, die von
niedrigeren Preisen hätten profitieren können, wurden die Preise nach
oben gefahren oder dort gehalten und dazu genauso schlimm, dass Fallen
von Löhnen so gut wir verboten und somit gingen die Arbeitslosenzahlen
durch die Decke.
Die Entscheidungen sind nicht ein wenig falsch, sondern völlig
falsch. Das Kurzarbeitergeld soll hochgefahren werden, nach den
Gewerkschaften sollen die derzeit nicht produzierenden Firmen auch
noch die Sozialabgaben für die Leute in Kurzarbeit aufbringen
müssen. Das muß man sich vorstellen! Es wird eine Schuldenwirtschaft
etabliert, aber so getan, als ob es diese Schulden nicht gäbe, und das
dieses Geld „gespart“ sei.

Was auch nicht neu ist, die für uns und in ihrem Land wichtigen
Arbeitskräfte und Einkommen wurden verboten. Kurz, die Produktion wird
behindert, es gibt sehr hohe Auflagen für die Aufnahme von Arbeit, und
gleichzeitig verlieren Hunderttausende Einkommen, auf das sie sicher
zählen konnten.
Es ist der völlig falsche Weg. Und er wird von Staaten und
Zentralbanken gleichzeitig beschritten, da damals der Schaden
ungeheuer war, wird es auch dieses Mal fürchterlich.

Schlechte Zeiten verlangen nach einer extremen Entstaatlichung und
seit vorgestern gehen wir nicht in die falsche Richtung, sondern
rennen.

Nichts wird so funktionieren, wie es sich die anderen Parteien,
einschließlich der AfD vorstellen. Die Grundlagen für eine
Die Weltwirtschaftskrise wurde von den aktuellen Politikern und deren
Vorgänger gelegt.

Falsch + Falsch ergibt nur Falscher.
Wir als liberale Partei weisen diese Eingriffe in die Wirtschaft
grundsätzlich ab. Siehe auch auf unserer Seite:
https://parteidervernunft.de/mitglied-werden/

Erster Eintrag zu Corona:
https://www.facebook.com/pdv.bw/posts/2755692987818557

Wir beobachten jede Machtausdehnung des Staates misstrauisch:
https://sciencefiles.org/…/pandemie-gewinnler…/
Wir denken nicht, daß die Politik hier besonders klug gehandelt
hätte. Wir bezweifeln stark, daß man überhaupt auf eine Pandemie
eingestellt ist. Wir haben dazu keine Erfahrungen gesammelt, daher
können wir nicht wissen, ob und wie gut wir vorbereitet sind.

Was nun auffällig ist, der erste Ruf ist in D nach einem
Staat. Betrachtet man die Abgabenlast in D ist dieser Ruf
verständlich, beachtet man das Management von größeren, staatlichen
Projekten, so wird es völlig unverständlich.

Wir erinnern nur, was staatliche Stellungen alles nicht konnten:

  • sie können kein Großprojekt innerhalb von Zeit- und Budgetgrenzen
    abwickeln (Stuttgart 21, Elphi, BER)
  • sie haben nicht mal die Abgaben in einem erträglichen Rahmen halten können
  • sie konnten in 2015 nicht die Grenzen überwachen. Wenn es auf einmal
    doch geht, was könnte einem das sagen?

Wenn man die oberen Punkte zusammen sieht. Wieso sollte man glauben,
daß staatliche Stellen mit einer Pandemie fertig werden können?

Weiterhin gilt immer noch: Auch ein Staat kann nur Geld ausgeben, das
er vorher den Leuten abgenommen hat. Die einzige Alternative dazu
ist Geld drucken und wie wir leider festhalten müssen – das ist der
Plan! Und es sieht so aus, als ob das der ganze Plan wäre. Man will
also einfach nur viel neu gedrucktes Geld unter die Leute bringen und
das soll dann reichen.

Was man auch sieht, die Zentralplanung wird hochgefahren. Soll man
wirklich glauben, dass nach Corona wieder heruntergefahren?
Erfahrung zeigt, was der Staat einmal sozialisiert hat, lässt er kaum
mehr los. Da muß es schon extreme äußere Einflüsse geben.

Versäumnisse werden oben im Blog schon aufgeführt. Die Aktionen am
Anfang waren kaum vorhanden, wir erinnern daran, die erste
Lageeinschätzung war – nicht gefährlicher als Grippe. Was offenbar
falsch war. Nun ist das Kind schon in den Brunnen gefallen, auch dank
unserer Politiker und nun wird natürlich mit extremen Mitteln
agiert. Wir sehen, bei all dem spielt die Bevölkerung keine Rolle. Es
wird vermittelt, man wüsste schon, was zu tun sei. Für uns sieht es
danach nicht aus.

Es wird so getan, als ob nur eine bessere Zentralplanung nötig wäre, um
alles in den Griff zu bekommen, zu älteren Zeiten hieß dieses Rezept
Kriegswirtschaft. Genau darauf scheint es herauszulaufen. Wer darf
schon etwas dagegen haben, wenn „das Volk“ auf dem Spiel steht? Wer
sich https://twitter.com/BMG_Bund/status/1234425768652025856
anschaut, bekommt es ganz klar gesagt. Der Einzelne zählt nichts ….

Wir sind weiterhin gegen jede Subvention, aus welchem Grund auch
immer. Wir sind weiterhin gegen jede Art von Geld drucken und gegen
jede weiter staatliche Zentralisierung.
Wir fragen auch offensiv. Wo genau kann man die Notalllpläne ansehen,
wer genau zeichnet dafür verantwortlich? Was ist vorgesehen? Wir sehen
nicht, daß so gehandelt würde, als ob es das gäbe, sondern es wird
improvisiert. Das können wir verstehen, nur wenn eine zentrale Stelle
improvisiert, was ist mit Alternativen Aktionen? Was ist, wenn die
Improvisationen nicht funktionierten, man aber mit Gewalt daran geht
sie weiterzutreiben?

Dazu ein Zitat vom oben angeführten Link:
„So einfach ist es heutzutage, Kritik zu diskreditieren, denn auf
jeden, der die Bundesregierung für ihr NICHTSTUN und ihre INKOMPETENZ
kritisiert, haben die Medien nun die richtige Antwort zu geben, nicht
in großen Schlagzeilen, sondern in kleinen: Die armen Politdarsteller
werden zu Unrecht gescholten. Sie tun ihr Bestes (was bedeutet, sie
können es nicht besser). Seid solidarisch und hört auf, die
Inkompetenten für ihre Inkompetenz zu kritisieren. In Zeiten der Krise
muss man solidarisch sein und zusammenstehen, gemeinsam durch das Tal
der Tränen laufen. Kritik dahin gehend, dass man das Tal umgehen und
über den Bergrücken hätte laufen können, ist zu unterlassen.“
Es wird sich weisen; einige Deutsche sind besser präpariert, man kann
fast darauf wetten, die werden Besuch von der Staatsgewalt
bekommen. Erinnern Sie sich noch an die Zeitungsmeldungen zu
Preppern?

Man nutzt derzeit wie so oft FUD um mehr Gewalt gegen den Einzelnen zu
rechtfertigen. Die Bevölkerung wird nicht als mündige Bürger
behandelt, sondern als „arme, verunsicherte Kinder“ die Papa Staat vor
„Schlimmeren“ bewahren muss.

Man muss zugeben, so ganz Unrecht haben sie dabei nicht, man selber
hat ja lange genug an der Entmündigung gearbeitet und alle, die dagegen
waren versucht zu diskreditieren. Die Wahlergebnisse sprechen für
Bastiat:
„Der Staat – das ist die große Fiktion, daß jedermann auf Kosten von jedermann leben kann.“
Frédéric Bastiat“

Wir denken, daß wir dabei sind, wie ein neues Kapitel einer
Staatswirtschaft geschrieben wird. Wir können da als liberale Partei
nichts Gutes erwarten. Und wir wissen heute schon, es wird
Scheußliches dabei passieren.

Ein andere Blogger schreibt so: http://lepenseur-lepenseur.blogspot.com/…/funoten-zum…
“ „Wir können die Grenzen nicht schließen!“
So orakelte Ihre Alternativlosigkeit 2015 bei ihrer Busenfreundin Anne Will.
Die Staaten der EU schließen jetzt ihre Grenzen.
Es gibt eben Merkels Welt und die Realität.
In der „Welt“ wird berichtet, dass in italienischen Krankenhäusern die
Versorgung zusammenbricht. Ältere Patienten werden abgewiesen, weil
die Ressourcen nur noch für jene reichen, denen man gute
Überlebenschancen zuspricht.
Wie es scheint, gibt es doch noch einen Gewinner bei dieser Pandemie: die Pensionskassen.
In Österreich wird mit einem Zusammenbruch der Spitäler in zwei bis
drei Wochen gerechnet. Aus einem ganz einfachen Grund: Deutschland
verweigert die Lieferung dringend benötigter medizinischer Güter.

Ach, wie hieß es doch, es würde die Friedens- und Solidargemeinschaft
EU immer halten, unverbrüchliche Freundschaft und so, gemeinsam sind
wir stark – bis es zur ersten Krise kommt. Dann gibt es keinen freien
Warenverkehr mehr, keine Personenfreizügigkeit, keine Solidarität,
kein Verständnis, keine Nähe, keine Freundschaft.
Wenn in einer Krise sowieso jeder auf sich allein gestellt ist, dann
ist diese EU fulminant gescheitert. Das ist der Offenbarungseid.“

Wir verweisen auf einen Eintrag eines Mitglieds hier auf FB:
https://www.facebook.com/permalink.php?story_fbid=802530403593402&id=100015093497279

https://www.facebook.com/pdv.bw/posts/2805903426130846

https://www.facebook.com/pdv.bw/posts/2783099871744535

https://www.facebook.com/Parteidervernunft/posts/2958933994176511
Werden diese 1,2 Millionen Bürger und ihre Familien eines Tages sagen:
Damals sind wir wegen Corona in Hartz-4 gerutscht? Oder werden sie
sich daran erinnern, wie die Regierung durch einen zu langen Lockdown
ihren Arbeitsplatz geopfert hat?

https://www.facebook.com/Parteidervernunft/posts/3592332524169985

https://www.facebook.com/pdv.bw/posts/2797632780291244

Überschriften in den BNN vom 2.4.2020 S 4+5
„Der starke Staat ist zurück. Im Angesicht der Corona-Pandemie greifen
die Regierungen massiv in die Rechte der Bürger ein“

Das ist unerträglich. Nehmen wir das beim Wort, dann ist eine Diktatur
ein ganz besonders „starker Staat“, denn dort wird massiv in die
Rechte der Bürger eingegriffen. Also ist z.B. was das ungarische
Parlament beschlossen hat, eine „wunderbare“ Umsetzung dieses
„Konzepts“.
Ein Staat, der seine Bürger entrechtet, ist alles – nur nicht stark.
Auf der Seite vorher steht tatsächlich
„Weniger Freiheit für mehr Sicherheit“. Welche Sicherheit gibt es in
einem Land, in dem ein Staat beliebig die Freiheit beschränken kann?
Wer beabsichtigt ihn davon abzuhalten, Tausende, ja Zehntausende zu deportieren,
kasernieren oder Schlimmeres?
Wir feiern sicherlich keinen Staat, der nach dieser Definition stark ist.
Was wir auch nur sarkastisch kommentieren können. Freiwillige
Installation einer „Tracking-App“, bestimmt so freiwillig wie die
Frauenquoten in Aufsichtsräten – nehmen wir an.
Von Anfang der Krise an und lange davor haben wir die Machtausdehnung
des Staates immer kritisiert. Wir bleiben dabei. Wenn Sie auch der
Meinung sind, empfehlen wir Ihnen bei uns mitzumachen.
(https://parteidervernunft.de/mitglied-werden/)

Vorherige youtube Einträge, die zeigen, wie zeitlos unser Programm
schon immer war:
https://www.youtube.com/watch?v=pOxBDKZyW6Y
https://www.youtube.com/watch?v=WzWsgMfoGgI
https://www.youtube.com/watch?v=XyACQbjg2kM
https://www.youtube.com/watch?v=X9tjoQguT9E
https://www.youtube.com/watch?v=6bm2oG9cC1M

https://www.youtube.com/watch?v=L_QV3GpmOT4
Um: 29:00

Prediction

to https://www.q-software-solutions.de/blog/2023/09/i-failed-miserably/
In October around mid to end, they will call me and tell me that because if unforeseeable circumstances, the appointments could not have happened. We just have to do something to fix that and they’ll be there to do that for me. Or something along this idea.
Or if they may read this blog, they change that. That they read the blog is unlikley. So I give the prediction over 90 % probability if they don’t read this.

Just we’ll wait and see.

Von vor 4 Jahren

Es ist schon einen Asbach Uralt wert, wenn den Wählern Recht (wid)erfährt. So oder so ähnlich kann ich nur kommentieren, wenn ich lese, die Altersarmut nimmt zu. Die Leute, die so langsam in die Rente kommen, sind die geburtenstarken Jahrgänge und nun ungefähr 30 – 40 Jahre wählen. Raten Sie mal, wer von denen im Wechsel an die Macht gewählt wurde!

Denken Sie an die SPD „Ikonen“ Schmitt und Brandt, dann kann man sich als Liberaler zurücklehnen und sich darüber freuen, dass es doch so etwas wie Gerechtigkeit zu geben scheint.

Mein Mitleid bewegt sich dicht an 0. Sie wollten Asozialstaat und bekommen halt Asozialstaata, das ist gerecht.

Es ist nicht nur dieses Blog

Das Klima hat sich früher geändert, es ändert sich heute und es wird sich auch in Zukunft ändern. Das ist zu 100 % gewiss! Die Verbrechen im Namen des Guten sind nicht schlimmer oder schlechter als die im Namen einer Rasse. Es sind Verbrechen und unsere Regierung, die Capos.

Nun 5 Jahre her

Ich hab‘ immer schon geschrieben, ich bin mir recht sicher was kommen wird, nur über die Zeitspannen bin ich mir um Unklaren. Ich bin mir immer noch im Unklaren, aber nun quantifiziere ich doch mal meine Meinung.

Es besteht die realistische Möglichkeit, daß die EU noch innerhalb meiner Rest-Lebenszeit Geschichte wird. Mit zunehmender Zeit halte ich es einfach für wahrscheinlicher

bis 5 Jahre: W’keit < 5 % (das die EU kaputt geht)

bis 10 Jahre W’keit < 7 – 8 %

bis 15 Jahre W’keit < 10 %

Bis 20 Jahre W’keit < 25%

Bis 25 Jahre W’keit < 30-35 %

Somit gilt also, daß die EU noch 25 Jahre bleibt ist für mich nur noch bis ca 70 % wahrscheinlich.

Vor 2008 und vor den ganzen zweifelhaften Entscheidungen der EU und auch unseren Politikern, hätte ich mit einem Untergang der EU gar nicht gerechnet. Die „vage“ Möglichkeit hätte ich schon bejaht, aber die Zeitspanne wäre sicherlich über der meines Lebens gelegen.

Was danach kommt – müssen halt die Nachfahren ausbügeln. Bei vielen der heutigen Politiker gibt es aber keine Nachfahren …

Ich kann Ihnen nur nahelegen, keine sozialdemokratischen Parteien mehr zu wählen oder zu unterstützen. Diese werden sich garantiert zu Diktaturen auswachsen. Die Tendenzen sind ja heute leider nur zu offenkundig…. Umerziehung wird immer mehr angedacht…… Unsere Zeitungen und ÖR brauchen da nicht mal mehr ein Gleichschaltungsgesetz, die machen da so gut wie alle freiwillig mit.

Wieder einmal haben die Fanatiker einen Lauf

Der vorletzte Lauf ist ungefähr 89 Jahre, her der letzte in D wohl ca 77 Jahre. Wieder wird die Jugend fanatisiert, ob es nun die #FFF als Jugendorganisation für die Grünen sind oder die Hitlerjugend für das „reine“ Deutschland oder die FDJ für die Kämpfer der „Freiheit“. Es geht um Ausgrenzung, Abgrenzung und Kriminalisierung. Man kann es drehen wie man will, noch nie ist daraus etwas Gutes geworden. Und es wird sich auf Dauer nicht ändern. Im Namen des Guten morden ist so alt wie die Menschheit und wird und wohl noch bis zum Ende der Menschheit begleiten. Man sollte meinen, man lernt aus den Desastern der Vergangenheit. Aber offenbar geht es nur in Zyklen, Aufstiege, Überheblichkeit, Fall und dann sammeln die Mörder wieder Kraft für einen neuen Zyklus. Und wir bekommen so was zu hören wie „nie wieder“, inhuman, verbrecherisch und dann kommt ein neues Regime an Verbrechern an die Macht und erzählt uns, das sei schon gut so …

Es ist erbärmlich und wirklich zum K….

Gut so

Endlich ! Ich kann gönnen und das kommt mir mal wieder zu Gute:

https://www.bild.de/…/geht-tchibo-pleite-2022-satte-167…

Die Wähler haben es gründlich versaubeutelt und bekommen endlich mal die Rechnung dafür präsentiert. Wo waren je die Proteste gegen „ein kleines neues Gesetz“, was war los zu Coronazeiten gerade mal 3 Jahre her. Man wählte für Planwirtschaft, Bürokratie und „soziale Gerechtigkeit“ es ist schön zu sehen, daß man nun die Früchte dieser „Gerechtigkeit“ einsackt …

Es ist nicht so, daß man nie eine Wahl hätte, dieses Randblog am Rande des WWW hat es immer wieder vorgeschlagen und vor dem Weg gewarnt. Ich werde es zu spüren bekommen, aber wahrscheinlich etwas weniger hart als Andere. Ich weiß auch heute schon, daß ich in Zukunft zu den Zahlern von diesem Mist gehören werden. Man könnte es besser haben, aber man will ja mehr Staat und mehr soziale Gerechtigkeit. Die fährt man gerade ein ..

Sieht so aus

Als ob ich zum Ende meiner Refaktorierung komme. Es scheint, ich konnte 4 verschiedene Formulare mit 4 verschiedenen Abfragen auf 1 Form mit 1 Abfrage umprogrammieren. Es ist IMHO hilfreich, das Wissen was man hat, in Objekten/Strukturen unterzubringen. Der Code ist bislang nicht perfektioniert, aber immerhin statt 4 Formen mit Code von 120 Zeilen ist es nur noch eine Form mit rund 140 +/- 20 Zeilen.

So sieht der ersetzte Code aus:

'Dim intAntwort As Integer
'Dim strNeueZeile As String
'strNeueZeile = Chr$(10) & Chr$(13)
'
'Dim intSchleife As Integer
'Dim lngNr As Long
'Dim lngDrucker As Long, strBericht As String
'
'Dim WSP1 As Workspace, DB1 As Database, Tabelle1 As Recordset
'Set WSP1 = DBEngine.Workspaces(0)
'Set DB1 = WSP1.OpenDatabase(strDatenbankGlo)
'
'Set Tabelle1 = DB1.OpenRecordset("HT_Nummernkreise", DB_OPEN_TABLE)     ' Tabelle öffnen.
'
'If Forms!HF_AuftrAnkErz!AngebotKz = True Then
'    ' Rückfrage mit Speicherung der Antwort
'    intAntwort = MsgBox("Für diesen Auftrag wurde bereits ein Angebot gedruckt!" & strNeueZeile & "Wollen Sie diesen Ausdruck wiederholen?", 33, "Angebot drucken?")
'    If intAntwort = 2 Then
'        GoTo Exit_DruckAngebot_Click
'    End If
'End If
'
'' Firma Beller
'If strKundeNr = "143" Then
'    strBericht = "BR_DruckAngebotAnkErz_Bel"
'Else
'    strBericht = "BR_DruckAngebotAnkErz"
'End If
'
'ordneDruckerZu "Angebot", strBericht, HAUPT_DRUCKER
'
'' Prüfen ob Kontrollkästchen für Seitenansicht aktiviert
'' wenn aktiviert dann Seitenansicht, ansonsten Ausdruck auf Drucker
'If Me!Seitenansicht = True Then
'    DoCmd.OpenReport strBericht, acViewPreview
'Else
'    Tabelle1.MoveLast                     ' Letzten Datensatz suchen.
'    setzeFelder Forms!HF_AuftrAnkErz, Tabelle1, DRUCK_BEREICH_ANGEBOT
'    erhoeheNummer Tabelle1, "AngebotNr"
'
'    Forms!HF_AuftrAnkErz!AngebotKz = True   ' Setzen der Druckkennziffer
'    Forms!HF_AuftrAnkErz.Refresh
'
'    ' Logbucheintrag
'    If DLookup("[Benutzerverwaltung]", "HT_SysParameter") = True Then
'        Call SetzeBenutzerLog("Drucke Angebot m. Summen Ankauf Erz.-Preis! Auftrag Nr: " & CStr(Forms!HF_AuftrAnkErz!AuftragNr) & ", Angebot Nr: " & CStr(Forms!HF_AuftrAnkErz!AngebotNr))
'    End If
'End If

Also grob 4 * 120 = 480 (es kommen wahrscheinlich noch ein paar Zeilen dazu, wegen eines Berichts, der genau auf die Anforderungen eines Kunden zugeschnitten war, die Logik ändert sich aber nicht, auf, sagen wir mal 160 LOC, 60 – 70 % weniger Code. Macht bei 500 000 Loc rund 600 / 500 000 * 100 = 0,12 % 😉 und 3 Formulare weniger … Nicht beeindruckend, wenn man aber betrachtet, in wie vielen Bereichen man das erreichen könnte. Wäre eine erste Schätzung, daß man den Code auf 160 / 600 = 26,6 % runter brächte, was dann auf gerade mal 125 000 Zeilen von Code hinausliefe, ohne Einbußen bei der Funktionalität. Wenn man dann noch die extrem aufwendige Übergabe an diverse Buchhaltungssysteme auf Datev herunterschraubte (was wohl jede Fibu in D einlesen kann) … Da kann man mal sehen, was nur eine andere Strukturierung an Vorteilen brächte und wie viel weniger Fehler gäbe es und wie viel einfacher wäre eine Korrektur? Sollte ich mal einen Fehler in den Angeboten finden, bräuchte ich nur eine Methode ändern statt … Mal sehen wie’s weitergeht. Es kommt wohl etwas dazu, weil es das Ziel ist, alle Reports auch als Email versenden zu können. Mal schauen…

Aus 2018

Zum klar stellen. Das Elend was uns in nächster Zeit ereilen wird und derzeit ereilt, haben die Wähler mit verschuldet, wer nach 2008 weiter CDU oder SPD oder FDP wählte oder sich vorher für Grüne oder LInke entschied, der wollte es genau so haben. Einen Staat der einem immer bevormundet. Man bekamt ihn und jetzt merkt man: Ein Staat der einem was geben kann der kann einem noch leichter nehmen…..

Deutsche Wähler sind nicht die Hellsten….. Diejenigen, die warnten, hatten recht und werden diskreditiert.
Auch wenn ich Sie nerve, lesen Sie ein paar Einträge in diesem Blog. Der immerhin inzwischen bis 2008 zurückgeht und überlegen sich, wie weit ich daneben lag oder eben richtig. Bitte bedenken Sie bei der nächsten Wahl, Sie müssen nicht für ein weiter so wählen!

Passend zu den letzten Einträgen

Ich schrieb, daß ich mich auf einen neuen Trip begebe, ich möchte anfangen F# intensiver zu benutzen. Ich hole noch ein bisschen aus, um meinen Hintergrund zu verstehen. Ich bin a) nicht mehr der Jüngste und b) ca 30 Jahre Programmierer +/- 10 Jahre. Die 10 Jahre kommen von meinen „leichten“ Kontakten zur Programmierung. Weil es beim Bund für Wehrpflichtige die Möglichkeit gab, Kurse zu belegen, habe ich bei einem dBase Kurs mitgemacht. OS: CPM und dBase II Bildschirm vielleicht 80 x 24 Zeichen, ich weiß es nicht mehr. Eines meiner ältesten Bücher aus der Zeit ist vom Franzis Verlag, Titel Die beiden Datenbanksysteme dbase II und III, Datum im Buch 1986.
Das ergibt 2022 – 1986 = 36 Jahre, tja und in der Schule habe ich auf einem TI irgendwas mit Basic angefangen. Somit ja das mit der Zeit kommt hin. Dann kam der erste PC in ’s Haus. Ein Atari ST , RAM 1024 MB , Platte 20 MB!, sauteuer aber cool. Da ein wenig in die Programmierung reingeschnuppert, aber nie was auf die Reihe bekommen. Dann kam das Studium an der Uni Karlsruhe und der erste Kurs war Modula-2. Ich habe bisher nichts öfter wiederholt als diesen Kurs. Ich bin, was programmieren angeht, kein schneller Lerner, aber hartnäckig nehme ich an. Der Kurs war irgendwann geschafft und dann kam C und keine Ahnung, von da an lief es, was programmieren angeht besser. Absurd, wenn man daran denke wie viele lesbarer Modula-2 Code ist als C (wenn man es nicht gewohnt ist). Trotzdem scheint es für mich leichter gewesen zu sein Den Kurs habe ich sofort bestanden. Dann kam Eiffel und darin habe ich angefangen ernsthaft Software zu schreiben. Es gibt noch ein paar Paket dort draußen in denen ich meine Finger reinsteckte siehe: https://fam-dominicus.de/tiki/tiki-index.php?page=FriedrichsTiki . Vielleicht sollte ich die Quellen mal irgendwan zugänglich machen.

Dann gründete ich die Q-Software Solutions und die Idee war ursprünglich eine Nachfolgersprache für Eiffel zu entwickeln Q. Die Idee damals: strikte Trennung CQS. Der Teil mit Status sollte OO mässig aufgebaut sein, der Rest funktional. Naja wir hatten etwas was prinzipiell funktioniert aber es war ein totaler wirtschaftlicher Reinfall, es wurde nie fertig und verschlang wirklich viel Geld ….

Hier noch ein bisschen Code der damals lief …


https://fam-dominicus.de/tiki/tiki-index.php?page=FriedrichsTiki
class Argv_test -- Main

creation
   make
      local
         i : Integer;
         args: Arguments;
      do
         args := new Arguments.make;
         out := new Standard_output;
         i := 1;
         loop
         until i > args.argument_count
            out.print_string("argument ");
            out.print_integer(i);
            out.print_string("= ");
            out.print_mutable_string(args.argument(i));
            out.print_newline;
            i := i + 1;
         endloop
         out.print_string("program name = ");
         out.print_mutable_string(args.program_name);
         out.print_newline;
      end;

public


   out: Standard_output;


endclass

Es compilierte nach C und deswegen habe ich mich mit Jacob Navia zusammengetan.( https://lcc-win32.services.net/. Die Zusammenarbeit war lang und erfreulich. Und nun gebe ich ein wenig an, wir waren unter den Ersten, die diesen Compiler auf 64-bit portierten, damals für eine Firma, die das benutzen wollte, um SQL Queries für ihre Datenbank zu kompilieren. Es gab auch eine Firma, die ein 5-GL Sprache anbot, die nach C kompilierte, das C war lcc-win32. Ich glaube die Schnittstelle nach C von Q war eine der einfachsten, die es damals gab und vielleicht heute noch gibt:

Da kam also einiges an Erfahrung mit C dazu. Es ist heute immer noch eine PS, die ich schätze. Aber PS haben einen „leicht“ addiktiven Effekt und ja, die Idee von Q ist immer noch präsent. Über die Zeit habe ich mir dann immer mehr PS angeschaut, manche angeeignet, einige relativ umfassend, andere so la la und manche eher schlecht als recht.
Ich zähle einfach nur auf (ohne zu sagen wie gut oder schlecht ich damit zurecht komme) , C, Eiffel, Turbo Pascal, Perl, Tcl/Tk, Ruby, Python, Common Lisp, Scheme, Smalltalk, D, Java, C#, Emacs Lisp, Erlang, Racket, IO, Self, Dylan, Ocaml, div. Assembler, VBA, WLanguage, C##

Man sieht, eher auf der OO Seite, wie ich aber vor zwei Tagen schrieb ist mir Java und C# irgendwo zu „verbose“, ich muß zuviel schreiben und lesen um zum Kern zu kommen, deshalb denke ich werde ich mit F# auf .NET gut fahren. Wie geschrieben, ich denke, man sollte alle Hilfe beim Programmieren benutzen, derer man habhaft werden kann. Es gibt aber ein paar Sprachen, in denen ich mir zutraue, etwas hinzubekommen, die ich aber nicht mag und ganz oben sind da C++ und Perl. Die sind IMHO zu kompliziert, aber ich kann weit daneben liegen.
Ich warte derzeit eine Software seit mehr als 10 Jahren, eine MS-Access Lösung. Sie funktioniert, ist aber ein Ärgernis, was Wartung und Weiterentwicklung angeht. Ich arbeite daran, aber …

Also wohin und was tun. Ich denke nach dem Abwägen der Möglichkeiten und der eigenen Vorlieben und Können sollte ich mit F# durchaus zurande kommen. Auf der anderen Seite sehe ich dann Videos wie:


Was mich einfach abschreckt und das sieht für mich nach kompliziert aus, ohne einen Gegenwert. Ich denke, ich möchte keine manuelle Speicherwaltung und ich möchte mich nicht mit Referenzen und Eigentum von Objekten auseinandersetzen. Ich möchte eine einfach lesbare Lösung und Sprache und F# könnte es sein. Ich denke auch die Trennung von OO und FP dürfte in F# funktionieren und wenn’s nicht klappt, kann ich immer noch C# Klassen benutzen 😉

Zum letzten Eintrag

Ich schrieb ja, ich werde mich auf einen neuen Trip begeben und F# intensiver nutzen.
Heute habe ich auf chatgpt+ geupdated und ich denke es werden gut angelegte 25 € im Monat sein. Zumindest hat es mir schon mal geholfen, einen Code zu erstellen, den ich heute wohl noch verwenden werde. Das hielt ich daher auf FB fest:

Ich habe mich etwa intensiver mit chatgpt beschäftigt und ich weiß, man sollte mit Superlativen vorsichtig sein. Ich denke aber das wird mein Programmiererleben und das der zukünftigen Programmierer mindestens genauso verändern wie die Suchmaschinen im WWW.

Ich sehe, es in den vielen youtube Videos, die meisten benutzen nicht man etwas wie `man` sondern tippen es gleich in die Suchmaschine ein und kopieren dann den Code in 0, nichts.

Es ist absolut hilfreich, wenn man sich in neue PS einarbeitet und der Code ist m.E. von guter Qualität, und wenn er dann noch gleich kompiliert und läuft ist es „nur“ der Punkt auf dem i 😉

Betrachten wir die Vergangenheit haben Maschinen massiv dazu beigetragen, die Produktion zu erhöhen und wir leben in derartig guten Zuständen (auch wenn es klar durch die Irren in der Politik in die falsche Richtung geht) dank der Mechanisierung. Ich denke durch Maschinen wie chatgpt können wir so etwas auch für die Programmierung sehen. Ich weiß noch nicht, wie und ob sich die Codequalität ändern wird, ich tippe auf eine Verbesserung, aber auch auf mehr Duplizierung in Code – mal sehen. Ein paar Jahre habe ich ja noch … (wahrscheinlich)

Ich denke, für Programmierer wird es auf erfreuliche Weise interessant

FD auf FB (FD = Friedrich Dominicus)

Ich glaube, ich gehe auf ’nen Trip

Mit einer von mir bisher wenig gebrauchten PS. Ocaml aka F#. Warum? Nun ich würde gerne Smalltalk benutzen, aber ich möchte auch so viel wie möglich Compilerunterstützung gegen Typos und andere Fehler nutzen. Ich denke mir, was der Computer testen kann, soll er auch testen. Ich mag es weiterhin nicht, mich zu wiederholen, als wäre ich eine gesprungene Schallplatte:

LongPathToSomeJavaClass<withTemplate1, withTemplate2> = myClass = new LongPathToSomeJavaClass<withTemplate1, withTemplate2>()

Ja, ich weiß, man braucht es nach dem New nicht mehr so zu schreiben. Was mir auch nicht so gefällt, wenn ich die Methoden in OO-Weise aufliste MyList.map(some function).filter(someCondition) …

Und ja, seiteneffektfreie Funktionen sind auch schön zu haben. IM Vergleich sieht
F# so aus:

let mutable i = 1
in
    let rec loop() =
        printf "i= %d >" i 
        let input = Console.ReadLine()
        if input = "exit" then 
            exit(0)
        else 
            printfn "You typed: %s" input
            i <- i + 1
            loop()


loop()

Es ist typsicher, ohne dass man es deklarieren muß. Man kann aber:
Also kann ich auch schreiben let mutable i:int = 1. Auf der anderen Seite ist e s nicht so jerkish wie Haskell: http://learnyouahaskell.com/input-and-output.

Ich finde, man kann es ziemlich „locker runter lesen – und verstehen. Mir gefällt vor allem auch ein Schlüsselwort wie ‚mutable‘, damit teilt man F# mit, hey ich werde das ändern und man macht es dann einfach (i <- i+1)

Und vor allem mag ich es, wenn man Daten auch in Objekte packen kann, mit Polymorphismus (die Haskellianer verstehen etwas anderes als der Rest der Welt darunter) . Ich sehe hier wirklich eine Obermenge von Programmerweisen.

  1. Simpel und „dumm“ prozedural let a … let b let c
  2. funktional (keine Seiteneffekte, keine Überraschungen bei Aufruf von Funktionen
  3. objektorientiert (da kenne ich mich nun mal am besten aus und mir kommt es in meinem Programm am weitesten entgegen.

Ich schrieb ja oben von Smalltalk, ich kann viel von OCaml auch in Smalltalk bekommen (schließlich sind Blöcke nicht anderes als Funktionen. Aber nichts warnt mich während der Entwicklung ,wenn so was passiert (pseudo code)


aHouse := aCrodocile
.
.
.
aHouse openDoor. 

Ja, die IDES werden einen vielleicht warnen, aber im Endeffekt, wird uns zur Laufzeit mitgeteilt, da liegst’e mit dem Typ aber daneben. Das kann einem in Ocaml, F# und Haskell nicht passieren. Weithin passt F# komplett in die .NET Welt. Mir wäre kein Smalltalk bekannt, für das das gilt, ja es gab mal ich glaube IronSmalltalk oder so, aber AFAIK gibt es derzeit keine Unterstütztes auf Windows. Ich glaube eine Kombination in einer Sprache, die einen nicht bevormundet ist eine der besten Lösungen. Ich werde mal sehen, wohin mich dieser Trip führt, vielleicht liege ich falsch.

Es wäre nicht das erste Mal und nicht das letzte Mal. Ich werde mal sehen wie’s läuft und ich denke, man kann in diesem Blog auch nachlesen, wenn ich meine Meinung zu etwas geändert habe. Vielleicht passiert es wieder mit F#, vielleicht auch nicht …

Für mich als Einzelprogrammierer gibt es ein paar Wege. Ich kann wie Millionen von andere auf die großen Spieler setzen, ich kann etwas nehmen, was für meinen Bereich am besten zu gebrauchen ist und ich kann nehmen, was mir eher gefällt und auch wenn ich es von Eiffel anders kenne, sehe ich durchaus einen Punkt in dem Sprichwort: „In der Kürze liegt die Würze“

Man kann den Code ja mal in Java, C# oder C++ programmieren und schauen, wie es dann aussieht …

Ich bin kein Fan von FB

Weil man dafür ermahnt wird, von wegen Gruppen – whatever…

„„Jede Propaganda hat volkstümlich zu sein und ihr geistiges Niveau einzustellen auf die Aufnahmefähigkeit des Beschränktesten unter denen, an die sie sich zu richten gedenkt. Damit wird ihre rein geistige Höhe um so tiefer zu stellen sein, je größer die zu erfassende Masse der Menschen sein soll. Handelt es sich aber, wie bei der Propaganda für die Durchhaltung eines Krieges, darum, ein ganzes Volk in ihren Wirkungskreis zu ziehen, so kann die Vorsicht bei der Vermeidung zu hoher geistiger Voraussetzungen gar nicht groß genug sein.“ — Adolf Hitler

Quelle: https://beruhmte-zitate.de/…/128458-adolf-hitler-jede…/

Aber genau das läuft ja derzeit bei den Grünen. Ersetzen Sie Propaganda durch Nudging, also Krieg durch Durchsetzung der Maßnahmen gegen den menschengemachten Klimawandel . …

Von vor 4 Jahren auf FB

Habe ich mal hier hin geholt:

Zu meinen Kommentar zu Journalisten von gestern, ohne Anspruch an Vollständigkeit ohne jede Ordnung:

Im Kommentar: Herr Resch tut den Autobauern einen gefallen (wegen SUV Kritik), der Bericht über Italien fängt wie an? Mit rechtspopulisisch und es war noch was, was ich leider vergessen haben.

Früher hieß es Lebensraum im Osten, heute einfach nur Lebensraum überall und den zu schützen / zu erhalten sind alle Mittel recht. Es zeigt sich mal wieder was Kollektivismus für eine unglaubliche Macht in D hat. Menschen ermorden weil es Juden waren – Gebongt! Menschen kriminalisieren weil es gerade die Sündenböcke sind. Freiheit durch Zwang als neue Freiheit und Lebensvorbild bezeichnen. Ich bin mit den BNN komplett durch. Und ich nenne Sie die neuen Faschisten und wenn ich es konkretisieren will Ökofaschisten. So wie es bei den Faschisten Führer gab und nach diesen geschrien wurden ist es so auch mir den Neuen Faschisten oder Ökofaschisten:

Man soll mit solchen Begriffen durchaus vorsichtig umgehen, nur sehe ich wirklich nicht wie sich diese Wortwahl und Übergriffigkeit anders beschreiben lässt. Was ist der Unterschied zwischen Kauft nicht bei Juden (oder in der neuen Variante Kauft nicht von Israel) Und Kauft keine SUV und kauft nicht bei dt. Herstellen anders? Wie damals ist es eine verhältnismäßig kleine Gruppe die das alles beherrscht, da sind unsere Politiker und eine Presse die man nicht mal mehr mit Gesetzen gleichschalten muß. Ich kann Ihnen auch ein paar kleine Ausnahmen nennen: „Smart Investor“ und ef, das Erstere geht ganz klar mehr in Richtung Individuum und individuelle Freiheit.

Von allen Parteien kann ich allen der PDV und deren Programm entgegenstellen. Gut es soll noch die Libertären oder so geben. Aber im Grund sind es politisch in D gerade mal nur die paar Hanseln die die PDV unterstützen. Wenn man sich überlegt, daß es mal die SPD gewesen ist kann es einen nur schütteln…

Und ja diejenigen die schrieben Orwells 1984 dient als Vorlage statt als Warnung haben recht. Der große Bruder ist der Staat und dessen Organe die sich in jedes Leben einmischen und Sie werden es auch diesmal für sehr viele ruinieren bevor Sie (erst) mal einen auf die Finger bekommen

Ich kann wirklich nur jeden auffordern, sich gründlich mit dem Aufbau von Diktaturen zu beschäftigen und wie es dazu kommt und ich kann nicht laut und oft genug vor diesen Politikern und Parteien warnen.

Es ist schon erstaunlich, wie sich auch in der Presse über die Propaganda von damals mokiert wird, aber genau dieselben Mittel werden heute von den Journalisten verwandt und das finden die „normal“ – das kann ich nicht mehr „normal“ nennen und m.E. sollte es jeder mit einem funktionierenden Restverstand und ja auch nur einem Rest von Gerechtigkeitssinn so empfinden. Wer sich nicht gegen diese Verbrecher stellt, ist selber auch ein Verbrecher und KEIN BEFEHLSEMPFÄNGER !

Was mich wirklich stört …

Was mich wirklich stört: Liberale wählen nicht liberal. Ich wüßte gerne warum es au die meisten zutrifft. Was genau kann man sich als Liberaler von irgendeiner der folgenden Parteien erhoffen?

CDU/SPD/FDP/Linke/Grüne/AfD.

Ehrlich seit 70 Jahren bestimmen die, die Politik in diesem Land, Welche von den Parteien hat sich in diesen 70 Jahren für die Freiheit des Einzelnen und massiv geringere Steuern und Abgaben ausgesprochen? Wer von denen hat in den letzten 50 Jahren den Schuldenberg von D abgetragen?

Liberale wissen es besser und sollten erkennen, wie falsch sie mit der Wahl von sozialdemokratischen Parteien liegen.

Zu Corona Zeiten

Ich verabschiede mich mal vorsorglich von vielen Veranstaltungen und Veranstaltern, Arbeitsplätzen und Arbeitern.

Ich bin ein absoluter Fan von Impfungen, ich bin ein absoluter Gegner von Gewalt durch Politiker. Man kann vielleicht ein Dilemma erkennen?

Ich werde, wenn nötig diese Woche Do Abend noch mal einen Test machen und dann erst mal bis auf Weiteres alle Restaurantbesuche einstellen. Kinos? Tut mir nicht leid, ihr könnte alle Pleitegehen I fuck.. do not care any more. Veranstalter, auch hier farewell. Ich war nie ein großer Fan von Massenveranstaltungen, also kein Verlust für mich, wenn ich dort nicht hingehe.. Museen, ja, die habe ich doch öfter mal besucht, aber auch hier, macht et jut – ohne mich. Ich weiß nicht, was den Grün/Schwarzen BW Neufaschisten noch einfallen wird und ich weiß auch noch nicht, wann und ob ich mich impfen werden, aber ich weiß, ich lass` es mal ganz ruhig angehen und schau mal, was in 1-2 Monaten so sein wird.

Leider steht keine liberale Partei auf dem Wahlzettel, das nehme ich allen Liberalen und noch freiheitlicher gesinnten krumm. Mich kotzt Ihre Feigheit an. Also wenn Sie das beleidigt, dann – gut so. Nehmen Sie mich aus ihrer Liste und erklären mich für ein A …., das paßt dann schon.

Denjenigen, die liberale Parteien unterstützen, alles Gute, mögen Sie die kommenden Katastrophen bestens und unbeschadet überstehen!

An die Gläubigen der Kirche des allein menschengemachten Klimawandels

Liebe Gläubige. Ich habe beschlossen, der Kirche des menschengemachten Klimas beizutreten. Ich nenne Ihnen auch genau den Tag, die Stunde, Minute, Sekunde, wo ich da mache.

Ich überlege mir anzufangen zu glauben, daß es allein menschengemacht ist, wenn alle Staaten dieser Erde keine Schulden mehr haben.

Also ihr wollt einen Gläubigen, dann wird es echt Zeit für ein Wunder

Meistens geht es hier um Politik

Speziell, wie wahnsinnig und menschenverachtend die inzwischen geworden ist.

Es ist aber nicht mein einziges Steckenpferd ;-). Es klang sicher schon gelegentlich an, daß ich Programmierer bin. Ich pflege seit mehr als 10 Jahren eine Branchenlösung für Abfallbetriebe, Containerdienste. Das Ganze ist für kleine Betriebe mit weniger als sagen wir mal 5 AP für die EDV. Das sind nach meinem Wissen so ca maximal so um die 50 Leute die mit der Software bedient werden. Die meisten Dateneinträge dürften Wiegungen sein. Für jede komplette Wiegung braucht es, so gut wie immer zwei Wiegungen. Ich denke, die Software wurde schon zu DOS Zeiten entwickelt, vielleicht liege ich damit aber auch schief. Wie auch immer, die Programmiere haben m.E. a) relativ typisch in MS Access programmiert und b) wenig über die Menge an Code nachgedacht. Im Zweifel lief es wohl so. Da läuft was, wir kopieren es und passen es halt an. So gibt es Redundanzen noch und nöcher, aber natürlich nicht komplett, das wäre ja zu einfach. Wo man die Redundanzen sehr gut sehen kann, ist an folgendem Code:

Private Sub DruckAngeboSum_Click()
On Error GoTo Err_DruckAngeboSum_Click

Dim objOut As CMediaOutput
    
    Set objOut = generateMediaOutputObjects(ActiveControl.Name)
    objOut.doOutput

'Dim intAntwort As Integer
'Dim strNeueZeile As String
'strNeueZeile = Chr$(10) & Chr$(13)
'
'Dim intSchleife As Integer
'Dim lngNr As Long
'Dim lngDrucker As Long, strBericht As String
'
'Dim WSP1 As Workspace, DB1 As Database, Tabelle1 As Recordset
'Set WSP1 = DBEngine.Workspaces(0)
'Set DB1 = WSP1.OpenDatabase(strDatenbankGlo)
'
'Set Tabelle1 = DB1.OpenRecordset("HT_Nummernkreise", DB_OPEN_TABLE)     ' Tabelle öffnen.
'
'If Forms!HF_AuftrAnkErz!AngebotKz = True Then
'    ' Rückfrage mit Speicherung der Antwort
'    intAntwort = MsgBox("Für diesen Auftrag wurde bereits ein Angebot gedruckt!" & strNeueZeile & "Wollen Sie diesen Ausdruck wiederholen?", 33, "Angebot drucken?")
'    If intAntwort = 2 Then
'        GoTo Exit_DruckAngeboSum_Click
'    End If
'End If
'
'' Firma Beller
'If strKundeNr = "143" Then
'    strBericht = "BR_DruckAngebotAnkErzoSum_Bel"
'Else
'    strBericht = "BR_DruckAngebotAnkErzoSum"
'End If
'
'ordneDruckerZu "Angebot", strBericht, HAUPT_DRUCKER
'
'' Prüfen ob Kontrollkästchen für Seitenansicht aktiviert
'' wenn aktiviert dann Seitenansicht, ansonsten Ausdruck auf Drucker
'If Me!Seitenansicht = True Then
'    If strKundeNr = "143" Then
'        strBericht = "BR_DruckLiefschAuftrAnkErzNot_Bel"
'    Else
'        strBericht = "BR_DruckLiefschAuftrAnkErzNot"
'    End If
'    DoCmd.OpenReport strBericht, acViewPreview
'Else
'    Tabelle1.MoveLast ' Letzten Datensatz suchen.
'    setzeFelder Forms!HF_AuftrAnkErz, Tabelle1, DRUCK_BEREICH_ANGEBOT
'    erhoeheNummer Tabelle1, "AngebotNr"
'
'
'    druckeBericht "Angebot", strBericht, Me!AnzahlDrucke
'
'
'    Forms!HF_AuftrAnkErz!AngebotKz = True   ' Setzen der Druckkennziffer
'    Forms!HF_AuftrAnkErz.Refresh
'
'    ' Logbucheintrag
'    If DLookup("[Benutzerverwaltung]", "HT_SysParameter") = True Then
'        Call SetzeBenutzerLog("Drucke Angebot o. Summen Ankauf Erz.-Preis! Auftrag Nr: " & CStr(Forms!HF_AuftrAnkErz!AuftragNr) & ", Angebot Nr: " & CStr(Forms!HF_AuftrAnkErz!AngebotNr))
'    End If
'End If
  
Exit_DruckAngeboSum_Click:
    On Error Resume Next
'    Tabelle1.Close
'    DB1.Close
    Exit Sub

Err_DruckAngeboSum_Click:
    If err = 2501 Then
        Me!Schließen.SetFocus
    Else
        MsgBox Error$
    End If
    Resume Exit_DruckAngeboSum_Click

End Sub

Die drei Zeilen Code oder so sind das was nach dem Überarbeiten bleibt.
Ein paar Dinge dürften Programmierer in neueren Sprachen durchaus verunsichern, das sind die Label zu denen man springt. Ja, das kann man inzwischen anders lösen und nein, es ist recht typisch für VBA. Man sieht, nur für die Fehlerbehandlung kommen „locker“ 5- 10 Zeilen Code zu jeder Funktion. Insgesamt sind es über 500 000 Zeilen an Code und viele Methoden gehen über mehrere Seiten.

Wie man sehen kann, gibt es keine Trennung der Bereiche. In einer Methode/Funktion gibt es Zugriffe auf die Datenbank, Manipulation der UI und Interaktion mit dem Benutzer. Ich befürchte, daß ist immer noch Stand der Dinge bei sehr vielen Access Programmen. Als wirklich ernsthaftes Problem sehe ich das Fehlen von brauchbaren Testmöglichkeiten an. AFAIK gibt es AccUnit zum Testen, das bekomme ich hier nicht installiert und ich bin derzeit immer noch zu faul um mich dahinterzuklemmen.

Die Klasse, in der ich es auslagerte, sieht der Code nun so aus:

Public Sub doOutput()
    Dim bAdjustNumber As Boolean
    Dim objControl As CControlNummernKreise
    
    

On Error GoTo HandleError
    Dim iAuswahl As Integer
    If outputMedia = outMediumPreview Then
        outputPreview
        GoTo HandleExit
    End If
    
    
    bAdjustNumber = True
    If NZ(actForm(textFieldNumberName), "") <> "" Then
        iAuswahl = askToReprintIfPrintedBefore()
        If iAuswahl = vbNo Then
            GoTo HandleExit
        Else
            bAdjustNumber = False
        End If
    End If
   
    Set objControl = actualizeFormDataBeforePrint()
         actualizeNumberCircle objControl, bAdjustNumber
         Set objControl = Nothing
        
         actionBeforePrint
             If outputMedia = outMediumPrinter Then
                 outputPrinter
             Else
                 outputEmail
             End If
         actionAfterPrint
    actualizeFormDataAfterPrint
    writeLog

    
    
HandleExit:
    On Error Resume Next
    Exit Sub


HandleError:
    If err.Number <> 0 Then
       MsgBox "Error " & err.Number & " (" & err.Description & ") in procedure doOutput."
    End If
    GoTo HandleExit


End Sub

Sicher noch reichlich zu kritisieren, aber ich denke, eine Verbesserung ist zu erkennen.
Der Witz an dieser einen Methode ist: Die kann ich so an ungefähr 8 Stellen so benutzen und muß da nichts mehr anfassen. Ich muß die Daten entsprechend vorbelegen

Case FRM_AUFTRAG_ANKAUF_ERZ
If sKundeNr = "143" Then
objResult.reportName = "BR_DruckAngebotAnkErz_Bel"
Else
objResult.reportName = "BR_DruckAngebotAnkErz"
End If            
objResult.logEntry = "Druck Angebot Ankauf Erz. m. Summen Auftrag Nr: " & NZ(objResult.orderNo, 0) & _
                                 ", Angebot Nr: " & NZ(objResult.actForm(objResult.textFieldNumberName), "")

            objResult.lblFuerKLNr = "Lieferant Nr:"

            Set objParameterAngebot = parDruckAngebot_WH()
            objParameterAngebot.mainTableName = "HT_AuftragAnkaufErz"
            objParameterAngebot.subTableName = "UT_AuftragAnkaufErz_Positionen"
            objParameterAngebot.fieldNameKLNo = "LieferantNr"

gen, aber die Logik dieses Teils geht nicht verloren. Ich denke, daß ist einer meiner Lieblingstechniken, einen Algorithmus austüfteln und dann möglichst nicht mehr anfassen zu müssen. Sollte was schiefgehen, dann habe ich hier eine zentrale Anlaufstelle, um es zu korrigieren und muß nicht die Korrektur 8 mal wiederholen.
Leider macht es einem VBA unglaublich schwer Code wiederzuverwenden, denn obwohl das hier eine Klasse ist, kann ich nicht einfach davon ableiten und nur die Sachen umschreiben, die ich brauche. Ja, es gibt Interfaces, aber die muß man dann von a-z in allen Klassen implementieren, das ist einfach schlecht und dürfte Leuten, die mit Java, Python, Ruby oder so gut wie jeder anderen OO-Sprache programmieren, die Tränen in die Augen treiben. Die Dinge sind aber nun mal, wie sie sind. Modularer bekäme man es nur hin, wenn man jede Methode in ein eigenes Interface auslagerte und dann die Interfaces implementierte, die einzige zugängliche Methode wäre dann z.B. für

 If outputMedia = outMediumPreview Then
        outputPreview
        GoTo HandleExit
    End If

outputTo aber man müsste halt all notwendigen Daten in diesem Interface hinterlegen und bräuchte zumindest ein paar Parameter oder ein Parameter Objekt.

Dann könnte man ein Interface haben für eine Klasse mit dem Namen OutputPreview
und den Wert so setzen

objIf as OutputInterface
if Test_If_Angebot then
  set objIf = new OutputInterfaceAngebot 
...
:..

und riefe es so auf
objIf.outputTo

Es geht leider nicht anders und dann bekommt man eben auch so etwas:

Case FRM_AUFTRAG_ANKAUF_ERZ
            If sKundeNr = "143" Then
                    objResult.reportName = "BR_DruckAngebotAnkErz_Bel"
                Else
                    objResult.reportName = "BR_DruckAngebotAnkErz"
                End If
               
                objResult.logEntry = "Druck Angebot Ankauf Erz. m. Summen Auftrag Nr: " & NZ(objResult.orderNo, 0) & _
                                     ", Angebot Nr: " & NZ(objResult.actForm(objResult.textFieldNumberName), "")
                                     
                objResult.lblFuerKLNr = "Lieferant Nr:"
            
                Set objParameterAngebot = parDruckAngebot_WH()
                objParameterAngebot.mainTableName = "HT_AuftragAnkaufErz"
                objParameterAngebot.subTableName = "UT_AuftragAnkaufErz_Positionen"
                objParameterAngebot.fieldNameKLNo = "LieferantNr"

Hier muß ich einfach festhalten MS hat sich einiges bei VBA gedacht aber a) nicht zu Ende und b) mangelhaft an bestimmten Stellen.

Es gibt durchaus eine Menge Fans von Access. Vom Standpunkt von guter OO-Programmierung ist VBA ein Sanierungsfall. Dabei könnte es so einfach sein. VBA als Mitglied der .NET Sprachfamilie und gut wär’s. Ich verstehe nicht, warum es MS nicht macht. Die Unterstützung durch Werkzeuge ist so in den 80 er Jahren des letzten Jahrtausends hängen geblieben. Ja, man kann in VBA auch riesige Programme schreiben, es tut aber weh ….

Wo MS-Access (mit VBA) vollkommen mangelhaft ist
1) Keine integrierten Tests
2) An Objekten orientiert, aber nicht OO-mässig zu programmieren
3) Grauenhafte Benutzung in einem RCS (hier benutze ich TortoiseGit) , Problem: Groß/Kleinschreibung geht munter durcheinander, es gibt IDS, die sich einfach ändern
4) Keine Unterstützung für die Trennung von UI, Daten und dem Programm. Wie geschrieben, der Code ist heute noch typisch für Ms Access. Man bekommt halt schnell was zusammen …
5) der SQL Editor ist eine Zumutung!

Wo es glänzt
1) mal eben was zusammenstoppeln ist schnell erledigt
2) der Direktbereich, man kann während der Laufzeit anhalten und sich alles anschauen, kein rekompilieren nötig
3) preisgünstig

Es ist klar MS will, daß wir MS-SQL mit C# benutzen, es ist nicht überzeugend, daß dies für kleine Betriebe eine bessere Lösung als eine MS-Access basierte wäre.