[Frage] zu Busch-Jäger Einsätzen

Apr 25, 2020 Last reply: vor 6 Jahren 392 Replies

dem Sinne:

- Eine Tabelle => ein Objekt,

- Eine Zeile -> eine Instanz des Objekts mit den entsprechenden Methoden zum Setzen und Auslesen der Eigenschaften, also eine Spalte => eine Eigenschaft

Beispiel: Eine Leistung hat eben die Eigenschaften "Stundensatz", "Zeit"

Am 14.05.20 um 15:55 schrieb Hartmut Kraus:

und JS - Arrays geht schon in die Richtung, ist aber noch nicht so das Gelbe von's Ei. ;)

http://hkraus.eu/

On 05/14/2020 15:55, Hartmut Kraus wrote:

von einem Skript generiert (>500000 Byte).

Quelldateien sind cfgbase.txt, texts.h (texts256.h).

cfgbase.txt ist vergleichbar mit einem kurzen Stenographie-Inhalt.

========================================================================== # include # include # include

// id: 0.0.000.00000 // d grp object

// struct cfgdata_t { const BYTE *grp, *sgrp; // UNS4 id; // UNS2 adr, len, nbit, bitpos; // UNS4 flags; // BYTE typ, darst, info1, info2; // UNS2 parbn, nelem, voffs, access; // const BYTE FAR *dfstr; // UNS4 dfmima[3]; // UNS2 szname; // VOL void *name; // const BYTE FAR *einheit, *text, *info; // cfap_t Tinfo, Tgrp, Tsgrp, Tbit, Text; // };

const BYTE GCFG00500000[]= "Installation"; const BYTE GCFG01000000[]= "UPC3"; const BYTE gCFG01000000[]= "Firmware^System"; const BYTE GCFG01500000[]= "Display"; const BYTE GCFG02000000[]= "Enable Parameter display"; const BYTE GCFG02500000[]= "Ethernet"; const BYTE GCFG03000000[]= "MODBUS"; const BYTE GCFG03500000[]= "RDP"; const BYTE GCFG04000000[]= "Main settings"; const BYTE gCFG04000000[]= "Regulator^Batteries^space"; const BYTE GCFG04500000[]= "Enable"; const BYTE GCFG05000000[]= "CAN Devices Count"; const BYTE GCFG05500000[]= "Assignment Measurement"; const BYTE gCFG05500000[]= "Batteries^Combs^General^Digital Inputs^Mains"; const BYTE GCFG06000000[]= "Assignment Shunts"; const BYTE GCFG06500000[]= "Special set"; const BYTE GCFG07000000[]= "Mains monitoring (MMB)"; const BYTE GCFG07500000[]= "LVD PLD Functions"; const BYTE gCFG07500000[]= "LVD^PLD"; const BYTE GCFG08000000[]= "Digital inputs"; const BYTE GCFG08500000[]= "Signals enable"; const BYTE gCFG08500000[]= "Error state^Events history^Modem^LED Func^Relay K1^Relay K2^Relay K3^Relay K4^Relay K5^Relay K6^Relay K11^Relay K12^Relay K13^Relay K14^Relay K15^Relay K16^S1^S2^A^AA^AB"; const BYTE GCFG09000000[]= "Signals"; const BYTE gCFG09000000[]= "Outputs^Delay"; const BYTE GCFG09500000[]= "Comb values"; const BYTE gCFG09500000[]= "Thresholds^Rectifier"; const BYTE GCFG10000000[]= "General Thresholds"; const BYTE gCFG10000000[]= "Voltages^Currents^Temperatures"; const BYTE GCFG10500000[]= "Thresholds"; const BYTE gCFG10500000[]= "Vdc1^Vdc2"; const BYTE GCFG11000000[]= "Battery"; const BYTE gCFG11000000[]= "Devices^Batt_Tk^Shunts"; const BYTE GCFG11500000[]= "Battery Test"; const BYTE gCFG11500000[]= "Start at:"; const BYTE GCFG12000000[]= "Store Battery Test data"; const BYTE GCFG12500000[]= "Capacity Calculator"; const BYTE GCFG13000000[]= "Boost charge"; const BYTE GCFG13500000[]= "Manual charge"; const BYTE GCFG14000000[]= "System test"; const BYTE GCFG14500000[]= "Counter cells"; const BYTE gCFG14500000[]= "Cell1^Cell2"; const BYTE GCFG15000000[]= "Modem"; const BYTE gCFG15000000[]= "External^Internal"; const BYTE GCFG15500000[]= "Text Digital inputs"; const BYTE GCFG16000000[]= "Text Relay outputs"; const BYTE GCFG16500000[]= "Text Battery values"; const BYTE gCFG16500000[]= "Battery1^Battery2^Battery3^Battery4^Battery5^Battery6^Battery7"; const BYTE GCFG17000000[]= "Text Comb values"; const BYTE GCFG17500000[]= "Text General parameters"; const BYTE GCFG18000000[]= "Batteries Identification strings"; const BYTE GCFG18500000[]= "Fuses Identification strings"; const BYTE GCFG19000000[]= "CAN Device Identification strings";

#define D0000504000grp GCFG00500000, 0 // id; adr, len, nbit, bitpos, // flags(_|abgl|_|_|_|_|_|_ | _|_|_|_|_|_|_|_) // flags(dfltcalc|_|IP|Telem|infovals|Tbbig|novar|batt | step10|mess|kamm|initcan|sig|nod|bak|ro); // typ, darst, info1, info2, parbn, nelem, voffs, access; #define D0000504000obj 504000, 32, 16, 0, 0,

0x00000200ul, 's', '=', '?', 0, 10, 1, 0, 0xFFFFu const BYTE FAR S0000504000[]= "TID"; #define D0000504000str S0000504000 #define D0000504000dfmima 0, 0, 0 #define D0000504000szname sizeof(0), 0 const BYTE FAR T0000504000[]= "iType ID"; #define D0000504000einhtxt 0, T0000504000 #define D0000504000info 0 #define D0000504000Text 0, T_group+36, 0, 0, T_mu2+0

#define D0000506500grp GCFG00500000, 0 // id; adr, len, nbit, bitpos, // flags(_|abgl|_|_|_|_|_|_ | _|_|_|_|_|_|_|_) // flags(dfltcalc|_|IP|Telem|infovals|Tbbig|novar|batt | step10|mess|kamm|initcan|sig|nod|bak|ro); // typ, darst, info1, info2, parbn, nelem, voffs, access; #define D0000506500obj 506500, 56, 16, 0, 0,

0x00000200ul, 's', '=', '?', 0, 12, 1, 0, 0xFFFFu const BYTE FAR S0000506500[]= "MATID"; #define D0000506500str S0000506500 #define D0000506500dfmima 0, 0, 0 #define D0000506500szname sizeof(0), 0 const BYTE FAR T0000506500[]= "iMaterial ID"; #define D0000506500einhtxt 0, T0000506500 #define D0000506500info 0 #define D0000506500Text 0, T_group+36, 0, 0, T_mu2+43

#define D0000509000grp GCFG00500000, 0 // id; adr, len, nbit, bitpos, // flags(_|abgl|_|_|_|_|_|_ | _|_|_|_|_|_|_|_) // flags(dfltcalc|_|IP|Telem|infovals|Tbbig|novar|batt | step10|mess|kamm|initcan|sig|nod|bak|ro); // typ, darst, info1, info2, parbn, nelem, voffs, access; #define D0000509000obj 509000, 80, 16, 0, 0,

0x00000200ul, 's', '=', '?', 0, 13, 1, 0, 0xFFFFu const BYTE FAR S0000509000[]= "SERNO"; #define D0000509000str S0000509000 #define D0000509000dfmima 0, 0, 0 #define D0000509000szname sizeof(0), 0 const BYTE FAR T0000509000[]= "iSerial-No"; #define D0000509000einhtxt 0, T0000509000 #define D0000509000info 0 #define D0000509000Text 0, T_group+36, 0, 0, T_mu2+3

