Kleine Verschlüsselungssoftware für die Schule

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
mbs
Beiträge: 2
Registriert: Di 5. Jul 2011, 00:30

Kleine Verschlüsselungssoftware für die Schule

Beitrag von mbs »

Ich soll für die Schule ein kleines Programm schreiben. Es soll auf drei Elementen bestehen (2 Textfelder + 1 Button). Wenn man in das Eine Feld ein "A" eingibt soll in dem Anderen Feld ein "Z" erscheinen. Bei einem "B", ein "Y", usw...
Wenn man "AB" eingibt, soll aber auch "ZY" rauskommen. Wäre cool wenn ihr mir dabei Helfen könnet denn ich habe leider gar keine Ahnung. ;)

EDIT: So siehts bis jetzt aus:

Code: Alles auswählen

unit Unit1; 
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 
end;
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
 
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 
end;
 
end.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von af0815 »

Bei Hausaufgaben etc. wird hier nur hilfe zur selbsthilfe gegeben. Also kein fertiger Code.

Wie stellst du dir das Beispiel für einen Buchstaben vor. Beschreibe mal, wie du das Problem angehen willst, dann kann man Tips geben.

P.S: Es gibt auch öfters den Fall, das die Lehrer hier im Forum mitlesen :-) Kann recht lustig sein - Also Vorsicht :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von carli »

Hmm, wenn du Glück hast, ist dein Lehrer auch hier im Forum und kann dir eine Lösung geben.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von mschnell »

Nur gut dass in diesem Alphabet keine Umlaute sind :evil:

-Michael

Linkat
Lazarusforum e. V.
Beiträge: 530
Registriert: So 10. Sep 2006, 23:24
OS, Lazarus, FPC: Linux Mint 21.3; Lazarus 3.0 FPC 3.2.2; RaspiOS
CPU-Target: AMD 64, ARM 32
Wohnort: nr Stuttgart

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von Linkat »

Hallo mbs,
herzlich willkommen im Lazarusforum. Natürlich wird dir keiner deine Hausaufgaben machen.
Du hast bis jetzt auch nur das Gerüst des Programmes gemacht (für was brauchst du denn das EditChange-Ereignis), man kann also nicht erkennen wo dein Problem liegt.

Aber ich freue mich, wenn jemand mit Pascal/Lazarus programmieren möchte. Deshalb hier ein paar Tipps.
Die Buchstaben sind über die ASCII-Tabelle geordnet mit Zahlen verbunden. Wie man die Buchstaben in Zahlen wandelt und umgekehrt zeigt dir das kleine Pascalprogramm:

Code: Alles auswählen

program heute;
var:char;
    i  :integer;
begin
  for i:=65 to 90 do begin
    c:=Chr(i)
    write(c,' ');
  end
  writeln;
  for i:=90 downto 65 do begin
    c:=Chr(i)
    write(c,' ');
  end
  writeln;
  for c:='A' to 'Z' do begin
    i:=Ord(c)
    write(i:3);
  end
  writeln;
  for c:='Z' downto 'A' do begin
    i:=Ord(c)
    write(i:3);
  end
  writeln;
 
  readln;
end.


Nun musst du dir überlegen, wie du die Zurodnung von vorne nach hinten erreichst.

Für die Zukunft: Bitte stelle gezielte Fragen, damit man sieht, dass du dich mit dem Stoff auseinander setzt. Nicht einfach 'habe keine Ahnung bitte helft mir'. Wenn du eine klare Frage stellst, wrid dir auch bestimmt geholfen. In diesem Sinne viel Spass beim Programmieren.

Gruß, Linkat
Linux Mint 21; Lazarus 2.2.4 FPC 3.2.2; RaspiOS

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von creed steiger »

Naja im richtigen Leben würde man das so machen:

einen Zettel nehmen und erst das Alphabet aufschreiben (zur besseren Orientierung nummeriert)

A B C D .......
1 2 3 4 .........

und drunter welcher Buchstabe in was übersetzt werden soll

Z X Y W ......
1 2 3 4 .......

wenn du dich mit Strings (und den []) befasst hast,solltest den Ansatz erkennen.
( und natürlich abprüfen wenn ein Buchstabe eingegeben wird der nicht auf deinem 'Zettel' steht)

Jochen
Beiträge: 35
Registriert: So 30. Nov 2008, 23:35

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von Jochen »

noch eine Hilfe:

Code: Alles auswählen

var
input, output :char; //A..Z
...
output := chr(155 - ord(input));
...


Jochen

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von pluto »

Ich würde einfach zwei Arrays nehmen:
Array 1: hast du schon. Die Normale ASCII Tabelle.
Array 2: belegst du mit eigenen Werten.

Wenn du jetzt sagen wir auf ein A zugreifen möchtest, hat es in Array2 die gleiche Position, aber ist ein anders Zeichen. Z.B. ein B oder was auch immer.
weißt du wie ich es meine? Darüber kannst du leicht eine codier und decorider Funktion schreiben. Du könntest es sogar mit einem "Passwort" Sichern.
MFG
Michael Springwald

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von af0815 »

Vielleicht braucht der Threadersteller keine Tips mehr und hat seine Aufgabe bereits fertig :-)



... oder ist bereits geflüchtet ....
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von pluto »

Wer weiß. Vielleicht probiert er gerade alle unsere Tipps aus und bewertet sie *G*. wehre mal was neues....
MFG
Michael Springwald

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von gocher »

ich würde es so machen wenn sichergestellt ist dass die Eingabe nur A..Z enthalten kann!
Aber Dein Lehrer möchte das sicher erklärt bekommen!! :lol:

Code: Alles auswählen

function swap(Ainput: char): char;
begin
  result := chr($41 + ($5A-(ord(Ainput))));
end
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von carli »

gocher hat geschrieben:Aber Dein Lehrer möchte das sicher erklärt bekommen!! :lol:

Was er nicht kennt ist falsch.
(an der Uni solls auch Lehrkräfte geben, die keine TStringList kennen und den Leuten AssignFile/WriteLn aufdrücken, sonst gibts keine Punkte)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Kleine Verschlüsselungssoftware für die Schule

Beitrag von pluto »

(an der Uni solls auch Lehrkräfte geben, die keine TStringList kennen und den Leuten AssignFile/WriteLn aufdrücken, sonst gibts keine Punkte)

TStringlist ist ja auch eine Vereinfachung *G* Wie mit den Taschenrechner in der Grundschule *G*.
MFG
Michael Springwald

Antworten