![]() |
Re: 676 zufällige Schlüssel zuweisen
Für zusammenhängende Buchstabenpaare bietet sich ein Record an in der Art
Delphi-Quellcode:
Wie man sich wohl denken kann, kommt das Ursprungspaar in das Feld plain und die verschlüsselte Variante in das Feld crypted.
type TKeyPair = record
plain, crypted: string[2]; end; |
Re: 676 zufällige Schlüssel zuweisen
Hallo rollstuhlfahrer,
deine Idee ist zum Erstellen der Liste oder? DeddyH, ich weiß nicht so recht, was ich mit deinem Beitrag anfangen soll... sorry. |
Re: 676 zufällige Schlüssel zuweisen
@DeddyH: unnötiger Speicherverbrauch
Delphi-Quellcode:
Zugriff dann per etwas davon
Var Liste: Array['A'..'Z', 'A'..'Z'] of String[2];
// oder Var Liste: Array['A'..'Z'] of Array['A'..'Z'] of String[2];
Delphi-Quellcode:
Liste['A', 'Z'] = Feld AZ = Liste['A']['Z']
oder auch
Delphi-Quellcode:
oder
Var Liste: Array['A'..'Z'] of Array['A'..'Z'] of Array[0..2] of Char;
Var Liste: Array['A'..'Z'] of Array['A'..'Z'] of Record c1, c2: Char; End; ... |
Re: 676 zufällige Schlüssel zuweisen
Hab ich da was falsch verstanden? Ich dachte, jeder Buchstabenkombination soll eine andere zugewiesen werden (z.B. AA -> BG).
|
Re: 676 zufällige Schlüssel zuweisen
Soll eigentlich auch so sein. Wenn ich rollstuhlfahrer's Idee nehme, dann wird AA anscheinend 91 zugewiesen...
|
Re: 676 zufällige Schlüssel zuweisen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe gerade noch eine Idee: Schaut euch erstmal meine Form an (beachtet nur die StringGrids). Wenn das Programm gestartet wird, stehen ja bei den StringGrids jeweils in der nullten Spalte die 676 Buchstabenpaare.
Nun habe ich mir einfach gedacht, wenn ich den Button "Schlüssel" klicke, bekommen die Zellen aus der ersten Spalte des linken StringGrids (also die Spalte neben den Buchstabenpaaren) durch Zufall den Inhalt der nullten Spalte des rechten StringGrids. Ich wollte es in etwa so umsetzen:
Delphi-Quellcode:
Habt ihr eine Ahnung, was ich in die geschweiften Klammern schreiben müsste? Ich habe nämlich schon so einige Sachen ausprobiert, aber es hat alles nicht funktioniert.
Procedure ButtonKeysClick(Sender: TObject);
var i: longint; begin for i := 0 to 675 do StringGrid1.Cells[1,i] := {Inhalt der zufällig ausgewählten Zellen im rechten StringGrid der Spalte 0} end; Gruß |
Re: 676 zufällige Schlüssel zuweisen
ich glaub Rollstuhlfahrers Code könnte Funktionieren (sieht jedenfalls für mich so aus).
Delphi-Quellcode:
Var C1, C2, C3, C4: Char;
S: String[2]; Liste: Array['A'..'Z', 'A'..'Z'] of String[2]; i, i2, i3: Integer; // Liste zuweisen For C1 := 'A' to 'Z' do For C2 := 'A' to 'Z' do Liste[C1, C2] := C1 + C2; // Liste mischen For i := 0 to 10 do For C1 := 'A' to 'Z' do Liste[C1, Char(Ord('A') + Random(26))] := Liste[Char(Ord('A') + Random(26)), Char(Ord('A') + Random(26))]; // oder Liste mischen For i := 0 to 10000 do Begin C1 := Char(Ord('A') + Random(26)); C2 := Char(Ord('A') + Random(26)); C3 := Char(Ord('A') + Random(26)); C4 := Char(Ord('A') + Random(26)); S := Liste[C1, C2]; Liste[C1, C2] := Liste[C3, C4]; Liste[C3, C4] := S; End; |
Re: 676 zufällige Schlüssel zuweisen
Vielen Dank. Ich werde es probieren. :)
Eine kurze Frage noch: Von welchem Typ ist die Variable S ? |
Re: 676 zufällige Schlüssel zuweisen
nja, da du 2 Bchstaben hast ... also String
String, String[2] oder Array[0..1] of Char hab die Variablendefinitionen oben nachgetragen |
Re: 676 zufällige Schlüssel zuweisen
Ok, und was genau ist jetzt zu tun, um die Ergebnisse ins StringGrid zu übertragen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 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