Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi -newbie! (https://www.delphipraxis.net/88223-delphi-newbie.html)

ziNk 12. Mär 2007 07:50


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! :)

mkinzler 12. Mär 2007 07:52

Re: Delphi -newbie!
 
Wie weit bist du schon?

ziNk 12. Mär 2007 08:00

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.

Mavarik 12. Mär 2007 08:04

Re: Delphi -newbie!
 
Zitat:

Zitat von ziNk
wir haben eine Pascal Vorlage bekommen in der das Programm vollständig geschrieben ist.

Na dann... Was gibt es dann noch zu tun?

Frank :gruebel:

ziNk 12. Mär 2007 08:10

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..

Mavarik 12. Mär 2007 08:13

Re: Delphi -newbie!
 
Zitat:

Zitat von ziNk
von Pascal in Delphi zu übersetzen.

Also weitesgeht würde ich sagen dass: Pascal=Delphi

Mal abgesehen von einer "anderen" GUI.

Aber formuliere doch mal Deine/eine Frage... Dann kann Dir vielleicht hier jemand helfen...

Frank :stupid:

oldmax 12. Mär 2007 08:22

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

ziNk 12. Mär 2007 08:23

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

oldmax 12. Mär 2007 12:14

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:
Var Form1    : TForm1; // ist schon deklariert.....
    Geheim  : String;
nun machst du einen Doppelklick auf deine Form und erhälst die
Delphi-Quellcode:
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;
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.

Delphi-Quellcode:
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;
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.
Ähnliche Vorgehensweise um das KeyPress- Ereignis zu bekommen

Delphi-Quellcode:
Procedure Form1.Edit2KeyPress(Sender : Tobject; var Key: Char);
Begin
  if Length(Edit2.Text)>1 then Key:=''; // begrenzt die Eingabe auf 1 Zeichen.
 
end;
evtl. kannst du damit experimentieren, den Text zu überschreiben und immer die letzte Eingabe anzeigen

einfach die "If" Zeile durch diese Eingabe ersetzen
Delphi-Quellcode:
Edit2.Text:='';
So, das war schon ordentlich hilfe. Nun müßt ihr auch was tun. Versucht einmal die Button-Routine anzupassen.
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

fLaSh11 10. Apr 2007 18:42

Re: Delphi -newbie!
 
Das ist völliger Quatsch... (schon einmal einen Blick in den OI geworfen? :stupid: )
Zitat:

Zitat von oldmax
Delphi-Quellcode:
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;

Wie wär's mit:
Delphi-Quellcode:
Edit1.PasswordChar:='*';
Zitat:

Zitat von oldmax
Delphi-Quellcode:
Procedure Form1.Edit2KeyPress(Sender : Tobject; var Key: Char);
Begin
  if Length(Edit2.Text)>1 then Key:=''; // begrenzt die Eingabe auf 1 Zeichen.
 
end;

Warum einfach, wenns auch umständlich geht?
Delphi-Quellcode:
Edit1.MaxLength:=1


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz