Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Codierung (https://www.delphipraxis.net/150481-codierung.html)

moment_ 18. Apr 2010 14:19


Codierung
 
Hey,
kann mir jemand helfen einen Quelltext für Delphi 5 zum Thema Codierung zu erstellen?
Soll mit Ersetzungsverfahren, halt das mit der ASCII Tabelle, aber der Quelltext soll in Form von Unterprogrammen dargestellt sein.
Ich bin echt zu doof dafür.
Wär sehr toll wenn eine rmit helfen kann.
:D

himitsu 18. Apr 2010 14:25

Re: Codierung
 
Hausaufgaben machen wir hier nicht.
(Du sollst es ja machen und wenn wir dir die Aufgabe machen, dann wäre das ja "betrügen")

Aber wenn du Uns zeigst, was du schon hast
und uns vorallem genauer erklärst was genau gemacht werden soll,
(hab nicht wirklich verstanden was genau gemacht werden soll)
dann helfen wir gern aus.

Klaus01 18. Apr 2010 14:27

Re: Codierung
 
Hallo,

dann mal wieder die Frage: Was hast Du denn schon bisher fertig?
Welcher Ersetzungscode: Vignere oder Caesar.
Zu Caesar sollte sich hier im Forum auch was finden.

Wir werden nicht Deine Aufgabe machen - Dich unterstützen das Du es selbst kannst können wir schon.

Grüße
Klaus

DeddyH 18. Apr 2010 14:28

Re: Codierung
 
Willkommen in der DP :dp:
Ich vermute einmal, dass mit Unterprogrammen Routinen (also Prozeduren und Funktionen) gemeint sind. Falls ja, sieht das im Grobkonzept dann beispielsweise so aus:
Delphi-Quellcode:
function MachWas(c: char): char;
begin
  //Mache irgend etwas mit c und gib das Ergebnis zurück
end;

function TDeinForm.Konvertieren(const s: string): string;
var i: integer;
begin
  Result := s;
  for i := 1 to Length(Result) do
    Result[i] := MachWas(Result[i]);
end;

procedure TDeinForm.Button1Click(Sender: TObject);
begin
  ShowMessage(Konvertieren(EinEdit.Text));
end;
Hier wird bei Klick auf den Button die Methode Konvertieren aufgerufen, welche dann intern wieder die Routine MachWas in einer Schleife aufruft. Ist so etwas gemeint?

moment_ 18. Apr 2010 14:31

Re: Codierung
 
Betrügen wäre, wenn ich im Internet den ganzen Quelltext für das Programm finden würde und abgeben würde und eine kassieren würde. :(
Ich hab ja schon die Hälfte der Aufgabe fertig. Nur die letzte Teilaufgabe nicht:
Das Programm-Projekt Codierungsprojekt ist so weiter zu führen, dass die Routinen, die auf das Anklicken der
Check-Boxen hin ausgelöst werden, in Unterprozeduren
der Prozeduren procedure THauptformular.Ersetzungs-verfahrenButtonClick(Sender: TObject);
und procedure THauptformular.Versetzungsverfahren-ButtonClick(Sender: TObject); ausgelagert werden.

Mein Quelltext für Ersetzungsverfahren:
Delphi-Quellcode:
procedure TForm1.ErsezungButtonClick(Sender: TObject);
var
Wort, codiertesWort : String;
i,Nummer : Integer;
Zeichen : Char;
begin
   if Box1.checked then
   begin
   Wort:=WortEdit.Text;
   codiertesWort:='';
   for i:=1 to length(Wort) do
                begin
                Zeichen:=Wort[i];
                Nummer:=Ord(Zeichen);
                Nummer:=Nummer+3;
                Zeichen:=Chr(Nummer);
                codiertesWort:=codiertesWort+Zeichen;
                codiertesWortEdit.Text:=codiertesWort;
                end;


   end;

if box2.Checked then
   begin
   Wort:=WortEdit.Text;
   codiertesWort:='';
   for i:=1 to length(Wort) do
                begin
                Zeichen:=Wort[i];
                Nummer:=Ord(Zeichen);
                Nummer:=Nummer+2;
                Zeichen:=Chr(Nummer);
                codiertesWort:=codiertesWort+Zeichen;
                codiertesWortEdit.Text:=codiertesWort;
                end;
   end;
if Box3.Checked then
    begin
    Wort:=WortEdit.Text;
    codiertesWort:='';
    for i:=1 to length(Wort) do
                begin
                Zeichen:=Wort[i];
                Nummer:=Ord(Zeichen);
                Nummer:=Nummer+1;
                Zeichen:=Chr(Nummer);
                codiertesWort:=codiertesWort+Zeichen;
                codiertesWortEdit.Text:=codiertesWort;
                end;


  end;
end;
Das mit Versetzungsverfahren kann ich dann alleine machen, wenn ich das mit dem Ersetzungsverfahren verstanden habe:D

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

moment_ 18. Apr 2010 14:34

Re: Codierung
 
so ganz grob was DeddyH gesagt hat meine ich auch
aber ich kann das iwiw nicht auf mein Programm anwenden?!?!

DeddyH 18. Apr 2010 14:38

Re: Codierung
 
Du hast 3 Checkboxen für 3 verschiedene Verfahren (sofern ich den unformatierten Code richtig überflogen habe). Nun musst Du doch das, was dort jeweils passieren soll, nur in eigene Routinen auslagern, die jeweils den Originalstring entgegennehmen, umwandeln und dann zurückgeben. Diese Routinen rufst Du dann auf (siehe mein Beispiel oben).

moment_ 18. Apr 2010 14:45

Re: Codierung
 
Delphi-Quellcode:
function Box1.checked[color=#ffff00]mach was, bei mir also box1 ankreuzen, fehler meldung:Funktion benötigt Ergebnistyp.. hab ich dann (.checked)weggemacht[/color][color=#1fff00][/color](var i_lokal:char):char;

   begin
   Wort:=WortEdit.Text;
   codiertesWort:='';
   for i_lokal=1[color=#ffff3f]Fehlermeldung:Inkompatible Typen?!?![/color] to length(Wort) do
                begin
                Zeichen:=Wort[i_lokal];
                Nummer:=Ord(Zeichen);
                Nummer:=Nummer+3;
                Zeichen:=Chr(Nummer);
                codiertesWort:=codiertesWort+Zeichen;
                codiertesWortEdit.Text:=codiertesWort; [color=#ffff7f]wird dann hier wieder aufgerufen[/color]
                end;
  end;
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

DeddyH 18. Apr 2010 15:52

Re: Codierung
 
Delphi-Quellcode:
function ErsteFunktion(const Wort: string): string; //Ergebnistyp ist String
var i, Nummer: integer;
    Zeichen: char;
begin
  Result := ''; //Ergebnis initialisieren
  for i := 1 to length(Wort) do
    begin
      Zeichen:=Wort[i];
      Nummer:=Ord(Zeichen);
      Nummer:=Nummer+3;
      Zeichen:=Chr(Nummer);
      Result:=Result+Zeichen;    
    end;
end;

...
if Box1.checked then
   begin
   Wort:=WortEdit.Text;
   codiertesWortEdit.Text:=ErsteFunktion(Wort);
Für die anderen geht das dann genauso.

moment_ 18. Apr 2010 15:59

Re: Codierung
 
Zitat:

end;

...
if Box1.checked then
was soll ''...'' heißen?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz