AGB  ·  Datenschutz  ·  Impressum  







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

Passwortabfrage

Ein Thema von Sylux · begonnen am 19. Mär 2008 · letzter Beitrag vom 19. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Sylux

Registriert seit: 19. Mär 2008
7 Beiträge
 
#1

Passwortabfrage

  Alt 19. Mär 2008, 16:03
Hallo,
ich bin noch ein Delphifrischling^^ und
ich will ein Programm schreiben bei dem man einen Namen eingeben muss und dann das richtige Passwort dafür.

Code:
unit Keygen;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
     serie: integer;
     name:string;
begin
     if Edit1.Text = '' then
       Form4.Showmodal
else
     name:= Edit1.text;
     serie:= ord(name[1]);

if
   edit2.text=edit1.text then

   Form5.Showmodal

   else
   Form4.Showmodal









end;

end.
Also der 1. Buchstabe von "name" soll in den ASCII Wert umgewandelt werden und dieser Wert soll dann die "serie" sein.
Aber irgendwie klappt das nicht. Es wird fehlerfrei "compiliert".
Aber wenn ich z.B. A als "name" eingebe und "65" als Serie dann kommt auch immer das Fenster mit der Fehlermeldung: falsch.

Woran liegt das?
Wo liegt der Hund begraben.

Danke schonmal
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:07
Gibst Du evtl. ein kleines a ein? Das hat nicht den ASCII-Wert 65, sondern 97.

P.S.: Willkommen in der DP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:10
Herzlich willkommen hier bei uns in der Delphi-Praxis,

Du solltest an deinem Code mal ein paar grundlegende Anpassungen machen, wie ich meine:
  • Gib deinen Forms und Units aussagekräftige Namen. Unit1, Unit2, Unit3, Form1, Form2 usw. verwirrt und du weisst bald selbst nicht mehr, was wofür steht.
  • Überprüfe mal dein if-then Bedingungen. Ich denke, so, wie du sie da schreibst, sind sie nicht gemeint
  • Formtiere deinen Code so, dass man erkennt, was wann passiert. Code sollte immer schön eingerückt werden.
So, und nun zu deiner Frage...
Zitat von Sylux:
Aber wenn ich z.B. A als "name" eingebe und "65" als Serie dann kommt auch immer das Fenster mit der Fehlermeldung: falsch.
Welches Fenster zeigt wann "falsch" an. Davon ist in deinem Code nichts zu erkennen.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:11
Hallo,

kann es sein , dass Du vor serie:= ord(name[1]); ein begin und danach ein end; vergessen hast?
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Sylux

Registriert seit: 19. Mär 2008
7 Beiträge
 
#5

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:16
Danke für die vielen Antworten
Ok ich werde den Code nächstes mal besser formatieren.

ich habe ein Fenster gemacht dort drin steht "Falsch".
Das kommt entweder wenn man Bei dem Namen 0 Zeichen eingibt:

Code:
begin
     if Edit1.Text = '' then
       Form4.Showmodal

Die "Form4" ist eben das Fenster das einem Mitteilt es ist Falsch.

Oder es kommt wenn:
Code:
if
   edit2.text=edit1.text then

   Form5.Showmodal

   else
   Form4.Showmodal
eben Edit2 und Edit1 nicht gleich sind.

@Der.Kaktus

Hilft leider nicht.

@Jelly

Ich kann leider keinen Fehler in der if-then Bedingung erkennen.
Könntest du mir da mal helfen Ich kenn mich da auch noch nicht so aus.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:20
Hiho,

und, sind edit1.text und edit2.text gleich?

Ich glaub genau da liegt nämlich der Fehler...

[EDIT Ich verstehe noch gar nicht genau, was letztendlich die Lösung sein soll

1.) Du möchtest einen Namen (Edit1) und ein Passwort (Edit2) eingeben.
2.) Nun soll überprüft werden, ob "der Ascii des ersten zeichens von edit1.text " dem Wert aus "Edit2,text" entspricht?!

dann sollte das ganze so aussehen:

Delphi-Quellcode:
procedure TForm1.btnClick(Sender: TObject);
var
  serie, iPW: integer;
  name: string;
begin
  if Edit1.Text = 'then
    showmessage('NEIN')
  else
    name := Edit1.text;

  serie := ord(name[1]);

  if TryStrToInt(Edit2.Text, iPW) then
  begin
    if iPW = Serie then
      showmessage('JA')
    else
      showmessage('NEIN')
  end
  else
    showmessage('NEIN');
end;
Ansgar
  Mit Zitat antworten Zitat
Sylux

Registriert seit: 19. Mär 2008
7 Beiträge
 
#7

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:29
omg

Warum kommt man da nicht selbst drauf Oo

Wenn ich in die 2 Editfelder das selbe eingebe kommt die Meldung das es "Richtig" sei.
Dann muss der Fehler wohl an der "ord" Funktion liegen?
Die sollte ja den ASCII Wert von dem 1. Buchstaben der VAribale "name" berechnen.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:30
schau dir nochmal meinen Beitrag an, habe was editiert. Ansonsten beschreibe bitte einfach nochmal (ohne sourcecode) genau das was eigentlich gemacht werden soll

ORD arbeitet korrekt, du machst damit aber nichts
Ansgar
  Mit Zitat antworten Zitat
Sylux

Registriert seit: 19. Mär 2008
7 Beiträge
 
#9

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:40
Stimmt.
Deins Funktioniert super!

Also es soll passieren:

Ich will ein Art Loginfeld haben:

Name, Passwort

Wenn man nun bei Name: "Tobias" eingibt dann soll der 1. Buchstabe des Namens in den ASCII Wert umgewandelt werden soll. Also "T" und dieser ASCII Wert davon soll das Passwort sein.

Und wenn es übereinstimmt also das Passwort und der vom Programm errechneten ASCII Wert soll eine Nachricht: JA kommen.

Wenn nicht halt: Nein.

Könntest du mir deinen Code nochmal kommentieren?
Was bewirkt z.B. TryStrToInt(Edit2.Text, iPW)

PS:

Entschuligt den Crossoverpost.
http://forum.delphi-treff.de/showthr...861#post166861
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Passwortabfrage

  Alt 19. Mär 2008, 16:56
Zitat von Sylux:
Was bewirkt z.B. TryStrToInt(Edit2.Text, iPW)
Dafür gibts die Hilfestellung von Delphi selbst. Die solltest du als allererstes konsultieren, bevor du die Frage hier stellst.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:41 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