AGB  ·  Datenschutz  ·  Impressum  







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

Doppelte Buchstaben aus String auslesen

Ein Thema von SirMaurice · begonnen am 17. Mai 2019 · letzter Beitrag vom 4. Jun 2019
Antwort Antwort
SirMaurice

Registriert seit: 7. Dez 2018
Ort: Berlin
16 Beiträge
 
Delphi 5 Enterprise
 
#1

AW: Doppelte Buchstaben aus String auslesen

  Alt 17. Mai 2019, 20:02
Ich bräuchte tatsächlich nur 26 Buchstaben.

Ich sollte vielleicht ein wenig mehr zum Projekt schreiben.
Es geht darum, dass ein Programm entwickelt werden soll, welches einen eingegebenen Text verschlüsselt.

Ein "Passwort" wird eingegeben, z.B. CBA, und es wird ein Schlüssel bestimmt, z.B. K, dann wird aus dem normalen Alphabet

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z eben
Q R S T U V W X Y Z C B A D E F G H I J K L M N O P oder bei ERWIN dann halt

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z A B C D F G H J K E R W I N M O P Q S T U V W X Y
(Ist jetzt nen bisschen verschoben, dass C bzw. E sollte unter dem K sein)

Deswegen darf auch kein Buchstabe doppelt vorkommen.
Weiß halt leider nicht wie genau ich diese Buchstaben aus dem "Passwort" aussortieren soll, wie z.B. bei CCBA.

Erstmal will ich nur Buchstaben verschlüsseln, später möchte ich ergänzen, dass die Formatierung und Sonderzeichen, also auch Leerzeichen, erhalten bleiben.

Geändert von SirMaurice (17. Mai 2019 um 20:17 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Doppelte Buchstaben aus String auslesen

  Alt 17. Mai 2019, 20:06
Das sieht fast aus wie ROT13. Verschlüsselung würde ich sowas nicht nennen. Das knackt dir ein Kind einer Mittelschule der 7. Klasse im spielerischen Matheunterricht.
  Mit Zitat antworten Zitat
SirMaurice

Registriert seit: 7. Dez 2018
Ort: Berlin
16 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: Doppelte Buchstaben aus String auslesen

  Alt 17. Mai 2019, 20:19
Sowas ist es auch.
Ist auch mehr als Sichtschutz gedacht bzw. auch mehr oder weniger eine Aufgabe.
Weiß nur nicht so recht wie ich mit dem String umgehen soll.
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
724 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Doppelte Buchstaben aus String auslesen

  Alt 17. Mai 2019, 20:29
Hallo SirMaurice,

zum Thema Passwortverschlüsselung kannst Du mal nachschauen unter:

https://www.delphipraxis.net/200188-...ml#post1428892

Vielleicht hilft es Dir weiter.

Gruß
Andreas
  Mit Zitat antworten Zitat
SirMaurice

Registriert seit: 7. Dez 2018
Ort: Berlin
16 Beiträge
 
Delphi 5 Enterprise
 
#5

AW: Doppelte Buchstaben aus String auslesen

  Alt 22. Mai 2019, 16:40
Passwort ist unglücklich gewählt.

Ich muss es nicht verschlüsseln, geht mir nur darum aus einem String die doppelt vorkommenden Zeichen zu entfernen.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Doppelte Buchstaben aus String auslesen

  Alt 22. Mai 2019, 16:50
Hallo,
ich würde einfach eine TStringList SL nehmen.

Der String wird durchlaufen, jedes Zeichen wird geprüft, ob es bereits in SL ist (IndexOf),
wenn ja, verwerfen, wenn nein rein in die SL.
Heiko
  Mit Zitat antworten Zitat
SirMaurice

Registriert seit: 7. Dez 2018
Ort: Berlin
16 Beiträge
 
Delphi 5 Enterprise
 
#7

AW: Doppelte Buchstaben aus String auslesen

  Alt 22. Mai 2019, 17:48
An sich ne gute Idee, ich darf nur den String nicht sortieren, sonst ist ja mein String nachher ein anderer.

Weiterhin habe ich nicht wirklich eine Ahnung von Properties und wie man diese festlegt.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.664 Beiträge
 
Delphi 12 Athens
 
#8

AW: Doppelte Buchstaben aus String auslesen

  Alt 17. Mai 2019, 21:40
Ich bräuchte tatsächlich nur 26 Buchstaben.
Na dann...
Delphi-Quellcode:
function StripDoubleChars(const Source: string): string;
var
  C: AnsiChar;
  cSet: set of 'A'..'Z';
  I: Integer;
begin
  cSet := [];
  Result := '';
  for I := 1 to Length(Source) do begin
    C := AnsiChar(UpCase(Source[I]));
    if not (C in ['A'..'Z']) then Continue;
    if not (C in cSet) then begin
      Include(cSet, C);
      Result := Result + Source[I];
    end;
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz