Einzelnen Beitrag anzeigen

Thieon

Registriert seit: 18. Mär 2016
9 Beiträge
 
#20

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 21. Mär 2016, 10:13
Erstmal Danke... Ich habe versuch deinen Code einzubinden, aber dann kommen lauter Fehlermeldungen:

Projekt kompilieren, Ziel: DRK: Exit code 256, Fehler: 1
DelphiMD5.pas(17,6) Fatal: Kann Windows nicht finden verwendet von DelphiMD5 des Projektinspektors.

Projekt kompilieren, Ziel: DRK: Exit code 256, Fehler: 20, Hinweise: 5
DelphiMD5.pas(234,30) Error: Operator is not overloaded: "TUINT4Array" and "Byte"
DelphiMD5.pas(235,33) Error: Operator is not overloaded: "TUINT4Array" shr "ShortInt"
DelphiMD5.pas(236,33) Error: Operator is not overloaded: "TUINT4Array" shr "ShortInt"
DelphiMD5.pas(237,33) Error: Operator is not overloaded: "TUINT4Array" shr "ShortInt"
DelphiMD5.pas(258,16) Error: Illegal type conversion: "TByteArray" to "LongWord"
DelphiMD5.pas(258,36) Error: Illegal type conversion: "TByteArray" to "LongWord"
DelphiMD5.pas(259,5) Error: Illegal type conversion: "TByteArray" to "LongWord"
DelphiMD5.pas(259,36) Error: Illegal type conversion: "TByteArray" to "LongWord"
DelphiMD5.pas(288,10) Error: Incompatible types: got "TArray4UINT4" expected "LongWord"
DelphiMD5.pas(288,23) Error: Incompatible types: got "TArray4UINT4" expected "LongWord"
DelphiMD5.pas(288,36) Error: Incompatible types: got "TArray4UINT4" expected "LongWord"
DelphiMD5.pas(288,49) Error: Incompatible types: got "TArray4UINT4" expected "LongWord"
DelphiMD5.pas(360,2) Error: Operator is not overloaded: inc "TArray4UINT4"
DelphiMD5.pas(360,2) Error: Incompatible types: got "untyped" expected "TArray4UINT4"
DelphiMD5.pas(361,2) Error: Operator is not overloaded: inc "TArray4UINT4"
DelphiMD5.pas(361,2) Error: Incompatible types: got "untyped" expected "TArray4UINT4"
DelphiMD5.pas(362,2) Error: Operator is not overloaded: inc "TArray4UINT4"
DelphiMD5.pas(362,2) Error: Incompatible types: got "untyped" expected "TArray4UINT4"
DelphiMD5.pas(363,2) Error: Operator is not overloaded: inc "TArray4UINT4"
DelphiMD5.pas(363,2) Error: Incompatible types: got "untyped" expected "TArray4UINT4"
DelphiMD5.pas(461,17) Hint: Local variable "Context" does not seem to be initialized
DelphiMD5.pas(468,33) Hint: Local variable "Buffer" does not seem to be initialized
DelphiMD5.pas(475,17) Hint: Function result variable does not seem to be initialized
DelphiMD5.pas(482,17) Hint: Local variable "Context" does not seem to be initialized
DelphiMD5.pas(484,17) Hint: Function result variable does not seem to be initialized


Ach ja ich hatte in einen Post zuvor erwähnt, dass ich Lazarus verwende und nicht Delphi, für den Fall, dass dies noch nicht bekannt sein sollte und dies den Fehler verursachen sollte. Zudem Schreibe ich das Programm primär unter Linux und anschließend kompiliere ich es noch unter Mac und Windows 10. ...


Hänge mal deinen kompletten Code hier an. Da sehen wir mal wo es Nachholebedarf gibt.
Aber Du wolltest ja, dass ich mal meinen kompletten Code anhänge... Mein Du damit den Code aus meiner LogIn Unit oder das ganze Projekt? Ich füge erstmal nur den der LogIn Unit bei, fall das nicht reicht, dann bitte bescheid sagen....

Code:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, sqldb, db, FileUtil, Forms, Controls, Graphics, Dialogs,
  ComCtrls, ExtCtrls, StdCtrls, Buttons, Menus;

type

  { TForm1 }

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    CheckBox1: TCheckBox;
    Image1: TImage;
    Benutzer: TLabeledEdit;
    Code: TLabeledEdit;
    MainMenu1: TMainMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    StatusBar1: TStatusBar;
    Timer1: TTimer;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure CheckBox1Change(Sender: TObject);
    procedure CodeChange(Sender: TObject);
    procedure CodeKeyPress(Sender: TObject; var Key: char);
    procedure MenuItem2Click(Sender: TObject);
    procedure MenuItem4Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);


  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation
 uses Unit2, Unit3, Unit4;
{$R *.lfm}

{ TForm1 }
//Anzeige DATUM und Uhrzeit in der Statusleiste
procedure TForm1.Timer1Timer(Sender: TObject);
var
  hr, min, sec, msec: Word;

begin
DecodeTime(now, hr, min, sec, msec);
StatusBar1.Panels[1].Text := FormatDateTime ('dd.mm.yyyy, hh:nn:ss', Now);
Form2.StatusBar2.Panels[1].Text := FormatDateTime ('dd.mm.yyyy, hh:nn:ss', Now);
Form3.StatusBar1.Panels[1].Text := FormatDateTime ('dd.mm.yyyy, hh:nn:ss', Now);
Form4.StatusBar1.Panels[1].Text := FormatDateTime ('dd.mm.yyyy, hh:nn:ss', Now);
end;
//Abbruch des Logins und schließen des Programms
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  form2.close;
end;

// Passworteingabe durch Sternchen ersetzten
procedure TForm1.CodeChange(Sender: TObject);
begin
  Code.PasswordChar := '*';
end;
//Passworteingabe durch Sternchen deaktivieren
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
   if CheckBox1.Checked then
      begin
      Code.PasswordChar := #0;
      end else
      begin
      Code.PasswordChar := '*';
      end
end;

//Mit Enter den LoginButton aktivieren
procedure TForm1.CodeKeyPress(Sender: TObject;
var Key: Char);
begin
  if Key = #13 then begin
    BitBtn1.Click; // or something else
    Key := #0;
  end;
end;

//LoginButton = true Weiterleitung zum MainForm und schließen LoginFenster
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  form3.dbf1.Filtered := false;
  form3.dbf1.Filter := Format('Ben = %s and Code = %s',[QuotedStr(Benutzer.text),QuotedStr(Code.Text)]);
  form3.dbf1.Filtered := true;
  form3.dbf1.First;
  if not form3.dbf1.EoF then begin
    form2.show;
    form1.close;
  end;
  form3.dbf1.Filtered := false;
end;

//Beenden des Programms durch das Mainmenü
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
  form2.close;
end;

procedure TForm1.MenuItem4Click(Sender: TObject);
begin
  form3.showmodal;
end;

end.

Nochmals vielen Dank für die umfangreiche Hilfe, das ist nicht selbstverständlich und vor allem wird es in vielen Foren immer seltener...

Gruß

René
  Mit Zitat antworten Zitat