#define D0000511500grp GCFG00500000, 0 // id; adr, len, nbit, bitpos, // flags(_|abgl|_|_|_|_|_|_ | _|_|_|_|_|_|_|_) // flags(dfltcalc|_|IP|Telem|infovals|Tbbig|novar|batt | step10|mess|kamm|initcan|sig|nod|bak|ro); // typ, darst, info1, info2, parbn, nelem, voffs, access; #define D0000511500obj 511500, 104, 8, 0, 0,

0x00000200ul, 's', '=', '?', 0, 0, 1, 0, 0xFFFFu const BYTE FAR S0000511500[]= "HWID"; #define D0000511500str S0000511500 #define D0000511500dfmima 0, 0, 0 #define D0000511500szname sizeof(0), 0 const BYTE FAR T0000511500[]= "iHardware ID"; #define D0000511500einhtxt 0, T0000511500 #define D0000511500info 0 #define D0000511500Text 0, T_group+36, 0, 0, T_mu2+20

#define D0000514000grp GCFG00500000, 0

...................

#define D0019039500grp GCFG19000000, 0 // id; adr, len, nbit, bitpos, // flags(_|abgl|_|_|_|_|_|_ | _|_|_|_|_|_|_|_) // flags(dfltcalc|_|IP|Telem|infovals|Tbbig|novar|batt | step10|mess|kamm|initcan|sig|nod|bak|ro); // typ, darst, info1, info2, parbn, nelem, voffs, access; #define D0019039500obj 19039500, 36168, 16, 0, 0,

0x00000200ul, 's', '=', '?', 0, 916, 4, 16, 0xFF03u const BYTE FAR S0019039500[]= "UMD INSD"; #define D0019039500str S0019039500 #define D0019039500dfmima 0, 0, 0 #define D0019039500szname sizeof(0), 0 const BYTE FAR T0019039500[]= "Text MoId UMD INSD"; #define D0019039500einhtxt 0, T0019039500 #define D0019039500info 0 #define D0019039500Text 0, T_group+21, T_mosg+11, 0, T_moid+4

const struct cfgdata_t FAR CFGdata[]= { { D0000504000grp, D0000504000obj, D0000504000str, {D0000504000dfmima}, D0000504000szname, D0000504000einhtxt, D0000504000info, D0000504000Text }, { D0000506500grp, D0000506500obj, D0000506500str, {D0000506500dfmima}, D0000506500szname, D0000506500einhtxt, D0000506500info, D0000506500Text }, { D0000509000grp, D0000509000obj, D0000509000str, {D0000509000dfmima}, D0000509000szname, D0000509000einhtxt, D0000509000info, D0000509000Text }, { D0000511500grp, D0000511500obj, D0000511500str, {D0000511500dfmima}, D0000511500szname, D0000511500einhtxt, D0000511500info, D0000511500Text }, { D0000514000grp, D0000514000obj, D0000514000str, {D0000514000dfmima}, D0000514000szname, D0000514000einhtxt, D0000514000info, D0000514000Text }, { D0000516500grp, D0000516500obj, D0000516500str, {D0000516500dfmima}, D0000516500szname, D0000516500einhtxt, D0000516500info, D0000516500Text }, { D0000519000grp, D0000519000obj, D0000519000str, {D0000519000dfmima}, D0000519000szname, D0000519000einhtxt, D0000519000info, D0000519000Text }, { D0000521500grp, D0000521500obj, D0000521500str, {D0000521500dfmima}, D0000521500szname, D0000521500einhtxt, D0000521500info, D0000521500Text }, { D0000524000grp, D0000524000obj, D0000524000str, {D0000524000dfmima}, D0000524000szname, D0000524000einhtxt, D0000524000info, D0000524000Text }, { D0000526500grp, D0000526500obj, D0000526500str, {D0000526500dfmima}, D0000526500szname, D0000526500einhtxt, D0000526500info, D0000526500Text },

...................

{ D0019037500grp, D0019037500obj, D0019037500str, {D0019037500dfmima}, D0019037500szname, D0019037500einhtxt, D0019037500info, D0019037500Text }, { D0019038000grp, D0019038000obj, D0019038000str, {D0019038000dfmima}, D0019038000szname, D0019038000einhtxt, D0019038000info, D0019038000Text }, { D0019038500grp, D0019038500obj, D0019038500str, {D0019038500dfmima}, D0019038500szname, D0019038500einhtxt, D0019038500info, D0019038500Text }, { D0019039000grp, D0019039000obj, D0019039000str, {D0019039000dfmima}, D0019039000szname, D0019039000einhtxt, D0019039000info, D0019039000Text }, { D0019039500grp, D0019039500obj, D0019039500str, {D0019039500dfmima}, D0019039500szname, D0019039500einhtxt, D0019039500info, D0019039500Text }, { 0 } };

