Lazarus- Hilfe?

Hast du denn auch einen ansatz/Programmcode oder musste auch die editfelder erstellen etc? Bis wann musst du das programm geschrieben haben?

Ich habe schon die Komplette Form, nur der oben beschriebene Teil muss gemacht werden.

Bis morgen - ich weiß, sehr kurzfristig

Kannst du den code den du hast einfach mal hier posten? Oh und füge bitte auch eine onclick action ein, wenn man auf den button clickt.

Sorry, ich weiß nicht genau wie ich das machen soll. Ich kann ja schlecht das ganze Formular hier hin kopieren

Nur den code des formulars. Und "onclick" event des buttons musst du natürlich selbst erstellen

Kannst du kurz erklären, wie das geht?

Sonst gerne auch mit einer FA

2 Antworten

Also du erstellst ein onClick event.

Im onclick event machst du:

Einlesen des strings/schluessel:

String schl:=edit1.text();

String fehlermeldung="deine fehlermeldung";

Sring gut ="der gute text";

if length(schl) <>26 then

Begin

Panel1.text:=fehlermeldung

exit;

End

String temp:="";

For i:=0 to length(schl) do

For j:=0 to length(temp) do

Begin

if temp[j]==schl[i] then

Begin

Panel1.text:=fehlermeldung

exit;

End

End

temp:=temp+schl[i]

Begin

Panel1.text:=gut

End

Den code musst du natürlich für deinen fall anpassen und da könnten natürlich kleinere tippfehler in dem code sein, den ich hier geschrieben habe. Aber im grunde sollte es so gehen

0

Vielen Dank dafür!!!
Beim ersten Teil jedoch ' String schl:=edit1.text(); kommt eine Fehlermeldung (illegal expression). Kannst du mir auch da weiterhelfen?

Außerdem wollte ich fragen, ob ich noch irgendwo (außer der Texte) etwas einfügen muss

1
@007cool007

Du musst ganz am anfang schreiben:

Var schl,temp:String;

Und die Zeilen wo ich String davor geschrieben habe lässt du String einfach weg.

Also

String schl:=edit1.text();

wird zu

schul:=edit1.text();

0
@TheName980

Lazarus findet in dem Teil außerdem keine 'text'. Und sagt 'syntax error'

0
@007cool007

Werden wohl einige sachen drin sein, die du anpassen müsstest. ich weiß nicht wie dein editfeld heißt. Ich denke mal das heißt nicht edit1. Die fehler müsstest du selbst beheben. Dafür gibt die delphi ja tipps. Oder du vertraust mir soweit, dass du mir den bildschirm über teamviewer anzeigst. Das wird alles sonst kompliziert.

Viel erfolg jedenfalls

0
procedure TForm1.Button1Click(Sender: TObject);
var key:string;
    i:char;
    err: boolean;
begin
  key := schluessel.text; // Einlesen
  err := (length(key)<>26); // Länge ungleich 26 ?
  for i:='A' to 'Z' do // Alle Zeichen einmal vorhanden ?
      if key.CountChar(i)<>1 then err:=true;
  if err then // Ausgabe
     label1.caption:='Prüfe den Schlüssel'
     else
     label1.caption:='Alles richtig'
end;     

Namen der Komponenten und Text für die Ausgabe musst du natürlich anpassen. 

Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin

Wow, vielen Danke!!

Leider sagt Lazarus bei 'key := schluessel.text;' das 'text' ein illegal quallifier ist. Kannst du mir da weiterhelfen?

0
@007cool007

schluessel heisst das Edit-Feld bei mir auf dem Formular, das musst du halt anpassen. Genau wie label1 unten...

1
@iQa1x

DANKE DANKE DANKE!!!! Es hat funktioniert

0