![]() |
Delphi -newbie!
Hi erstmal an alle hier im Forum!
Es geht um folgendes, ich bin Schüler einer 11. Klasse des Gymnasiums Wettin und wir haben die Aufgabe im Informatik Unterricht ein Delphi-Projekt (Delphi4-Standard verwendet) zu erstellen in dem es möglich ist ein Ratespiel zu spielen.... ja... egal .. Auf jeden Fall haben wir gerade ein Problem damit. Uns fehlt es ..sagen wir mal an fachlicher Kenntnis :? ... Daher wollte ich fragen ob uns jmd mit den Prozeduren, zum Eingeben des zu erratenden Wortes helfen könnte... Die Spielregeln solen folgendermaßen aussehen: Es ist jeweils ein Wort mit angegebener Länge zu erraten. Sie können einen Buchstaben angeben, den Sie im Wort vermuten. Dieser Buchstabe wird, falls er im Wort vorkommt, in einem Hilfs- wort an den richtigen Stellen ausgeben. Sie können aber auch das ganze Wort eingeben, wenn Sie meinen, es erraten zu haben. Damit das Raten nicht zu schwer fällt, wird zu jedem Wort ein Hinweis gegeben, der sich in gewisser Weise auf das zu erratende Wort bezieht. Ich bedanke mich schonmal im Vorraus! :) |
Re: Delphi -newbie!
Wie weit bist du schon?
|
Re: Delphi -newbie!
Also wir haben grad angefangen und sind gerade mal soweit das wir das zu erratende Wort eingeben wollen. Dazu wollen wir eine Editbox nutzen .. das Programm soll dann erkennen wie lang das Wort ist und welche Buchstaben enthalten sind. Wenn dir das weiterhelfen würde, wir haben eine Pascal Vorlage bekommen in der das Programm vollständig geschrieben ist.
|
Re: Delphi -newbie!
Zitat:
Frank :gruebel: |
Re: Delphi -newbie!
Das Prob ist das wir nicht in der Lage sind die Programmiersprache von Pascal in Delphi zu übersetzen.
Wie gesagt wir sind in der Hinsicht nicht unbedingt die Pros.. |
Re: Delphi -newbie!
Zitat:
Mal abgesehen von einer "anderen" GUI. Aber formuliere doch mal Deine/eine Frage... Dann kann Dir vielleicht hier jemand helfen... Frank :stupid: |
Re: Delphi -newbie!
Hi
Erst mal, willkommen. So, nun zur Hilfe, ja, die solltet ihr benutzen und zwar die von Delphi selbst. Also, ihr wollt Delphi lernen und dazu muß man einfach wissen, dieses Programm arbeitet wie fast alle Programmiersprachen mit englischen Begriffen. Die Länge eines Strings, und das ist der Text in TEdit nun mal, wird mit einer Function mit der englischen Namen für Länge abgefragt. Wie das geht, nun, öffnet die Delphi-Hilfe, gebt unter Index das gesuchte Wort ein und dann bekommt ihr in den meisten Fällen auch eine gute Erklärung. Also, wie ich schon sagte, die Länge eines Strings wird ermittelt durch die Function Length Ach ja, was Pascal und Delphi betrifft, Delphi ist in der Programmierung Pascal. @Frank: vermutlich ist das Programm nicht vollständig "geschrieben" sondern gemeinerweise nur vollständig "beschrieben".... :P Gruß oldmax |
Re: Delphi -newbie!
mkay.. also nochmal von vorne..
Wir möchten ein Wort eingeben. Dieses Wort soll gespeichert werden. Für denjenigen der Raten muss werden die Buchstaben durch "*" ersetzt. Tja soweit erstmal wäre scho gut.. Die Eingabe haben wir uns ungefähr so gedacht: procedure TForm1.Button1Click(Sender: TObject); var c:integer; s:string; begin j:=j+1; str(j,s); a[j].:=edit1.text; edit1.Text:=''; end; Ob das richtig is oder nich sei dahingestellt.. @oldmax .. ma schaun und danke für die Hilfe |
Re: Delphi -newbie!
Hi
noch hab ich doch gar nicht geholfen... Aber nun zu eurer Vorstellung, so wird's nix.... Beginnen wir mal von vorn.... Ihr habt eine Form, auf dieser ist ein Editfeld und ein Button nun machst du folgendes: Du brauchst eine globale Stringvariable.. ich nenn sie mal Geheim Also,
Delphi-Quellcode:
nun machst du einen Doppelklick auf deine Form und erhälst die
Var Form1 : TForm1; // ist schon deklariert.....
Geheim : String;
Delphi-Quellcode:
kommen wir nun zum Editfeld. Du hast den Objektinspektor. Dort gehst du auf die Registerkarte Ereignisse und suchst den Eintrag "OnKeyPress". Da gehst du af das rechte weiße Feld und machst einen Doppelclick. Automatisch wird dir nun der Procedure-Rumpf erstellt.
Procedure TForm1.FormCreate(Sender : TObject);
Begin Geheim:=''; // das fügst du ein und machst den Geheim-String leer; Edit1.Text:='';// Auch das Editfeld wird geleert. end;
Delphi-Quellcode:
Nun kannst du in das Editfeld etwas eintragen und es kann keiner lesen. Also müssen wir nun raten. Dazu würde ich ein zweites Editfeld benutzen in welchem 1 Buchstabe eingegeben werden kann.
Procedure Form1.Edit1KeyPress(Sender : Tobject; var Key: Char);
Begin Geheim:=Geheim+Key; // hier beschreibst du dein unsichtbares geheimes Wort. Key:='*'; // Das Sternchen überschreibt den Text im Editfeld, also ist deine Eingabe unsichtbar end; Ähnliche Vorgehensweise um das KeyPress- Ereignis zu bekommen
Delphi-Quellcode:
evtl. kannst du damit experimentieren, den Text zu überschreiben und immer die letzte Eingabe anzeigen
Procedure Form1.Edit2KeyPress(Sender : Tobject; var Key: Char);
Begin if Length(Edit2.Text)>1 then Key:=''; // begrenzt die Eingabe auf 1 Zeichen. end; einfach die "If" Zeile durch diese Eingabe ersetzen
Delphi-Quellcode:
So, das war schon ordentlich hilfe. Nun müßt ihr auch was tun. Versucht einmal die Button-Routine anzupassen.
Edit2.Text:='';
Hilfreich wäre die Function "Pos". Schaut mal nach und überlegt, wie ihr nun einer Lösung näher kommen könnt. Ach ja, das zweite Editfeld kann natürlich ohne dem onKeypress-Ereignis auch das ganze zu erratende Wort enthalten und du markierst im Prinzip nur die Buchstaben, die richtig sind. Benutze aber als Referenz deine Variable "Geheim". Und nun tobt euch mal aus Gruß oldmax |
Re: Delphi -newbie!
Das ist völliger Quatsch... (schon einmal einen Blick in den OI geworfen? :stupid: )
Zitat:
Delphi-Quellcode:
Edit1.PasswordChar:='*';
Zitat:
Delphi-Quellcode:
Edit1.MaxLength:=1
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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