Benutzerdaten im Memo

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
House
Beiträge: 19
Registriert: Fr 24. Okt 2008, 12:54

Benutzerdaten im Memo

Beitrag von House »

Hallo,

zum meinem Vorhaben: ich würde gerne für mein Programm noch so eine Art Konsole basteln, mit der man halt bestimmte Funktionen im Programm ausführen kann. Nun soll aber beim Aufruf der Konsole (wahrscheinlich ein Memo) zu allererst die Benutzerdaten (Name, Passwort) abgefragt werden. Für die Programmanmeldung an sich verwende ich Editfelder, wie im folgenden Quelltext ersichtlich:

Code: Alles auswählen

procedure Tlogin.Button1Click(Sender: TObject); 
  var Ini: TIniFile; 
begin 
  Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'us44.tyif'); 
  try 
  if 
  (LabeledEdit1.Text=Ini.ReadString('User','Name','')) AND 
  (LabeledEdit2.Text=Ini.ReadString('Password','Password','')) 
  then begin 
  Form1.show;   //Hauptform
  login.hide; 
  Form18.showmodal; //Willkommenseite
  end 
  else begin 
  Form10.showmodal;  //Loginfehler
  LabeledEdit1.Text:=''; 
  LabeledEdit2.Text:=''; 
  end 
  finally 
  FreeAndNil(Ini); 
  end; 
end;


Wie schaffe ich das jetzt aber beim Memo ohne Editfelder? Wie zum Beispiel im folgenden Bild:
Bild

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: Benutzerdaten im Memo

Beitrag von _X_ »

Ganz so einfach wird das nicht gehen.
Schau dir mal Cmdline an.
http://wiki.lazarus.freepascal.org/CmdLine

mfg _X_

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Benutzerdaten im Memo

Beitrag von monta »

CmdLine hätte ich auch empfohlen.

Ansonsten fange im Memo einfach die Entertaste ab. Passwort und Benutzernamen werden ja mit Enter beendet und dann enthält die letzte Zeile die aktuelle Eingabe.
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Benutzerdaten im Memo

Beitrag von pluto »

Ich würde sowas mit einem EDIT machen in Verbindung mit einer TMemo. Grobes Beispiel:
TMemo platzieren, ReadOnly auf True stellen.

Darunter ein TEdit Platzieren und die Eingaben Parsen.
Z.B. wird Login eingeben weißt das das der erste Parameter z.b. der Username ist und der zweite das Passwort. Wobei besser währe es vermutlich bei Login einfach ein Dialog erscheinen zu lasen wo du das Password durch * ersetzten kannst.

Statt einem TEDIT würde auch eine TComboBox gehen. Dann hättest du sowas wie eine History.
MFG
Michael Springwald

Benutzeravatar
Garfield
Beiträge: 173
Registriert: Do 5. Jun 2008, 22:07
OS, Lazarus, FPC: Ubuntu 22.04 LTS (Laz 3.0 FPC3.2.2)
CPU-Target: 64Bit
Wohnort: Aken

Re: Benutzerdaten im Memo

Beitrag von Garfield »

Der Screenshot zu cmdline sieht gut aus. Kannte ich noch nicht. Unter Delphi hatte ich das mal so gemacht: Beim TMemo ReadOnly auf True gestellt und die Ereignisse OnClick, OnKeyDown und OnKeyPress ausgewertet. OnClick um den Cursor in der Eingabezeile zu positionieren, falls "irgendwohin" geklickt wird. OnKeyDown um Sondertasten wie Cursortasten, Pos1, Ende, Entfernen usw auszuwerten. OnKeyPress um die restlichen Tasten auszuwerten und den Befehl ausführen zu lassen.

Delphi-Beispiele, welche ich genutzt hatte:
http://www.delphipraxis.net/post598121.html#598121" onclick="window.open(this.href);return false;
http://www.softgames.de/forum/viewtopic.php?t=24225" onclick="window.open(this.href);return false;

Aber es sieht so aus, als könnte man das alles mit der TCmdBox/TCmdLine machen. Werde ich mir auch mal ansehen.
Gruß Garfield

Antworten