Text / Tabellen vervollständigen

Status
Nicht offen für weitere Antworten.

RayX

Ein niemand
#1
Moin zusammen,

hab da mal ein Problem, ich würde gerne Text Automatisch vervollständigen und hab keine Ahnung wie.

Ich habe jede menge solcher Zahlen Buchstaben Kombis und möchte diese gerne Automatisch vervollständigen.

Ist Zustand: 00 3E 19 63 00 00 58 FD 00 42 0D A1 00 AC AA 30 00

Soll zustand: 0x00,0x3E,0x19,0x63,0x00,0x00,0x58,0xFD,0x00,0x42,0x0D,0xA1,0x00,0xAC,0xAA,0x30,0x00

es sollen also 0x und ein Komma vor jeden Wert eingefügt werden und nach dem Koma die Leerstelle gelöscht.
Die Farbe ist nur zur besseren Unterscheidung und nicht das Kriterium :)

Vielleicht hat ja jemand dafür eine Lösung
 

Elyot

Erfahrener Benutzer
#8
Oder ganz banal: Datei in Excel importieren, Zellen mit benutzerdefiniertem Format (0x00) versehen und wieder exportieren.
 

RayX

Ein niemand
#10
Mit Notepad++ mache ich das auch, mein Problem ist das am Zeilenende ja auch zwangsläufig Leerzeichen sind und da wird dann auch 0X eingefügt, oder eben am Anfang ein Komma.
Mit einzeln ersetzen klappt das besser, ist allerdings bei vielen Zeichen sehr aufwändig.
Mein Wunsch wäre wenn ich ein aus mehreren Zeilen bestehende Zeichenfolgen in einem Rutsch bearbeiten könnte, ohne das noch ein händisches nacharbeiten erforderlich ist, also alles markieren und los geht´s...


hier mal ein Beispiel was ich dann mit einzelschritten und Nacharbeit gemacht habe und manchmal ist es auch noch deutlich mehr.

