AGB  ·  Datenschutz  ·  Impressum  







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

Delphi Facharbeit

Ein Thema von hanki · begonnen am 22. Mai 2010 · letzter Beitrag vom 22. Mai 2010
Antwort Antwort
Seite 2 von 2     12   
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#11

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:04
Nun, die Angabe "edVerschiebung" ist sicherlich zu wenig. Das ist vermutlich ein TEdit, du musst schon genau angeben welche Eigenschaft des TEdit du in diesem Fall verwenden willst >> deshalb funktioniert es mit edVerschiebung.Text
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:08
@hanki: ich glaub auch, du solltest dir über das eigentliche Problem erst mal Gedanken machen und genau sagen, was du willst. Denn es ist ein Unterschied, ob du dem User verbieten willst, in das Edit-Feld Zahlen einzutragen, oder ob du das Edit-Feld nur auf vorhandensein von "Nicht-Zahlen" prüfen willst.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#13

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:11
außerdem finde ich es angebracht, dass man Variablen entsprechend ihrer Bedeutung benahmt. Du hast jetzt hier 4 Zählvariabnel. Als ich vor etwa 3 Monaten eine Caesar-Verschlüsselung im Unterricht erstellen sollte, kam ich mit einer einzigen zurecht. KLeiner Tipp dafür: Schau dir mal den Quellcode von UpperCase an. Da braucht man nur 1 Zeile zu verändern und den Schlüssel einzulesen (inkl. aller anderen benötigten Strings) und dann ist die fertig.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
hanki
(Gast)

n/a Beiträge
 
#14

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:12
Delphi-Quellcode:
procedure TForm1.btsatztverschluesselnClick(Sender: TObject);
var i, k, s, v: integer;
begin
  if length (edeingabe.text)=0 then
   begin
    showmessage('Es ist kein Satz zum verschlüsseln vorhanden!')
   end
else begin
  for s:=1 to length(edverschiebung) do
   begin
    if Pos(edverschiebung[color=#ff0000][s][/color],eingabemoeglichkeit)>0
     then begin
      v:= StrToIntdef(edverschiebung.Text,5);
      edausgabe.clear;
    end;
     for i := 1 to Length(edeingabe.Text) do
      begin
       k:= Ord(edeingabe.Text[i]);
       k := k + v;
       edausgabe.Text := edausgabe.Text + chr(k);
      end;
     end;
   end;
end;
Was ich bewerkstelligen möchte ist,dass der Benutzer nur zahlenwerte eingeben kann,das sonst eine verschlüsselung nur mit dem Verschiebungswert 5 erreicht wird:
v:= StrToIntdef(edverschiebung.Text,5);
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#15

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:13
wie in #11 schon gesagt: Es fehlt ein .Text

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
hanki
(Gast)

n/a Beiträge
 
#16

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:22
Delphi-Quellcode:
procedure TForm1.btsatztverschluesselnClick(Sender: TObject);
var i, k, s, v: integer;
 begin
  if length (edeingabe.text)=0 then
   begin
    showmessage('Es ist kein Satz zum verschlüsseln vorhanden!')
   end
 else begin
  for s:=1 to length(edverschiebung) do
   begin
    if Pos(edverschiebung[s],eingabemoeglichkeit)>0
     then begin
      v:= StrToIntdef(edverschiebung.Text,5);
      edausgabe.clear;
    end;
     for i := 1 to Length(edeingabe.Text) do
      begin
       k:= Ord(edeingabe.Text[i]);
       k := k + v;
       edausgabe.Text := edausgabe.Text + chr(k);
      end;
     end;
   end;
 end;
habe nun das .text hinzugefügt und es klappt auch.
danke schonmal,
jedoch besteht nun noch das problem, dass mein text zu oft verschlüsselt wird.
werde aber noch drübergucken.
DANKE an alle
wer noch ideen hat, ich bin immer dankbar =P
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#17

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:26
Dankbar und so ein Smiley ( -> =P) passen einfach nicht zusammen

Wieso nimmst du dieses StrToIntDef()? Klar, kann das Sinn machen, aber der User bekommt ja nicht mal mit, wenn du intern mit 5 rechnest! Verbiete entweder komplett die Eingabe von anderen Zeichen außer 0-9, oder baue eine Abfrage ein, sodass der User eine Warnmeldung bekommt, wenn er etwas anderes eingebaut hat, als Zahlen. Das kannst du mit der Val()-Methode (siehe Hilfe, da steht ausreichend über deren Verwendung drin) lösen. Somit kommst du erst gar nicht in die Situation, dass ein Wert genommen wir, den der User gar nicht eingegeben hat, was auch der einzig richtige wäre!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#18

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:29
was heißt: "zu oft verschlüsselt"??

und deine Prüfmethode ob nur erlaubte Zeichen in dem Eingabefeld stehen ist der letzte Müll. Es muss nur 1 Zeichen drin sein und schon meint die, es wären nur gültige Zeichen drin. Meint sie, es wären nur ungültige Zeichen drin, dann kommt irgendwas zufälliges raus, weil v nicht initialisiert ist.

Mach doch ne eigene Funktion mit booleschem Rückgabewert, die prüft, ob ein String nur gültige Zeichen enthällt.
z.B.:
Delphi-Quellcode:
function GueltigerString(Eingabe, GueligeZeichen: String): boolean; // (c) by Bernhard Wendel (wenn, dann alles übernehmen)
var i: Integer;
begin
  Result := true;
  for i := 1 to Length(Eingabe) do
  begin
    if Pos(Eingabe[i], GueltigeZeichen) = -1 then
    begin
      Result := false;
      Exit;
    end;
  end;
end;
Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
hanki
(Gast)

n/a Beiträge
 
#19

Re: Delphi Facharbeit

  Alt 22. Mai 2010, 23:34
Dass es der letzt Müll ist weiß ich auch selber.
Deswegen schreibe ich ja in dieses Forum, damit ich lerne es demnächst besser zu machen.
Also danke für die Hilfe sind zwar noch kleine Probleme aber die löse ich selber.
danke.
MFG Tim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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