const unsigned CFGdata_ne= sizeof(CFGdata)/sizeof(*CFGdata); ==========================================================================

Helmut Schellong var@schellong.biz www.schellong.de www.schellong.com www.schellong.biz http://www.schellong.de/c.htm http://www.schellong.de/htm/audio_proj.htm http://www.schellong.de/htm/audio_unsinn.htm

Das nützt jedem etwas, der Skripting und RegExp gelernt hat.

Das ist ein passendes Anschauungsbeispiel eines Gerüstes, wie Du es oben skizziert hast (Gerüst).

Da weiss ich jetzt nicht genau, was gemeint ist. Kommt das nicht auf das Zielsystem an? Dieser ganz-nah-an-der-Hardware aber dennoch völlig davon abstrahiert-Hype ist doch nicht glaubwürdig.

Schwer zu sagen. Kommt ja wohl darauf an, was der Compiler wirklich kann und wie er auf das Zielsystem sich einschiessen kann. Numeriker sind da von einfacheren Lösungen (vorsichtig ausgedrückt), nicht begeistert. Kann heute anders aussehen. Hab aber keine Ahnung, was es für Compiler für ARMv8 oder so gibt. Oder mit welcher Sprache floating-point-DSPs am liebsten gefüttert werden wollen.

Was immer das heissen mag. Das nützt nur jemandem, der universell alles auf diesem Level programmieren kann. Und das kann dann sehr schnell reine Zeitverschwendung sein. Es macht einfach keinen Sinn, Programme der vierten Generation auf C zurück zu übersetzen. Matrix diagonalisieren so ausm Handgelenk? Oder mal kurz LabVIEW auf C umformulieren?

Schlechtes Englisch, AK-47, VW Ökodiesel und Corona auch.

Am 02.06.2020 um 22:48 schrieb Rolf Bombach:

1983 konnte ich gut vorhersagen, welchen Code ein C Compiler für eine pdp-11 erzeugen wird.

Wenn aber C Programme heute nur 10% der Befehle einer PC CPU benutzen, wozu sind die restlichen 90% gut?

Ein Pascal-Compiler ist deutlich einfacher zu implementieren :-)

Warum sollten Programme in anderen Sprachen prinzipiell größer und langsamer sein?

Ein C Testprogramm für Workstations lief 1988 je nach Optimierung zwischen 4 Sekunden und über 1 Stunde. Ich kann nicht glauben, daß so ein Compiler "sehr einfach" zu implementieren ist.

Numerik war und ist IMO immer noch die Domäne von Fortran, mit sehr leistungsfähigen und gut ausgetesteten Bibliotheken.

Ohne Bibliotheken ist keine Sprache und kein Compiler wirklich brauchbar. Schon ein "Hello World" Programm kann der C Compiler nicht alleine herstellen, dafür werden die Systembibliotheken benötigt, und die müssen je nach Zielsystem neu implementiert werden.