0xB5,0x62,0x0B,0x30,0x28,0x00,0x01,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0xA4,0x52,0x41,
// 0x00,0x3E,0x19,0x63,0x00,0x00,0x58,0xFD,0x00,0x42,0x0D,0xA1,0x00,0xAC,0xAA,0x30,0x00,
// 0x3F,0xAA,0x21,0x00,0xDE,0x6E,0x96,0x00,0x18,0x00,0x04,0x00,0x7A,0x88,0xB5,0x62,0x0B,
// 0x30,0x28,0x00,0x0A,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0x01,0x30,0x4A,0x00,0xB3,0x0F,
// 0x63,0x00,0x00,0x5B,0xFD,0x00,0xF5,0x0C,0xA1,0x00,0x7B,0xEC,0x5A,0x00,0x13,0x9C,0x93,
// 0x00,0x82,0xAF,0x44,0x00,0xBC,0xFF,0xC4,0x00,0x50,0x58,0xB5,0x62,0x0B,0x30,0x08,0x00,
// 0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4E,0x3C,0xB5,0x62,0x0B,0x30,0x08,0x00,0x0C,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x44,0xB5,0x62,0x0B,0x30,0x08,0x00,0x0D,0x00,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x4C,0xB5,0x62,0x0B,0x30,0x08,0x00,0x0E,0x00,0x00,
// 0x00,0x00,0x00,0x00,0x00,0x51,0x54,0xB5,0x62,0x0B,0x30,0x08,0x00,0x0F,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x00,0x52,0x5C,0xB5,0x62,0x0B,0x30,0x08,0x00,0x10,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x53,0x64,0xB5,0x62,0x0B,0x30,0x28,0x00,0x11,0x00,0x00,0x00,0x4A,0x08,
// 0x00,0x00,0xD3,0x6D,0x51,0x00,0xF8,0x1A,0x63,0x00,0x00,0x51,0xFD,0x00,0xAC,0x0D,0xA1,
// 0x00,0x98,0x0E,0x08,0x00,0x95,0x49,0xBD,0x00,0x82,0x90,0xEA,0x00,0x50,0x00,0x2A,0x00,
// 0x33,0xBA,0xB5,0x62,0x0B,0x30,0x08,0x00,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,
// 0x74,0xB5,0x62,0x0B,0x30,0x08,0x00,0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x56,0x7C,
// 0xB5,0x62,0x0B,0x30,0x28,0x00,0x02,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0x51,0xA2,0x42,
// 0x00,0x86,0x0B,0x63,0x00,0x00,0x48,0xFD,0x00,0xD0,0x0D,0xA1,0x00,0x11,0x78,0x2D,0x00,
// 0x2D,0x98,0xBE,0x00,0x4D,0x07,0xA0,0x00,0xF0,0xFF,0xBC,0x00,0x7B,0x98,0xB5,0x62,0x0B,
// 0x30,0x08,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x57,0x84,0xB5,0x62,0x0B,0x30,
// 0x08,0x00,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x8C,0xB5,0x62,0x0B,0x30,0x28,
// 0x00,0x3A,0xFD,0x00,0x73,0x0D,0xA1,0x00,0x69,0x5E,0x57,0x00,0x8A,0x7A,0xD3,0x00,0x4B,
// 0xF9,0xC6,0x00,0x3C,0x00,0x9C,0x00,0x46,0xCE,0xB5,0x62,0x0B,0x30,0x28,0x00,0x17,0x00,
// 0x00,0x00,0x4A,0x08,0x00,0x00,0x3A,0x08,0x57,0x00,0x61,0x0C,0x63,0x00,0xFF,0x56,0xFD,
// 0x00,0x87,0x0C,0xA1,0x00,0x02,0x06,0x5A,0x00,0x55,0x9F,0x4A,0x00,0x24,0xE6,0x9F,0x00,
// 0x48,0x00,0x08,0x00,0x54,0x85,0xB5,0x62,0x0B,0x30,0x08,0x00,0x18,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x5B,0xA4,0xB5,0x62,0x0B,0x30,0x28,0x00,0x19,0x00,0x00,0x00,0x4A,0x08,
// 0x00,0x00,0x99,0x4A,0x59,0x00,0x1B,0x0E,0x4E,0x00,0x00,0x47,0xFD,0x00,0x86,0x0D,0xA1,
// 0x00,0xEB,0x13,0xDB,0x00,0xDC,0x1F,0x26,0x00,0xD9,0x8D,0x54,0x00,0x24,0x00,0x06,0x00,
// 0x28,0x5A,0x00,0xB7,0x01,0x63,0x00,0x00,0x41,0xFD,0x00,0xFE,0x0C,0xA1,0x00,0xE0,0x87,
// 0xD9,0x00,0x6E,0x2A,0x08,0x00,0x45,0x14,0x3D,0x00,0x48,0x00,0x24,0x00,0x89,0x1F,0xB5,
// 0x62,0x0B,0x30,0x28,0x00,0x1B,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0x51,0x44,0x5B,0x00,
// 0x17,0x17,0x63,0x00,0x00,0x4B,0xFD,0x00,0x01,0x0D,0xA1,0x00,0xD4,0xA6,0x05,0x00,0xF6,
// 0x7E,0x17,0x00,0x4E,0xB9,0xEE,0x00,0xD4,0xFF,0xCC,0x00,0xE6,0x29,0xB5,0x62,0x0B,0x30,
// 0x28,0x00,0x1C,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0xDE,0x96,0x5C,0x00,0xE5,0x15,0x63,
// 0x00,0x00,0x5A,0xFD,0x00,0xFB,0x0C,0xA1,0x00,0x4E,0xD4,0xDE,0x00,0xCC,0x0F,0xC7,0x00,
// 0x49,0xDA,0x0D,0x00,0xE4,0xFF,0x59,0x00,0x0B,0x43,0xB5,0x62,0x0B,0x30,0x08,0x00,0x1D,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xCC,0xB5,0x62,0x0B,0x30,0x28,0x00,0x03,0x00,
// 0x00,0x00,0x4A,0x08,0x00,0x00,0x76,0x1A,0x43,0x00,0xBF,0x0F,0x63,0x00,0x00,0x5A,0xFD,
// 0x00,0x9E,0x0D,0xA1,0x00,0xBD,0x0B,0x5B,0x00,0xB0,0x08,0x23,0x00,0x9B,0xD5,0x67,0x00,
// 0xA8,0xFF,0xD9,0x00,0xB4,0x01,0xB5,0x62,0x0B,0x30,0x08,0x00,0x1E,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x61,0xD4,0xB5,0x62,0x0B,0x30,0x08,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x62,0xDC,0xB5,0x62,0x0B,0x30,0x08,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x63,0xE4,0xB5,0x62,0x0B,0x30,0x28,0x00,0x04,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,
// 0xA8,0x06,0x44,0x00,0xC1,0x0B,0x63,0x00,0x00,0x53,0xFD,0x00,0x9F,0x0C,0xA1,0x00,0x17,
// 0x04,0x87,0x00,0x4B,0x96,0x8C,0x00,0x12,0xA6,0xD0,0x00,0xEC,0xFF,0xEE,0x00,0xE6,0x7D,
// 0xB5,0x62,0x0B,0x30,0x28,0x00,0x05,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0x20,0x32,0x45,
// 0x00,0x34,0x07,0x63,0x00,0x00,0x4D,0xFD,0x00,0x6D,0x0D,0xA1,0x00,0xE9,0xAF,0x59,0x00,
// 0xD3,0x42,0x23,0x00,0x7B,0xDB,0x0C,0x00,0x08,0x00,0xFD,0x00,0xE4,0xDF,0xB5,0x62,0x0B,
// 0x30,0x28,0x00,0x06,0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0x93,0x0E,0x46,0x00,0xF1,0x18,
// 0x63,0x00,0x00,0x57,0xFD,0x00,0x8A,0x0C,0xA1,0x00,0x9B,0x54,0x30,0x00,0x78,0x77,0xD2,
// 0x00,0x5E,0x8B,0xA4,0x00,0xF0,0xFF,0xD5,0x00,0xCA,0xE2,0xB5,0x62,0x0B,0x30,0x08,0x00,
// 0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4A,0x1C,0xB5,0x62,0x0B,0x30,0x28,0x00,0x08,
// 0x00,0x00,0x00,0x4A,0x08,0x00,0x00,0xAA,0x2C,0x48,0x00,0x90,0x11,0x63,0x00,0x00,0x44,
// 0xFD,0x00,0x5F,0x0D,0xA1,0x00,0xFC,0x08,0x05,0x00,0x15,0x56,0xFD,0x00,0x14,0x8B,0xF4,
// 0x00,0x18,0x00,0xF9,0x00,0x42,0xF5,0xB5,0x62,0x0B,0x30,0x28,0x00,0x09,0x00,0x00,0x00,
// 0x4A,0x08,0x00,0x00,0x3C,0x0E,0x49,0x00,0x0B,0x07,0x63,0x00,0x00,0x4C,0xFD,0x00,0xCD,
// 0x0C,0xA1,0x00,0xC2,0x07,0x85,0x00,0x7D,0xA7,0x47,0x00,0xCC,0xCF,0xFF,0x00,0xD8,0xFF,
// 0xDA,0x00,0x8D,0xA9,
Ich denke / hoffe das es da bestimmt schnellere Methoden gibt.
Wenn ich im fertigen nur eine Änderung mache ändert sich der Komplette Block und das ist dann echt sehr Zeitintensiv erst recht bei versuchen wo man mal schnell dies und das testet.
Oder nur eine Zahl falsch trenne oder oder oder funktioniert sowieso gar nichts mehr und den Fehler suchen.... vergesst es... alleine beim draufschauen wird mir schwindlig :)

