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

Ja, ich bin ein ausgesprochener RegEx-Fan.

Besonders mit Suchen&Ersetzen.

--

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
Reply to
Helmut Schellong
Loading thread data ...

Naja, das kann meine IDE auch.

Reply to
Hartmut Kraus

Mit oder ohne RegExp zu formulieren?

Manche IDE bieten RegExp an - aber seltener.

--

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
Reply to
Helmut Schellong

formatting link

erst mal "in Unreine" tippen will und es z.B. aus " automatisch "" macht ...

Reply to
Hartmut Kraus

:120,$g/rot/s/[ ^I]\+$//

Alle TABs und Spaces an den Zeilenenden entfernen, in den Zeilen 120 bis Dateiende, in denen 'rot' vorkommt.

/\(.\+\) \+\1

Suchen nach zwei genau gleichen Zeichenketten, zwischen denen mindestens 1 Leerzeichen steht:

verwenden.

--

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
Reply to
Helmut Schellong

soll eben keiner Quellre blind vertrauen. Aber wohl auch keienem HTML - Validator, der hat das auch nicht gemerkt. ;)

Reply to
Hartmut Kraus

Es wurde korrekt gesucht und gefunden, nicht falsch. Als regexp-Beispiel ist es sinnvoll.

--

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
Reply to
Helmut Schellong

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"

Reply to
Hartmut Kraus

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/
Reply to
Hartmut Kraus

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
Reply to
Helmut Schellong

--

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
Reply to
Helmut Schellong

Da weiss ich jetzt nicht genau, was gemeint ist. Kommt das nicht auf

Schwer zu sagen. Kommt ja wohl darauf an, was der Compiler wirklich kann und wie er auf das Zielsystem sich einschiessen kann. Numeriker sind

auf diesem Level programmieren kann. Und das kann dann sehr schnell reine Zeitverschwendung sein. Es macht einfach keinen Sinn, Programme

so ausm Handgelenk? Oder mal kurz LabVIEW auf C umformulieren?

--
mfg Rolf Bombach
Reply to
Rolf Bombach

Am 02.06.2020 um 22:48 schrieb Rolf Bombach:

rbar

llig

e 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 :-)

und langsamer sein?

? so ein Compiler "sehr einfach" zu implementieren ist.

egeistert.

iler

Ps

alles

gonalisieren

Ohne Bibliotheken ist keine Sprache und kein Compiler wirklich brauchbar. Schon ein "Hello World" Programm kann der C Compiler nicht

t, und

DoDi

Reply to
Hans-Peter Diettrich

Ich nie, war da schon vom Hardcore ASS Programmierer bei FORTH gelandet

zu verkomplizieren :]

2,5(?)MHz Clock.

64bit statt 16bit....

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

intel PC einen Reset durch. Die erzeugte COM datei war 3 bzw 5 byte lang,

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

Ich wurde mit FORTH unangefochten der Sieger! :)

Oder aktuell:

In dem Sinne :)

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
Reply to
Wolfgang Allinger

[...]

formatting link

Schnell und einfach implementierbar.

Das ist generell so. Zeitbedarf: C 1 Pascal 5 Cobol 80

gegen den Compiler verlieren.

In C kann alles gut und strukturiert programmiert werden.

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++.
--

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
Reply to
Helmut Schellong

formatting link
formatting link

[...]
--

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
Reply to
Helmut Schellong

Am 03.06.2020 um 12:49 schrieb Wolfgang Allinger:

m n

re die heutige Software bei Verwendung von Programmiersprachen und Entwicklungssystemen, die nicht fehlende Sicherheit als wesentlichstes Merkmal propagieren :-(

DoDi

Reply to
Hans-Peter Diettrich

Damit konnte er entweder direkt in den Prozess eingreifen oder per Boot-

den Kern reingenommen habe... oder er hats halt im Boot-script gelassen. Du glaubst garnicht, wie schnell nicht Computersprachler das FORTH Konzept

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

oder

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

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.

von Thyssen-Krupp meldete, dass eine meiner Maschinen nach 20 Jahren

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 :)

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
Reply to
Wolfgang Allinger

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

Reply to
olaf

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.