![]() |
Variabel-Fehler
Die funktion von folgendem soll sein, dass man im Edit1 eine Zahl eingeben kann und dann auf Passwort erstellen und dann ein Passwort mit der Länge aus dem Edit1 erstellt werden soll.
Code:
Ich habe irgendwas mit der Variabel falsch gemacht, da es vorher ging. Kann mir das jmd verbessern ? Und dann direkt noch eine Frage.. wie schaffe ich es, dass man im Edit Feld nur Zahlen eingeben kann ? Thx im Vorraus.
Var
X: integer; function RandName(Length : Integer):String; var i : Byte; begin randomize(); result := ''; SetLength(Result,Length); for i := 0 to Length do begin Result[i] := Char(Random(25)+65); end; end; procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := RandName(x); Edit1.Text := inttostr(X); end; *edit* Noch eine Frage .. wenn ich das in einem Memo ausgebe wie schaffe ich es, dass es z.B. 5 mal untereinander ausgegeben werden soll aber verschiedene PW´s ? |
Re: Variabel-Fehler
Also was mir auffällt ist
Delphi-Quellcode:
besser
for i := 0 to Length do
Delphi-Quellcode:
Was geht den jetzt nicht mehr?
for i := 0 to Length-1 do
Mfg ReDoX |
Re: Variabel-Fehler
genau falsch. bei strings sollte es von 1 bis length gehen.
Die Frage mit dem Editfeld und den Zahlen beantwortet dir die Suchfunktion. Desweiteren gilt: neue Frage neuer Thread. Also lieber 3 thead aufmachen aber eben niemals mehrere Fragen in einem Thead stellen. |
Re: Variabel-Fehler
Zitat:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not (key in ['0' .. '9']) then key:=#0; end; |
Re: Variabel-Fehler
Liste der Anhänge anzeigen (Anzahl: 1)
Okay das funktioniert aber irgendwas stimmt mit der Variabel nicht .. wenn ich anstatt das "X" eine Zahl reinschreibe in
Code:
dann kommt ein Fehler (siehe Anhang). Ich tippe mal, dass bei
Memo1.Text := RandName(5);
Code:
irgendwas nicht stimmen wird. Aber hab keine Ahnung was es sein könnte.
Edit1.Text := inttostr(X);
|
Re: Variabel-Fehler
Klappt dich wunderbar. Nur muss halt X vorher n Wert zugewiesen werden...
Delphi-Quellcode:
function RandName(Length : Integer):String;
var i : Byte; begin randomize(); result := ''; SetLength(Result,Length); for i := 0 to Length do Result[i] := Char(Random(25)+65); end; procedure TForm1.Button1Click(Sender: TObject); var x:integer; begin x:=12; // <--- Zuweisen! Label1.Caption := RandName(x); Edit1.Text := inttostr(X); end; |
Re: Variabel-Fehler
TMemo besitzt doch gar keine Eigenschaft namens "Text". Dafür sind doch die Lines da. Oder steh ich auf der Leitung?
Delphi-Quellcode:
//5 verschiedenen Pwds aus zufälliger Erstellung von Zahlen
Memo1.Lines.Add(RandName(5)); Memo1.Lines.Add(RandName(6)); Memo1.Lines.Add(RandName(7)); Memo1.Lines.Add(RandName(8)); Memo1.Lines.Add(RandName(8)); |
Re: Variabel-Fehler
Das mit dem
Code:
klappt wunderbar, doch wenn ich im edit feld die Zahl änder dann geht die Variabel immer auf 12 obwohl ich das nichtmal im Timer oder so habe..
X := 12;
|
Re: Variabel-Fehler
Dann musst du X auch edit1.text zuweisen!
Delphi-Quellcode:
Mfg ReDoX
X := StrToInt(Edit1.Text)
|
Re: Variabel-Fehler
Block ich net
Ein Formular mit 1 Edit, 1 Memo und 1 Button....
Delphi-Quellcode:
Ansonsten kapier ich nich, wo das Problem liegt....
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, TMUnit, RtColorPicker, ExtCtrls, ColorGrd, ExtDlgs, jpeg; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Memo1: TMemo; procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1:TForm1; implementation {$R *.dfm} function RandName(Length : Integer):String; var i : Byte; begin randomize(); result := ''; SetLength(Result,Length); for i := 0 to Length do Result[i] := Char(Random(25)+65); end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0' .. '9']) then key:=#0; end; procedure TForm1.Button1Click(Sender: TObject); var x:integer; begin x := strtoint(Edit1.Text); Memo1.Lines.Add(RandName(x)); Memo1.Lines.Add(RandName(x)); Memo1.Lines.Add(RandName(x)); Memo1.Lines.Add(RandName(x)); Memo1.Lines.Add(RandName(x)); end; procedure TForm1.FormShow(Sender: TObject); begin Edit1.Text := ''; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 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