AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Geheimsprache

Ein Thema von Tidus · begonnen am 23. Nov 2003 · letzter Beitrag vom 24. Nov 2003
Antwort Antwort
Seite 2 von 3     12 3      
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Geheimsprache

  Alt 23. Nov 2003, 18:28
Hi,
nur mit dem Unterschied, dass Satz und Satz2 vom Typ string und nicht char sein dürfen.
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#12

Re: Geheimsprache

  Alt 23. Nov 2003, 18:29
jup , hatte ich übersehen !
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#13

Re: Geheimsprache

  Alt 23. Nov 2003, 18:29
Hallo Tidus,

versuch es mal folgendermaßen:
Lass bei Readln() einen STRING einlesen keinen CHAR.
Ein String kann bei Delphi verwendet werden wie ein Array. D.h. ist ein String eingegeben, sagen wir er heißt "Satz", dann kannst du mit Satz[1] auf den ersten Buchstaben zugreifen, mit Satz[2] auf den zweiten usw. Um herauszufinden, wie viele Buchstaben der String enthält benutze die Funktion length. Das ganze baust du in eine For-Schleife ein. Es könnte etwa so aussehen:

Delphi-Quellcode:
begin
Writeln('Gib einen Satz ein');
Readln(Satz);
for i:=1 to Length(Satz) do
  begin
    {Hier musst du noch auf das Z achten, denn das soll ja zu A werden}
    Satz2[i]:=Chr(Ord(Satz[i])+1);
  end;
Writeln(Satz2);
Readln;
end.
An der markierten Stelle solltest du noch eine Abfrage einbauen, ob der Buchstabe ein "z" oder ein "Z" ist und dann gegen "a" bzw. "A" ersetzten. Außerdem solltest du dir überlegen, was du mit Satzzeichen machst.

Ach nochwas: Ich weiß nicht, wofür du diese Verschlüsselung brauchst, aber wenn du damit ernsthaft Texte verschlüsseln willst, damit sie keiner Lesen kann, dann benutz einen anderen Algorithmus, dieser ist SEHR unsicher.

Grüße
Seniman
  Mit Zitat antworten Zitat
Tidus

Registriert seit: 24. Sep 2003
Ort: Saarbrücken
24 Beiträge
 
Delphi 6 Personal
 
#14

Re: Geheimsprache

  Alt 23. Nov 2003, 18:30
Das klappt aber nicht so ganz
einmal steht da
array type required und dann incompatible types: 'Char' and 'ShortString'
  Mit Zitat antworten Zitat
Tidus

Registriert seit: 24. Sep 2003
Ort: Saarbrücken
24 Beiträge
 
Delphi 6 Personal
 
#15

Re: Geheimsprache

  Alt 23. Nov 2003, 18:37
Bei braingrenade ist das Problem das er bei leerzeichen kein Leerzeichen macht sondern ein Ausrufzeichen und das vor jedem Satz so eine Art Smiley macht und das das Z nicht zum A wird

Und bei Seniman
lässt es sich nicht starten
  Mit Zitat antworten Zitat
Benutzerbild von Thunderchild
Thunderchild

Registriert seit: 12. Nov 2003
Ort: Nohra
139 Beiträge
 
Delphi 7 Personal
 
#16

Re: Geheimsprache

  Alt 23. Nov 2003, 18:39
@braingrenade:
wenn Du das so machst, bekommst Du was Falsches.
Du darfst mit der Schleife erst bei Index 1 anfangen, denn im Index 0 steht die Länge des Strings.
Diese Möglichkeit dürfte weiter helfen (hab se nicht getestet):
Delphi-Quellcode:
procedure umwandeln(var satz:string);
var zeichen:char; i:byte;
begin
for i:=1 to length(satz) do
  case satz[i] of
    'a'..'y','A'..'Y': satz[i]:=chr(ord(satz[i])+1);
    'z': satz[i]:='a';
    'Z': satz[i]:='A';
  end;
end;
Man könnte jetzt noch die Umlaute mit einbauen, Ziffern, usw.
Das ließe sich dann eleganter über einen eigenen Typ machen.
Bsp:
type tZeichen=('a'..'z','A'..'Z','ä','ö','ü','Ä','Ö','Ü','ß'); Dann reicht ein einfaches inc(zeichen), um von 'z' nach 'A' zu schieben.
Man könnte auch nur kleine ODER große Zeichen verwenden und arbeitet beim Vergleich mit UpperCase oder LowerCase.
Das letzte Schöne, das in C geschrieben wurde, war Schuberts 9. Sinfonie.
Meine Softwareseite (Link aktualisiert am 13.12.2006).
  Mit Zitat antworten Zitat
Tidus

Registriert seit: 24. Sep 2003
Ort: Saarbrücken
24 Beiträge
 
Delphi 6 Personal
 
#17

Re: Geheimsprache

  Alt 23. Nov 2003, 18:51
Code:
 program Geheimsprache2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var Satz, Satz2: String; x,i: Integer;

begin
Writeln('Gib einen Satz ein');
Readln(Satz);
for i :=1 to length(satz) do
begin
x := ord(Satz[i]);
x := x+1;
Satz2 := satz2 + chr(x);
end;

Writeln(Satz2:1);
Readln;

end.
Soweit so gut. Nur noch mit der Leerstelle und mit dem Z habert es noch, da für Leerstelle eine Ausrufezeichen kommt und für Z kein A
Was muss ich in meiner Konstruktion verändern
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#18

Re: Geheimsprache

  Alt 23. Nov 2003, 19:05
So , hab hier mal was zusammengescjustert was funktionieren sollte.

Delphi-Quellcode:
 program Geheimsprache2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var Satz, Satz2: String; x,i: Integer;

begin
Writeln('Gib einen Satz ein');
Readln(Satz);
for i :=1 to length(satz) do
begin
x := ord(Satz[i]);
if (x >= 65) and (x<=122) then
begin
x := x - 65 ;
x := (x+1) mod 58 ;
x := x +65 ;
Satz2 := satz2 + chr(x);
end
else Satz2 := satz2 + chr(x);
 

end;

Writeln(Satz2:1);
Readln;

end.
edit : Umlaute funktionieren aber nicht !
edit2 : @thunderchild : vergess ich immer wieder das mit den strings
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von HAF4ever
HAF4ever

Registriert seit: 31. Okt 2003
Ort: Enns - Österreich
37 Beiträge
 
#19

Re: Geheimsprache

  Alt 23. Nov 2003, 19:09
das ist ja das prinzip der XOR Verschlüsselung wenn ich das richtig verstehe.

dann würde die Funktion ungefähr so aussehen:

Delphi-Quellcode:
function umwandeln(s: String):String;
var
  i: Integer;
begin
  for i:=1 to length(s) do
      s[i]:=Chr(Ord(s[i]) XOR Ord(254));
  umwandeln:=s;
end;
gtg, no time, can't talk, get watched, .....
  Mit Zitat antworten Zitat
Tidus

Registriert seit: 24. Sep 2003
Ort: Saarbrücken
24 Beiträge
 
Delphi 6 Personal
 
#20

Re: Geheimsprache

  Alt 23. Nov 2003, 19:12
Delphi-Quellcode:
begin
x := ord(Satz[i]);
if (x >= 65) and (x<=122) then
begin
x := x - 65 ;
x := (x+1) mod 58 ;
x := x +65 ;
Satz2 := satz2 + chr(x);
end
else Satz2 := satz2 + chr(x);
kannst du mir erklären wie das funktioniert, ich verstehe es nämlich nicht

[edit=Sharky]Delphi Tags korrigiert. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz