Mein beliebter Bert-Code. [Gelöst]

Neue Frage »

Bert Auf diesen Beitrag antworten »
Mein beliebter Bert-Code. [Gelöst]
e ttrrrr rttBereBBrttr trterr Bertetrttr trrtBertrBr trr r trrtr erttrrrrtrereBerrrtrrBtetBerrerr trtttrerr tertettrBteeBertrBr trrtBerrrtrttrr Berteerr r ttetrrrrtrr erttrrrrtrrr BereBBtrBteeteertrrr rttte BrrBerrrBrrerr terBerrrerr rttBerrrtrr teeBerrerr trtttrerr tertettrBteeBerrrerttr tBerrttrrrrtrBerteerttterBerr tr rrrrtrBerr trttrrrrtrte BerrterrBr t Bertetrttrrrrtrrr terBr

[Albert Einstein]

Der Code ist eindeutig und umkehrbar. Augenzwinkern

Edit: Zur Kontrolle:
Prüfsumme: 97f5
Dual Space Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
geschockt .... jetzt wirds verrückt. Na mal schauen .... http://www.humbleego.com/emoticons/d_nerd.gif
Tobias Auf diesen Beitrag antworten »

Ich befürchte da muss ein Tipp her.
Dual Space Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Zitat:
Original von Bert
Edit: Zur Kontrolle:
Prüfsumme: 97f5

verwirrt
Bert Auf diesen Beitrag antworten »
RE: Eine kleine Hilfe.
Codiert sind alle Buchstaben des deutschen Alphabets (klein und groß, auch ß ä ö ü ...), Zahlen (0 ... 9), gewöhnliche Satzzeichen wie . , ! ? : ; und noch weitere Zeichen (wie z.B. § $ % + - = <> € usw.) aber nicht alle 256 Zeichen wie es im ASCII-Code ist. Also: codiert sind weniger als 256 Zeichen.

Hier noch etwas mehr Text, damit die Statistiken etwas hergeben ... Augenzwinkern

[von Peter Ustinov]
et rr rttr trr BereBtrr rrtrrBr tr Brr r tBertetrttr trrtBerrrtrttrr tetrr r errerr r tBertrrrttrr Bertrer terBerrtBtt r trtB rttrteBereterrBrtrterrr r tBrrBerr ttrBterBrrBerrrtrrBtteBerteerttterBerrtrrr trBte rr Berrrtrttrr Berettrr trBte rr Ber trBrtrtttterrr r tBr
[Prüfsumme: 668d (hex)]

P.S. Die Prüfsumme (in Hex) habe ich nur zur Kontrolle hinzugefügt, weil man bei den vielen tes (ttttt) und ers (rrrrr) schnell das eine oder andere verliert.
Dual Space Auf diesen Beitrag antworten »
RE: Eine kleine Hilfe.
Mensch Bert ... ihr hattet in eurer Jugend aber wirklich viele Geheimnisse, die es zu hüten galt. Big Laugh
 
 
pandu1 Auf diesen Beitrag antworten »

Ich hab's. Zwei Eigenschaften von Deutsch waren hilfreich, dass die Wörter aus drei Buchstaben häufig "der" "die" oder "das" sind, und dass die manchmal auch "und" sind. Aber am ende der Zitat kommen noch weitere dreibuchstabige Wörter, so dass diese Methode nicht sicher ist.
Dual Space Auf diesen Beitrag antworten »

Zitat:
Original von pandu1
Ich hab's.


Na dann poste mal, was Bert uns mit seinen Botschaften sagen wollte.
pandu1 Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Zitat:
Original von Bert
e ttrrrr rttBereBBrttr trterr Bertetrttr trrtBertrBr trr r trrtr erttrrrrtrereBerrrtrrBtetBerrerr trtttrerr tertettrBteeBertrBr trrtBerrrtrttrr Berteerr r ttetrrrrtrr erttrrrrtrrr BereBBtrBteeteertrrr rttte BrrBerrrBrrerr terBerrrerr rttBerrrtrr teeBerrerr trtttrerr tertettrBteeBerrrerttr tBerrttrrrrtrBerteerttterBerr tr rrrrtrBerr trttrrrrtrte BerrterrBr t Bertetrttrrrrtrrr terBr