Danke vorab für die Tips
 

Elyot

Erfahrener Benutzer
#11
Auch der Zeilenanfang lässt sich per regulärem Ausdruck behandeln. Neben Notepad++ empfehle ich gern PSPAD. Zudem werfe ich nochmals Excel ins Spiel.
 

Dr.Coolgood

Well-known member
#12
Je nun, von den Nebenbedingungen, mit denen Du jetzt ums Eck kommst, war in Deinem ersten Post nicht die Rede...

Dann musst Du Deine Daten säubern, das geht elegant mit regular expressions, diese haben jedoch eine steile Lernkurve. Für Dein Problem empfinde ich RegEx als Kanone auf Spatzen - aber es ist natürlich edukativ...
Es bleibt die Frage, wie oft Du diesen Vorgang machen willst. Wenn selten, siehe unten. Wenn oft, dann vielleicht doch RegEx, das kannst Du ggfls automatisieren.

Ich würde rekursiv Doppel-Leerzeichen durch Einfach-Leerzeichen ersetzen und trailing spaces eliminieren. Die führenden 0x mit einer Spaltenbearbeitung einsetzen.

Gute Editoren können das. Bin auf einem anderen OS unterwegs, soweit ich mich erinnere ist UltraEdit ein Kandidat, der dies alles können sollte - Details musst Du selbst herausfinden.
 