Jupp, Millionen Fliegen können nicht irren ;-)

DoDi

Ich nie, war da schon vom Hardcore ASS Programmierer bei FORTH gelandet und habe C mit Knoblauch ähem COLON vertrieben ;)

Um die Anzahl der (ungenutzten) Tranis auf den Chip zu erhöhen und alles zu verkomplizieren :]

Ich träume von einem Nachfolger des NOVIX mit einst 4.000 Gattern oder des RTX2000 mit damaligen 400ns für eine leere IR-Service Routine bei

2,5(?)MHz Clock.

Son RTX3000 mit 3GHz Clock wäre das Monster schlechthin und dann noch

64bit statt 16bit....

Hört, hört und sehet unten!

BTW: C brauchte ich mir nie antun, zu langsam :P

Ich hab mal in den 80ern einen Wettbewerb gewonnen und das kürzeste ausführbare sinnvolle(?) Proggi auf einem PC geschaffen. Es führte auf intel PC einen Reset durch. Die erzeugte COM datei war 3 bzw 5 byte lang, je nachdem welche TCOM (so hieß der Compiler dazu) Compiler Options und ob Quelle in Assembler oder HLL codiert wurde. Ging auch interaktiv per Commandozeile, also ganz ohne COM Datei und TCOM compiler :)

Assembler: CODE Reset -1 jp ENDCODE HLL: : Reset -1 EXECUTE ; interaktive: -1 EXECUTE

C wird deutlich länger. Die C-freaks hatten die Tränen in den Augen.

Ich wurde mit FORTH unangefochten der Sieger! :) FIRTH hat mir seitdem immer meine Brötchen bezahlt :)

Ich ätze immer: C tut weh!

Oder aktuell: Jeder Tag, an dem kein Zettel am Zeh hängt, ist ein guter Tag!

In dem Sinne :)

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

[...]

formatting link
C begann mit etwa 30 Schlüsselwörtern und die Library war/ist klein. Schnell und einfach implementierbar.

Tatsache ist, daß C mit Abstand die schnellsten Programme ergibt. Das ist generell so. Zeitbedarf: C 1 Pascal 5 Cobol 80 C-Compiler sind so gut, daß Assembler-Programmierer weit überwiegend gegen den Compiler verlieren.

In C kann alles gut und strukturiert programmiert werden. Solche Zurückübersetzungen sind Tinnef und irrelevant.

Das ist so wie bei Windows und den Anderen.

80% C/C++ - dann kommt der ganze Rest. In vielen Bereichen gibt es NUR C/C++.

formatting link

[...]

Am 03.06.2020 um 12:49 schrieb Wolfgang Allinger:

Bei aller Begeisterung für FORTH: damit habe ich Mikroprozessorsystem erstellt, aber kaum Anwendungen programmiert. Dafür sind mir Sprachen mit komfortablen Debug-Möglichkeiten viel lieber.

Dem kann ich mich nur anschließen. Wieviel zuverlässiger wäre die heutige Software bei Verwendung von Programmiersprachen und Entwicklungssystemen, die nicht fehlende Sicherheit als wesentlichstes Merkmal propagieren :-(

DoDi

Und ich hab sehr erfolgreich etliche Prüfanlagen gebaut (uC und Industrie- PC) in der der User eine Oberfläche (dictionary) mit seinen spezifischen Fachausdrücken etc. bekam.

Damit konnte er entweder direkt in den Prozess eingreifen oder per Boot- script Sachen festlegen ändern, bis ich die bei nächster gelegenheit in den Kern reingenommen habe... oder er hats halt im Boot-script gelassen. Du glaubst garnicht, wie schnell nicht Computersprachler das FORTH Konzept begreifen und bedienen können. Nur 99% aller Programmierer kapieren das nicht. Nicht-Programmier fanden es genial und waren selig, wenn sie ihre Anwendung mit einfachen Worten modelieren und testen konnten.

25 Grad Topftemperatur halten 20 Liter Wasser 3 kg Farbpulver 55 Minuten ruehren

oder anderer:

10 m x-Achse 3 m y-Achse 10 Grad z-Achse

oder noch andererer am Abend vorher:

7 00 einschalten 7 33 spuelen 15 min 7 45 anheizen 8 15 entlüften

oder

12 Bürette 7,23 pH 11 Kreisschüttler 60 upm

Auch olivgrüne Sachen, aber NDA :) Ging um gezielte Würfe mit > 30.000g Anfangsbeschleunigung. RC-Oszillator wurde per Quarz 'geeicht', wenn der Quarz ausfiel (30.000g!) galt das als Startsignal und mit RC-Oszillator wurde dann einigen Dutzend Sekunden dann BUMM gemacht. Die Kunden waren glücklich, wenn das Programm ruckartig beendet wurde... Für immer :]

BTW British Rail hat damals[tm] für ihre Lokomotiven FORTH eingesetzt, da dort die Fehlerfreiheit der Proggis bewiesen werden konnte. Da gabs einen Guru, mit math. Hintergrund, der da Regeln aufstellte und die Beweise belegen konnte. Hab nie ganz begriffen, wie der das machte... aber er war erfolgreich und BR auch, jedenfalls lange vor Brexit.

Übrinx hab ich ca. 2010 eine email bekommen, in der sich ein Instandhalter von Thyssen-Krupp meldete, dass eine meiner Maschinen nach 20 Jahren modernisiert wurden und mein uC mit 80C188 (und FORTH Oberfläche für Service...) durch 6 MIESENS SPSen samt Netzwerk ersetzt wurden und seitdem herrscht Chaos. Maschine bis dahin perfekt gelaufen, aber soooooo alte HW wollte man nicht mehr... Kein Problem mit Ersatzteilen, sondern es muss modernisiert werden, koste es was es wolle!

Egal, ich bin lange im Unruhestand :)

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

Komm..hau weg alter Mann. So Storys kann ich auch erzaehlen wenn ich in 20Jahren in Rente gehe. Weil die Welt wird ja immer schlechter! :-)

Aktuell:

formatting link
Die deutsche Hausfrau kann nicht mehr Staubsaugen weil das Zertifikat ihres Staubsaugers abgelaufen ist!

formatting link
Zu jedem Arzt muss ein Servicetyp rausfahren weil die was falsch konfiguriert haben!

Da stellt sich sofort folgende Frage:

formatting link

Immer dran denken. Der Zusammenbruch der Welt-IT erfolgt in den naechsten 10Jahren und am Tag danach gibt es kein Klopapier mehr!

Olaf