[Albert Einstein]

Der Code ist eindeutig und umkehrbar. Augenzwinkern

Edit: Zur Kontrolle:
Prüfsumme: 97f5

Für die Verschlüsselung werden 5 Zeichen genutzt.
"B" "e" "r" "t" " "
Mit dreiersequenzen von 5 Zeichen kann man 125 Symbole darstellen. Trennt man den Text, so siet man am häufigsten Ber. Dass sollte ein Leerzeichen sein...
Die Lösung ist:
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.
Dual Space Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Offenbar haben wir jetzt mit dir, pandu1, endlich jemanden in unseren Reihen, der Berts Codes Paroli bieten kann. Respekt
Dual Space Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
pandu1: Wie hast du rausbekommen, an welcher Stelle Wörter mit drei Buchstaben stehen?
tigerbine Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Respekt

Mr. Brown hätte Euch bei seinem Diabolus zu rate ziehen sollen.
WebFritzi Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Zitat:
Original von Dual Space
pandu1: Wie hast du rausbekommen, an welcher Stelle Wörter mit drei Buchstaben stehen?


Wort mit 3 Buchstaben = 9er-Sequenz zwischen zwei Ber's.
Dual Space Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Zitat:
Original von WebFritzi
Wort mit 3 Buchstaben = 9er-Sequenz zwischen zwei Ber's.

Hammer ... stimmt. Aber dafür hätte man erstmal auf die Vermutung kommen müssen, das Ber das Leerzeichen codiert.
pandu1 Auf diesen Beitrag antworten »

Nach dem ich "unendlich" gefunden hab, und wusste das es von Einstein kommt, hab ich gegoogelt.
Dual Space Auf diesen Beitrag antworten »

Zitat:
Original von pandu1
Nach dem ich "unendlich" gefunden hab, und wusste das es von Einstein kommt, hab ich gegoogelt.

LOL ... Big Laugh

Na dann warten wir mal ab, ob Bert nicht doch ein anderes Zitat von Herrn Einstein über die Unendlichkeit gefunden hatte.
Tobias Auf diesen Beitrag antworten »

Meine Gedanken sind dieselben wie vor fünfzig Jahren, nur, daß mir heute die Leute zuhören. (Peter Ustinov)
pandu1 Auf diesen Beitrag antworten »

Ich hatte schon:
"--ei -in-e -ind unend-i-- ", glaube nicht, dass da vieles drüber passt Augenzwinkern
Tobias Auf diesen Beitrag antworten »

Wenn man den verschlüsselten Text in 3-er Blöcke zusammenfasst, kann man jeden Block als Zahl interpretieren:



Hierbei ist

Nun kann man eine Tabelle anlegen, die für alle möglichen 125 Zeichen den Klartext angibt. Aus deinen zwei Verschlüsselungsbeispielen erhält man diese Tabelle:

code:
1:
2:
3:
4:
5:
??????? ????,?.???????ABC
DEFG???????:????JKLM???Z?
???????U??abcdefghijklino
??????mrstuvw???ßäöü?????
????????????????????????z


Die '?' Zeichen sind nicht auszumachen.

Hast du tatsächlich deine Verschlüsselungstabelle so unsystematisch aufgebaut oder habe ich einen Fehler gemacht?
Bert Auf diesen Beitrag antworten »
Gratuliere!
Na, das ging doch flott! Gratulation!
Wie ich sehe, mein Tipp, daß die Anzahl der codierten Zeichen zwischen 84 und 256 liegt, und daß der Code umkehrbar und eindeutig ist, so richtig gefruchtet hat.
Es war auch erwünscht und "beabsichtigt", daß der Angreifer nach dem Zitat von Einstein googelt, weil die Code-Tabelle nicht öffentlich bekannt ist. Den Zitat habe ich auch deshalb gewählt, weil darin das Wort "Universum" zweimal vorkommt, was die Suche erleichtert.

Daß das Codewort ein Triplett sein muß, geht aus der Anzahl der codierten Zeichen hervor; es stehen 5 Codezeichen zur Verfügung, also mit einem Zweibuchstaben-Code hätte ich nur 25 Zeichen codieren können (hätte nicht gereicht), mit einem Dreibuchstaben-Code 125 (liegt im vorgegebenen Bereich), ein Vierbuchstaben-Code (625) wäre nicht umkehrbar eindeutig.