QuadCrash

Erfahrener Benutzer
#13
Je nun, von den Nebenbedingungen, mit denen Du jetzt ums Eck kommst, war in Deinem ersten Post nicht die Rede...
Sehe ich auch so ... Ich könnte zwar problemlos 'ne Regular Expression dafür erstellen, aber normal mache ich das nur im Job gegen Geld und mir scheint das hier eher keine private Sache zu sein. Also ist Selbstdenken für den OP angedacht.

Außerdem, was hat das Thema mit Fernsteuerung/FrSky zu tun?
 

RayX

Ein niemand
#14
@Elyot PSPAD werde ich mir mal anschauen, das kenne ich noch nicht, Excel ist nicht so mein ding.

@Dr.Coolgood im ersten Post steht sogar mit Beispiel was ich machen möchte und das ich davon jede menge habe, was du jetzt mit Nebenbedingungen meinst kann ich nicht nachvollziehen, das gilt auch für Quadcrash, der es wohl auch so sieht.

@QuadCrash Interessant was mach einer hier so für Gedankengänge hat...
wenn ein anderer mal etwas mehr macht wie "nur" den Servo Stecker in den Rx zu stecken und vorgefertigte dinge benutzt und sich mit Kompromissen zufrieden gibt.
Aus meiner Sicht sind manche dinge nicht "optimal" und ich versuche es zu ändern / verbessern / anzupassen um meinen Wünsche besser zu treffen anstatt sich mit Kompromissen abzugeben.
Zumindest versuche ich es, auch wenn ich kein Programmierer bin und lerne dabei.
Mein erlernter Beruf hat mit schnödem Holz zu tun, aber mir gefällt was man machen kann und ich lerne.
Zu deiner Befürchtung, es ist privat und handelt sich um Code Schnipsel von Sensoren die ich etwas verändere / Anpasse und auf meine Ideen / Wünsche anpasse /erweitere.
Mit Frsky hat es zu tun weil es stink normale Sensoren für Frsky sind die am S-Port laufen.
Ich hoffe du kannst jetzt wieder beruhigt schlafen ;)
 

Dr.Coolgood

Well-known member
#15
Moin Ray,

im ersten Post war nicht von Doppel-Leerzeichen und trailing spaces die Rede.
Findest du weitere Anomalien musst Du Deinen Bearbeitungsprozess weiter anpassen.

Mir ist nicht klar, woher das kommt und wohin Du willst? Schreibst Du Sensor-Firmware auf Hexcode Ebene um? Das habe ich zuletzt vor 40 Jahren gemacht. Die seligen Zeiten des Abtippens von Hexcodes aus der mc sind 30 Jahre vorbei...

Vielleicht erläuterst Du Dein Gesamtvorhaben, dann sind zielführende Tipps einfacher.
 

RayX

Ein niemand
#16
Auch Moin,

Doppel-Leerzeichen ? für mich als leihe ist das jeweils ein Leerzeichen.
trailing spaces ???? musste ich erst mal Googeln...

Ich denke das die Zeit noch nicht vorbei ist, aber ich kenne mich auch null aus.
Mir ist kein anderer weg bekannt, das muss aber nicht richtig sein.

Die Code Schnipsel werden zur Initialisierung bei jedem Start in das entsprechende Modul in den flüchtigen Speicher geschrieben, Grund sind z.b Module die sich die Einstellung nicht merken können weil nur flüchtiger Speicher vorhanden ist und die Werkseinstellungen nicht für jeden Zweck geeignet sind.
Beispiel: Baudrate festlegen auf den gewünschten Wert und vieles mehr.

Ein Gesamtvorhaben gibt es bei mir nicht, ich verändere öfter mal etwas wenn mir eine Idee kommt, dann kann es passieren das ich ein Jahr damit zufrieden bin und dann kommt eine Idee und das Optimieren geht weiter

also eine never ending story
 
#17
Wenn die Änderungen immer gleich sind, kann man in Notepad++ ein Makro aufzeichnen, speichern und ausführen lassen.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten