Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kleine Übung, finde Fehler jedoch nicht :< (https://www.delphipraxis.net/103223-kleine-uebung-finde-fehler-jedoch-nicht.html)

silent-ace 12. Nov 2007 15:43


Kleine Übung, finde Fehler jedoch nicht :<
 
Hallo Leute, hab mal bissel mit Delphi angefangen zu Arbeiten
und dachte mir, ein kleinen simples Porgramm für den einstieg
kann da nicht schaden, da ich keine Vorkenntnisse im Bereich
Programmieren habe, würde ich gerne eure Hilfe bemühen :>

Projekt:
- kleines Verschlüsslungsprogramm

Aktion:
- ein Text (Wort) soll, so nach dem Prinzip des Cäsar-Codes verschlüsselt werden

Problem:
- Programm fertig gecodet, keine Fehler werden angezeigt, aber es funktioniert nicht :<

Quelltext:

Delphi-Quellcode:
unit Ucode;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus;

type
  TFrm_Kodieren = class(TForm)
    Btn_Kodieren: TButton;
    Edt_Eingabe: TEdit;
    Edt_Ausgabe: TEdit;
    Lbl_Eingabe: TLabel;
    Lbl_Ausgabe: TLabel;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Schlieen1: TMenuItem;
    Info1: TMenuItem;
    Hilfe1: TMenuItem;
    Info2: TMenuItem;
    procedure Btn_KodierenClick(Sender: TObject);
    procedure Schlieen1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Frm_Kodieren: TFrm_Kodieren;
  orginal,code: string;

implementation

{$R *.dfm}

procedure TFrm_Kodieren.Btn_KodierenClick(Sender: TObject);

var i:integer;

begin

orginal:=Edt_Eingabe.Text;

For i:=1 To length (code)
DO code[i]:=chr(ord(orginal[i])+3);

Edt_Ausgabe.Text:=code;

end;

procedure TFrm_Kodieren.Schlieen1Click(Sender: TObject);
begin
close;
end;

end.
Weiß da einer Hilfe ?

bb. silent-ace

Klaus01 12. Nov 2007 15:53

Re: Kleine Übung, finde Fehler jedoch nicht :<
 
Hallo,

was heißt denn "funktionert nicht"?
Entspricht die Verschlüsselung nicht dem was Du erwartet hast?
Kommt der KlarText wieder heraus?
Delphi-Quellcode:
For i:=1 To length (original) DO
  code[i]:=chr(ord(orginal[i])+3);

  Edt_Ausgabe.Text:=code;

end;

So sollet es schon besser aussehen:
Delphi-Quellcode:
For i:=1 To length (original) DO
  begin
    code:=chr(ord(orginal[i])+3);
    Edt_Ausgabe.Text:=Edt_Ausgabe.Text+code;
  end;
Grüße
Klaus

silent-ace 12. Nov 2007 15:55

Re: Kleine Übung, finde Fehler jedoch nicht :<
 
Zitat:

Zitat von Klaus01
Hallo,

was heißt denn "funktionert nicht"?
Entspricht die Verschlüsselung nicht dem was Du erwartet hast?
Kommt der KlarText wieder heraus?

Grüße
Klaus

Sry, zu undeutlich ausgedrückt.

Also es passiert nichts ! Er gibt nichts aus, das Edt_Ausgabe bleibt leer :<

bb. silent-ace

BaerndH 12. Nov 2007 15:56

Re: Kleine Übung, finde Fehler jedoch nicht :<
 
ohne es probiert zu haben:

Delphi-Quellcode:
orginal:=Edt_Eingabe.Text;

code := '';
For i:=1 To length (original)
DO code := code + chr(ord(orginal[i])+3);

Edt_Ausgabe.Text:=code;
weil:
a.) code nicht initialisiert war
b.) die Länge von code daher undefiniert war

Außerdem: code wird nicht wirklich benötigt. Kannst direkt in Edt_Ausgabe.Text schreiben.

sirius 12. Nov 2007 15:56

Re: Kleine Übung, finde Fehler jedoch nicht :<
 
Zitat:

Zitat von Klaus01
Hallo,

was heißt denn "funktionert nicht"?
Entspricht die Verschlüsselung nicht dem was Du erwartet hast?
Kommt der KlarText wieder heraus?

Grüße
Klaus

Ersteres, denn
Delphi-Quellcode:
For i:=1 To length (code)
DO code[i]:=chr(ord(orginal[i])+3);
Code ist eine globale Varibale und erstmal leer. Und wenn dies alles vom Programm ist, dann wird diese Schleife nie durchlaufen. Du meinst wohl "length(original)"


Edit: Vielleicht solltest du die beiden strings auch besser lokal anlegen. Du brauchst sie ja in anderen Methoden nicht. Ansonsten prüfe, ob du sie als Felder in das Formular geben kannst (private Deklarationen)

silent-ace 12. Nov 2007 16:04

Re: Kleine Übung, finde Fehler jedoch nicht :<
 
Zitat:

Zitat von BaerndH
ohne es probiert zu haben:

Delphi-Quellcode:
orginal:=Edt_Eingabe.Text;

code := '';
For i:=1 To length (original)
DO code := code + chr(ord(orginal[i])+3);

Edt_Ausgabe.Text:=code;
weil:
a.) code nicht initialisiert war
b.) die Länge von code daher undefiniert war

Außerdem: code wird nicht wirklich benötigt. Kannst direkt in Edt_Ausgabe.Text schreiben.

Ah, vielen Dank an euch alle :> funktioniert nun.

- Nächster Schritt:
: Werde Versuchen die Verschlüsslung auszubauen.

Danke, werd nun closen :>

//edit: anscheinden kann man selbst nicht closen ?
Werde einen Moderator bescheid geben :>

bb. silent-ace

MrSpock 12. Nov 2007 17:15

Re: Kleine Übung, finde Fehler jedoch nicht :<
 
Auf Wunsch des Erstellers geschlossen.

* * * C L O S E D * * *


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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