Die Code-Tabelle ist "historisch gewachsen" (noch bevor ASCII weltweit zum Standard wurde), deshalb hat sie kein System; der ganze Bert-Code dient nicht einer geheimen Textverschlüsselung, aber es ist ein Beispiel für einen einfachen, uralten und (vom Prinzip her) weit verbreiteten Informationstransport (hier mit "fünf Fingern").

Hier noch die Code-Tabelle:
Bert Auf diesen Beitrag antworten »
RE: Mein beliebter Bert-Code.
Zitat:
Original von pandu1

Die Lösung ist:
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.


Nur eine Kleinigkeit:
Codiert ist:
Zwei Dinge sind unendlich: das Universum und die menschliche ...

also ":" hinter "unendlich", und nicht ","

Aber sonst - Freude
tigerbine Auf diesen Beitrag antworten »
Decodieren
Hallo zusammen,

wenn man wie Bert hier sagte, einen eindeutig umkehrbaren Code hat, wie würde man den ein Verschlüsselungsprogramm /Entschlüsselungsprogramm möglichst einfach damit schreiben?

Sprich wenn ich einen Text codieren möchte, muss ich dann jeden Buchstaben in der Tabelle nachschlagen, oder kanni ch mir irgendwie das Leben leichter machen?

Gruß Wink
Duedi Auf diesen Beitrag antworten »

du kannst dir natürlich ein programm schreiben. das ist mit mittelmäßigen kenntnissen in einer programmiersprache wie c++ etc. eigentlich leicht möglich
tigerbine Auf diesen Beitrag antworten »

mmh, noch würd eich mich da eher als noop bezeichnen. wie würde das den "konkreter" gehen? Augenzwinkern
Duedi Auf diesen Beitrag antworten »

hm da fällt mir jetzt nix spontan ein, aber als mathematiker(in) schadet es nie, wenn man ein bißchen programmieren kann. zum einstieg würde ich dir da "C++ für Dummies" empfehlen, das hat mir sehr geholfen Augenzwinkern
tigerbine Auf diesen Beitrag antworten »

Muss man das Programm kaufen? Oder gibt's da auch was umsoonst? Augenzwinkern
Duedi Auf diesen Beitrag antworten »

eigentlich gibt es bei jeder programmiersprache einen kostenlosen compiler. soweit ich weiß sogar einen von microsoft. und anleitungen findest du kostenlos im i-net. der compiler von microsoft heißt microsoft visual c++. da gibt es eine kostenfreie version die nicht für kommerzielle zwecke genutzt werden darf.
therisen Auf diesen Beitrag antworten »

Auf den Mist von Microsoft solltest du verzichten. Nimm lieber gcc.
tigerbine Auf diesen Beitrag antworten »

Danke.