Die links muss ich mir morgen mal reinziehen. Aber erst, wenn ich den Kampf mit dem verstopten Urinal Auspuff endlich erledigt habe :( Das Rohr hab ich schon frei, aber die Plastikpflaume scheint nicht recyclebar zu sein, muss morgen mal rumfahren und ne neue besorgen samt neuem Dichtmittel... Im Moment leichte Schmauchspuren an der Wand hinter dem Urinal :(((

Kann nicht sein, denn nahezu jeder Deutsche soll für die nächsten 50a Klopapier gebunkert haben :)

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

Äääääh... mein Kopfkino dreht grad durch!

Oder Paraguay ist mehr anders in der Sanitärinstallation als ich mir vorstellen kann.

Thomas Prufer

Urinal Auspuff = das Abflussrohr

Dichtung zwischen Keramik und Rohr. Schmauchspuren = leicht feuchte Spur von Grauwasser auf der Wand.

Oder heisst dat Gelbwasser? Ich will keine Geschmacksprobe machen :]

Jau, hier murksen die sog. Klempner nochmehr als in D, Liste ist lang:

In meinem Haus (PY typisch ohne Keller):

hat nix gebracht!

An 2 anderen Stellne Absperrhahn flasch rum eingebaut (hier sind lose

Flussrichtung ist egal, der Pfeil muss immer nach unten zeigen :(

Die kannste dann genau einmal zudrehen und dann bleiben sie vom Wasserdruck zu :(((

die finale Armaturen Installation feddich ist. Grrrr.

anflicken...Fliesen zu...

Sollte ich den Klempner irgendwann mal auf der Strasse wiedererkennen, bin

BTW Schule Bildung ist ne Katastrophe, Von der Elite gewollt:

3-4mon Ferien/a, restliche Zeit 4 (selten 5) h/d: 1h Nationalhymne singen und Flagge empor 1h Namen tanzen und klatschen 1h Guarani (2. Staatsprache) 1h Religion dann noch ab und zu 1h Mathematik (Zahlen malen und Taschenrechner bedienen)

1h Beten

1h Spanisch 0,1h Englisch

Max. 5d/Woche, etliche Kulturtage, Schulfeste und Lehrer Ausfall oder Streik...

8 Jahre offizielle Schulpflicht, aber keiner macht was, wenn die Kiddies

Keinerlei Lehrlings oder gar Meister-Ausbildung.

Latein (ausser welche die in D (weiter)studiert und dortige Facharztausbildung haben.

Selbst die Staatlichen Elektrotechniker verdrahten alles in der Farbe des Tages.

Ich hab dann hier alles selber gemacht L1 sw, L2 rt, L3 ge :) , N bl oder ws, PE gn und gnge (wenns das gerade mal gab), alles mit richtigen Querschnitten.

Kochplatte (2qmm). Licht mit 1qmm... und alles an einer oder 2 oder 3 16/

aus und werfen pro abgemurkstem Teil und Arbeit mindigens 1 davon weg!

gewissenhaften) andere machen nicht mal Versteckspielen :(

Wolfgang

Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p (lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot

Ingrid sagt:

So reingezogen, unfassbar was für Honks heutzutage SW verbrechen.

Ärzte SW ohne Fernwartung, Zertifikate abgelaufen! "Ja wo laufen sie denn?"

Es saugt und bläst der Vorwerkmann, wenn Mutti kaum noch blasen kann (frei nach ollem Werbespruch)

So neue Gummipflaume beschafft und mühsam eingebaut. Enger als ne

16jährige Jungfrau (gibbet sowas eigentlich noch?) mit Scheidenkrampf! Ging nur mit roher Gewalt und Vaseline rein!

Innen für 40er Rohr 33mm, die alte ausgeleierte hatte innen 39mm. Preis Gs. 2500 (~0,35EUR), gleich zwei gekauft und eine in Reserve weggelegt, die find ich im Ernstfall eh nicht wieder :] Aber ich weiss genau, dass ich noch eine irgendwo habe. Langes erfolgloses Suchen...

Erstmal keine Schmauchspuren mehr an der Wand. Abwarten und Tee trinken.

Uffff

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

Am 04.06.20 um 20:27 schrieb Wolfgang Allinger:

Wasserhähne halten auch nur 10 Jahre. Wie regelst du das denn?

Peter

Hier in PY wenige Tage bis unendlich.

Da gibbet inzwischen (durchaus sauteure importierte Luxusmarken) die verchromte Plastikteile mitverbauen. Merkt man am Anfang nicht, sieht alles toll und solide aus nach Messing verchromt...... nach 3-5a fängt dann plötzlich der Chrom an einigen Stellen abzublättern. Grrrrrrrrrrrrr.

Auch die Putze und Gäste beinflussen die Lebensdauer erheblich :(

Fluchen und möglichst was von anderer Marke kaufen und hoffen.

Wer von der Hoffnung lebt, wird wenigsten nicht dick! (jap. Sprichwort) Lebe hoffnungslos lt. meinem Körper :]

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

Am 05.06.20 um 01:36 schrieb Wolfgang Allinger:

Hallo,

schau mal unter den Waschtisch: Flexible Anschlüsse haben nur eine begrenzte Lebensdauer.

Peter

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required