Nun wurde ja gesagt, dass es "einfach" geht. Vielleicht erstmal eine Überlegung im Pseudocode. Ich möchte einen Text z.B. mit dem Bert-code (oader anderen 4 verschiedenen Lettern" codieren. Von Hand würde ich dass mit seiner Tabelle eben Buchstabe für Buchstabe machen. (Anfänger eben Augenzwinkern )

Aber wie setzt man das in einem Programm um? Buchstabe für Buchstabe (Wie lautet denn da ein Befehl?) oder mit "ersetzen"? Aber wie verhindert man da, dass das B z.B aus der Codierung des SPACE dann fälschlicherweise als B erneut codiert wird?

Danke für eure Hilfe. Wink
therisen Auf diesen Beitrag antworten »

Hier mal ein Beispiel, wie man das in C programmieren könnte:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
#include <iostream>
#include <string.h>

const int size = 6; //Anzahl der Zeichen, die verschlüsselt werden können
char* table[size][2]= {{"e t", "Z"}, {"trr", "w"}, {"rr ", "e"}, {"rtt", "i"}, {"Ber", " "}, {"eBB", "D"} }; 

void decode(char* s) {
	for (int i=0; i < size; i++) //ineffizient
		if (strcmp(table[i][0], s) == 0)
			printf("%s",table[i][1]);
}

int main() {
	char* s = "e ttrrrr rttBereBBrtt"; //Text, der entschlüsselt werden soll
	for (int i = 0; s[i] != '\0'; i += 3) {
		char temp[4];
		strncpy(temp, &(s[i]), 3);
		temp[3] = '\0';
		decode(temp);
	}
	std::cout << "\n";	
}


Der Code ist natürlich noch stark verbesserungswürdig, aber jetzt hat tigerbine immerhin mal eine Vorstellung davon, wie man das als Laie programmieren könnte.

PS: Tigerbine: Es wundert mich, dass du nicht programmieren kannst. Gerade in der Numerik braucht man doch häufig MATLAB.
tigerbine Auf diesen Beitrag antworten »

Zitat:
Original von therisen
PS: Tigerbine: Es wundert mich, dass du nicht programmieren kannst. Gerade in der Numerik braucht man doch häufig MATLAB.


So'n bisserl matlab kann ich ja. Augenzwinkern Aber ich würde das eher als "gute Hausmannskost" beschreiben. Big Laugh
Bert Auf diesen Beitrag antworten »

Hallo tigerbine.
Ich war laaange nicht hier, jetzt sehe ich, daß du Hilfe brauchst.
Zitat:
Original von tigerbine

Sprich wenn ich einen Text codieren möchte, muss ich dann jeden Buchstaben in der Tabelle nachschlagen, oder kanni ch mir irgendwie das Leben leichter machen?
...
Nun wurde ja gesagt, dass es "einfach" geht.


Nein, du mußt es nicht jedesmal nachschlagen, du kannst die Tabelle zweimal abschreiben, und dann kannst du zu Excel sagen: „übersetze das nach BertCode“ oder „übersetze das in den Klartext“ und Excel macht es für dich ganz lieb und sofort und so oft du willst. Dann kannst du den Text per copy/paste in deine Geheimbriefe übertragen. Und es geht ganz einfach, man muß nicht programmieren können. Augenzwinkern

Das machst du so:
Starte Excel (du siehst ein Arbeitsblatt „Mappe1“)
Speichere das

Starte VB-Editor mit der Tastenkombination (zwei Tasten) Alt + F1
oder mit der Maus über Menü Extra/Makro/Visual Basic-Editor

Paste in das große weiße Fenster folgenden Text:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
Function TextToBert(Satz As String) As String
    Dim Zahl, i As Integer
    Dim Buchstabe, Bert0 As String
        For i = 1 To Len(Satz)
        Buchstabe = Mid(Satz, i, 1)
        Zahl = Asc(Buchstabe)
        Select Case Zahl
            Case Is = 9: Bert0 = "  e"
            Case Is = 10: Bert0 = " t "
            Case Is = 13: Bert0 = "  B"
            Case Is = 32: Bert0 = "Ber"
            Case Is = 33: Bert0 = "Bet"
            Case Is = 34: Bert0 = "BB "
            Case Is = 35: Bert0 = "BBB"
            Case Is = 36: Bert0 = "BBe"
            Case Is = 37: Bert0 = "BBr"
            Case Is = 38: Bert0 = "BBt"
            Case Is = 39: Bert0 = "BeB"
            Case Is = 40: Bert0 = "Bee"
            Case Is = 41: Bert0 = "Be "
            Case Is = 42: Bert0 = "BrB"
            Case Is = 43: Bert0 = "Bre"
            Case Is = 44: Bert0 = "Brr"
            Case Is = 45: Bert0 = "Brt"
            Case Is = 46: Bert0 = "Br "
            Case Is = 47: Bert0 = "B B"
            Case Is = 48: Bert0 = "B e"
            Case Is = 49: Bert0 = "B r"
            Case Is = 50: Bert0 = "B t"
            Case Is = 51: Bert0 = "B  "
            Case Is = 52: Bert0 = "eeB"
            Case Is = 53: Bert0 = "eee"
            Case Is = 54: Bert0 = "eer"
            Case Is = 55: Bert0 = "eet"
            Case Is = 56: Bert0 = "ee "
            Case Is = 57: Bert0 = "erB"
            Case Is = 58: Bert0 = "ere"
            Case Is = 59: Bert0 = "err"
            Case Is = 60: Bert0 = "ert"
            Case Is = 61: Bert0 = "er "
            Case Is = 62: Bert0 = "re "
            Case Is = 63: Bert0 = "BtB"
            Case Is = 64: Bert0 = "Bte"
            Case Is = 65: Bert0 = "Btr"
            Case Is = 66: Bert0 = "Btt"
            Case Is = 67: Bert0 = "Bt "
            Case Is = 68: Bert0 = "eBB"
            Case Is = 69: Bert0 = "eBe"
            Case Is = 70: Bert0 = "eBr"
            Case Is = 71: Bert0 = "eBt"
            Case Is = 72: Bert0 = "eB "
            Case Is = 73: Bert0 = "etB"
            Case Is = 74: Bert0 = "ete"
            Case Is = 75: Bert0 = "etr"
            Case Is = 76: Bert0 = "ett"
            Case Is = 77: Bert0 = "et "
            Case Is = 78: Bert0 = "rBB"
            Case Is = 79: Bert0 = "rBe"
            Case Is = 80: Bert0 = "rBr"
            Case Is = 81: Bert0 = "rBt"
            Case Is = 82: Bert0 = "rB "
            Case Is = 83: Bert0 = "reB"
            Case Is = 84: Bert0 = "ree"
            Case Is = 85: Bert0 = "rer"
            Case Is = 86: Bert0 = "ret"
            Case Is = 87: Bert0 = "e B"
            Case Is = 88: Bert0 = "e e"
            Case Is = 89: Bert0 = "e r"
            Case Is = 90: Bert0 = "e t"
            Case Is = 91: Bert0 = "e  "
            Case Is = 92: Bert0 = "tBB"
            Case Is = 93: Bert0 = "tBe"
            Case Is = 94: Bert0 = "tBr"
            Case Is = 95: Bert0 = "tBt"
            Case Is = 96: Bert0 = "tB "
            Case Is = 97: Bert0 = "rrB"
            Case Is = 98: Bert0 = "rre"
            Case Is = 99: Bert0 = "rrr"
            Case Is = 100: Bert0 = "rrt"
            Case Is = 101: Bert0 = "rr "
            Case Is = 102: Bert0 = "rtB"
            Case Is = 103: Bert0 = "rte"
            Case Is = 104: Bert0 = "rtr"
            Case Is = 105: Bert0 = "rtt"
            Case Is = 106: Bert0 = "rt "
            Case Is = 107: Bert0 = "r B"
            Case Is = 108: Bert0 = "r e"
            Case Is = 109: Bert0 = "tee"
            Case Is = 110: Bert0 = "r t"
            Case Is = 111: Bert0 = "r  "
            Case Is = 112: Bert0 = "teB"
            Case Is = 113: Bert0 = "r r"
            Case Is = 114: Bert0 = "ter"
            Case Is = 115: Bert0 = "tet"
            Case Is = 116: Bert0 = "te "
            Case Is = 117: Bert0 = "trB"
            Case Is = 118: Bert0 = "tre"
            Case Is = 119: Bert0 = "trr"
            Case Is = 120: Bert0 = "  r"
            Case Is = 121: Bert0 = "  t"
            Case Is = 122: Bert0 = "   "
            Case Is = 123: Bert0 = "t B"
            Case Is = 124: Bert0 = "t e"
            Case Is = 125: Bert0 = "t r"
            Case Is = 126: Bert0 = "t t"
            Case Is = 128: Bert0 = "t  "
            Case Is = 130: Bert0 = " BB"
            Case Is = 132: Bert0 = " Be"
            Case Is = 133: Bert0 = " Br"
            Case Is = 136: Bert0 = " Bt"
            Case Is = 137: Bert0 = " B "
            Case Is = 139: Bert0 = " eB"
            Case Is = 140: Bert0 = " ee"
            Case Is = 153: Bert0 = " er"
            Case Is = 155: Bert0 = " et"
            Case Is = 156: Bert0 = " e "
            Case Is = 163: Bert0 = " rB"
            Case Is = 166: Bert0 = " re"
            Case Is = 167: Bert0 = " rr"
            Case Is = 169: Bert0 = " rt"
            Case Is = 174: Bert0 = " r "
            Case Is = 176: Bert0 = " tB"
            Case Is = 178: Bert0 = " te"
            Case Is = 179: Bert0 = " tr"
            Case Is = 181: Bert0 = " tt"
            Case Is = 196: Bert0 = "trt"
            Case Is = 214: Bert0 = "tr "
            Case Is = 220: Bert0 = "ttB"
            Case Is = 223: Bert0 = "tte"
            Case Is = 228: Bert0 = "ttr"
            Case Is = 246: Bert0 = "ttt"
            Case Is = 252: Bert0 = "tt "
        End Select
        TextToBert = TextToBert & Bert0
    Next i
End Function


Speichere deine Datei und schließe den VB-Editor (du siehst wieder deine „normale“ Arbeitsmappe)
Tippe in die Zelle A1:
tigerbine
und drücke Enter
Tippe in die Zelle B1:
=TextToBert(A1)
und drücke Enter
promt siehst du in der Zelle B1:
te rttrterr terrrerttr trr

Hat es geklappt?
Wenn ja, schreibe ich dir noch den "zurück"Code. Wenn nicht, schauen wir, wo der Fehler ist. Bei mir läuft die Funktion tadellos. smile

P.S. Die Tabelle mußt du deswegen schreiben, weil es in diesem Code eine „Zufallstabelle“ ist; es gibt keinen mathematischen Zusammenhang zwischen dem BertCode und den KlartextBuchstaben (Geheimtext/Klartext).
tigerbine Auf diesen Beitrag antworten »

Hallo Bert! Wink

Leider klappt es noch nicht. Aber vielleicht schaffen wir es zusammen. Augenzwinkern

Zitat:
Das machst du so:
Starte Excel (du siehst ein Arbeitsblatt „Mappe1“)
Speichere das

Starte VB-Editor mit der Tastenkombination (zwei Tasten) Alt + F1
oder mit der Maus über Menü Extra/Makro/Visual Basic-Editor


Bis dahin bin ich gekommen. Dann trat Prob1 auf:

Zitat:
Paste in das große weiße Fenster folgenden Text:


Welches weiße Fenster. Da ist keins bei mir. Nun habe ich (office 2002) Ansicht -> code gedrückt. Dann war so ein Fenster da. Nur Funktionieren die weiteren Schritte nicht. Ich bekomme in B1 eine Fehlermeldung:

code:
1:
#Name?


Lieben Gruß,
tigerbine
Bert Auf diesen Beitrag antworten »

Zitat:
Original von tigerbine
Hallo Bert! Wink

...
Bis dahin bin ich gekommen. Dann trat Prob1 auf:

...

Welches weiße Fenster.


Wenn du in VB-Editor bist, gehe in Ansicht/Code. Du siehst dieses Bild (das ist das große Fenster).

Edit: Ich habe andere Einstellungen, deshalb weiß ich nicht, wie es bei dir ist, wahrscheinlich mußt du so verfahren:
Geh ins Einfügen/Modul
In das große Fenster paste den Code (nur den Code, ohne die Zeilennumerierung)
Abspeichern und VB-Editor schließen. Dann weiter in der Arbeitsmappe.
TheWitch Auf diesen Beitrag antworten »

Bine hat vermutlich einen "jungfräulichen" VBA-Editor auf dem Schirm, der im linken Fenster nur die Einträge

VBAProject (Dateiname.xls)
Microsoft Excel Objekte
DieseArbeitsmappe
Tabelle1
Tabelle2
Tabelle2

enthält. "Einfügen" -> "Modul" ist genau das, was nötig ist. Dann das neue "Modul1" links anklicken und das Code-Fenster aufmachen. Dort dann den oben angeführten Code einfügen.

(In Excel selber lässt sich die Funktion dann übrigens auch mit "Einfügen" -> "Funktion" -> "benutzerdefiniert" einfügen.)
riwe Auf diesen Beitrag antworten »

verwirrt
tigerbine Auf diesen Beitrag antworten »

Sofern der riwe codiert "terrtttrrrr" heißt, funktioniert das file auch bei mir. Tanzen Danke.

Danke an euch. Ich will mich gerade eh etwas mit Excel und dem vba-editor beschäftigen.

Ich werde dann mal heute order morgen testen, ob ich es auch noch selbst ans laufen bekomme. Das "Dummy" Buch liegt bereits auf dem Tisch.

Gruß in die Runde. Wink
riwe Auf diesen Beitrag antworten »

riwe
terrtttrrrr
Freude
Bert Auf diesen Beitrag antworten »

Zitat:
Original von tigerbine
Sofern der riwe codiert "terrtttrrrr" heißt, funktioniert das file auch bei mir.


Vorsicht beim copy/paste aus Excel, rewe = "terrtttrrrr "; du hast das SPACE nicht "gesehen", aber es ist da (kannst kontrollieren mit dem Befehl (wenn du das Wort in Bert-Code in der Zelle B1 hast):
=länge(B1)
Das Ergebnis ist 12; das sind 11 sichtbare Buchstaben plus die SPACE, also 12 Zeichen.

Jetzt kriegst du noch den Code für die Zurückübersetzung:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
Function BertToText(Satz As String) As String
    Dim Zahl, Codon, i As Integer
    Dim Buchstabe, Bert0 As String
    Codon = 3
    For i = 1 To Len(Satz) Step Codon
        Buchstabe = Mid(Satz, i, Codon)
        Select Case Buchstabe
            Case Is = "  e": Zahl = 9
            Case Is = " t ": Zahl = 10
            Case Is = "  B": Zahl = 13
            Case Is = "Ber": Zahl = 32
            Case Is = "Bet": Zahl = 33
            Case Is = "BB ": Zahl = 34
            Case Is = "BBB": Zahl = 35
            Case Is = "BBe": Zahl = 36
            Case Is = "BBr": Zahl = 37
            Case Is = "BBt": Zahl = 38
            Case Is = "BeB": Zahl = 39
            Case Is = "Bee": Zahl = 40
            Case Is = "Be ": Zahl = 41
            Case Is = "BrB": Zahl = 42
            Case Is = "Bre": Zahl = 43
            Case Is = "Brr": Zahl = 44
            Case Is = "Brt": Zahl = 45
            Case Is = "Br ": Zahl = 46
            Case Is = "B B": Zahl = 47
            Case Is = "B e": Zahl = 48
            Case Is = "B r": Zahl = 49
            Case Is = "B t": Zahl = 50
            Case Is = "B  ": Zahl = 51
            Case Is = "eeB": Zahl = 52
            Case Is = "eee": Zahl = 53
            Case Is = "eer": Zahl = 54
            Case Is = "eet": Zahl = 55
            Case Is = "ee ": Zahl = 56
            Case Is = "erB": Zahl = 57
            Case Is = "ere": Zahl = 58
            Case Is = "err": Zahl = 59
            Case Is = "ert": Zahl = 60
            Case Is = "er ": Zahl = 61
            Case Is = "re ": Zahl = 62
            Case Is = "BtB": Zahl = 63
            Case Is = "Bte": Zahl = 64
            Case Is = "Btr": Zahl = 65
            Case Is = "Btt": Zahl = 66
            Case Is = "Bt ": Zahl = 67
            Case Is = "eBB": Zahl = 68
            Case Is = "eBe": Zahl = 69
            Case Is = "eBr": Zahl = 70
            Case Is = "eBt": Zahl = 71
            Case Is = "eB ": Zahl = 72
            Case Is = "etB": Zahl = 73
            Case Is = "ete": Zahl = 74
            Case Is = "etr": Zahl = 75
            Case Is = "ett": Zahl = 76
            Case Is = "et ": Zahl = 77
            Case Is = "rBB": Zahl = 78
            Case Is = "rBe": Zahl = 79
            Case Is = "rBr": Zahl = 80
            Case Is = "rBt": Zahl = 81
            Case Is = "rB ": Zahl = 82
            Case Is = "reB": Zahl = 83
            Case Is = "ree": Zahl = 84
            Case Is = "rer": Zahl = 85
            Case Is = "ret": Zahl = 86
            Case Is = "e B": Zahl = 87
            Case Is = "e e": Zahl = 88
            Case Is = "e r": Zahl = 89
            Case Is = "e t": Zahl = 90
            Case Is = "e  ": Zahl = 91
            Case Is = "tBB": Zahl = 92
            Case Is = "tBe": Zahl = 93
            Case Is = "tBr": Zahl = 94
            Case Is = "tBt": Zahl = 95
            Case Is = "tB ": Zahl = 96
            Case Is = "rrB": Zahl = 97
            Case Is = "rre": Zahl = 98
            Case Is = "rrr": Zahl = 99
            Case Is = "rrt": Zahl = 100
            Case Is = "rr ": Zahl = 101
            Case Is = "rtB": Zahl = 102
            Case Is = "rte": Zahl = 103
            Case Is = "rtr": Zahl = 104
            Case Is = "rtt": Zahl = 105
            Case Is = "rt ": Zahl = 106
            Case Is = "r B": Zahl = 107
            Case Is = "r e": Zahl = 108
            Case Is = "tee": Zahl = 109
            Case Is = "r t": Zahl = 110
            Case Is = "r  ": Zahl = 111
            Case Is = "teB": Zahl = 112
            Case Is = "r r": Zahl = 113
            Case Is = "ter": Zahl = 114
            Case Is = "tet": Zahl = 115
            Case Is = "te ": Zahl = 116
            Case Is = "trB": Zahl = 117
            Case Is = "tre": Zahl = 118
            Case Is = "trr": Zahl = 119
            Case Is = "  r": Zahl = 120
            Case Is = "  t": Zahl = 121
            Case Is = "   ": Zahl = 122
            Case Is = "t B": Zahl = 123
            Case Is = "t e": Zahl = 124
            Case Is = "t r": Zahl = 125
            Case Is = "t t": Zahl = 126
            Case Is = "t  ": Zahl = 128
            Case Is = " BB": Zahl = 130
            Case Is = " Be": Zahl = 132
            Case Is = " Br": Zahl = 133
            Case Is = " Bt": Zahl = 136
            Case Is = " B ": Zahl = 137
            Case Is = " eB": Zahl = 139
            Case Is = " ee": Zahl = 140
            Case Is = " er": Zahl = 153
            Case Is = " et": Zahl = 155
            Case Is = " e ": Zahl = 156
            Case Is = " rB": Zahl = 163
            Case Is = " re": Zahl = 166
            Case Is = " rr": Zahl = 167
            Case Is = " rt": Zahl = 169
            Case Is = " r ": Zahl = 174
            Case Is = " tB": Zahl = 176
            Case Is = " te": Zahl = 178
            Case Is = " tr": Zahl = 179
            Case Is = " tt": Zahl = 181
            Case Is = "trt": Zahl = 196
            Case Is = "tr ": Zahl = 214
            Case Is = "ttB": Zahl = 220
            Case Is = "tte": Zahl = 223
            Case Is = "ttr": Zahl = 228
            Case Is = "ttt": Zahl = 246
            Case Is = "tt ": Zahl = 252
        End Select
        Bert0 = Chr(Zahl)
        BertToText = BertToText & Bert0
    Next i
End Function


Das kannst du einfügen in dasselbe Code-Fenster in dem VB-Editor, gleich hinter die letzte Zeile der ersten Funktion TextToBert (mach hinter dem Code für die erste Funktion ein Enter, damit du mit dem Einfügen der zweiten Funktion in einer neuen Zeile anfängst). Abspeichern und VB-Editor schließen.

In der Arbeitsmappe tippe in die Zelle A1:
tigerbine
in die Zelle B1:
=TextToBert(A1)
dann drückst du Enter und in B1 erscheint
te rttrterr terrrerttr trr
in die Zelle B2:
=BertToText(B1)
dann drückst du Enter und in B2 erscheint
tigerbine

Jetzt kannst du noch ein paar Texte durchspielen, ob das funktioniert; denk daran, daß du nicht alle Zeichen hast, sondern nur 125 Zeichen (die Tabelle ist hier in diesem Thread 1-2 Seiten zurück), aber das normale Alphabet ist ja da.
Diese Funktion fängt keine Fehler ab, ich habe es sehr einfach geschrieben, damit du es schnell verstehst; mit der Zeit kannst du das selbst erweitern und vergrößern. smile
tigerbine Auf diesen Beitrag antworten »

So nochmal danke an Euch. Ich musste den code zwar vereinfachen, damit ihn Leute die lustig in der Gegend herumwandern auch ohne Prüfsumme lösen konnten, aber das ExcelTool hat mir echt geholfen und die Arbeit erleichtert. Freude
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »