![]() |
Erstes Delphi Programm =)
Liste der Anhänge anzeigen (Anzahl: 1)
Hey leute =),
Erstmal freu ich mich das es diese seite gibt da ich fast nur mit dieser seite delphi gelernt habe xD. (naja ich kann es noch nicht richtig aber naja..) ich wollt euch nur mal mein erstes Programm zeigen. Es heißt raten....BEEEP und es geht darum die richtigen buttons zu klicken da sonst ein tiefer beep ton kommt. hier noch ein paar datein zum Spiel: -Version 1.0.0.0 -kompatibel mit windows95/98/200/xP/Vista/7 (meiner erfahrung nach) -Für das Spiel wird nur die Maus und Boxen/headset..halt irgendwas was sound wiedergeben kann verbesserungs vorschlege sind wilkommen =) mfg 4nG3L aso halt eine frage hab ich noch.... ich hab versucht es so hinzukriegen das in einem label angezeigt wird wie viele fehler man schon gemacht hat und das das spiel bei 10 fehlern geschlossen wird... könnt ihr mir da vllt noch helfen :?: thx im vorraus mfg 4nG3L |
Re: Erstes Delphi Programm =)
Hallo und Herzlich Willkommen in der DP :dp:
für dein erstes Programm nicht schlecht. GGF könntest du es bissel "verfeinern" Also wenn man auf den richtigen Button klickt, dann wird dieser Grün oder bekommt ne Andere Caption.Genauso bei den Falschen. Der wird rot, damit man sieht auf welche man schon alles geklickt hat. |
Re: Erstes Delphi Programm =)
Danke, gute idee ich setz mich sofort dran =)...aber wie soll ich die farbe der buttons ändern? das hab ich mich schonmal gefragt.
|
Re: Erstes Delphi Programm =)
Hallo, ich habe mir das Programm jetzt nicht angesehen, aber zu Deiner Frage: definiere Dir einfach ein privates Feld des Formulars für den Zähler. Bei jedem Fehler zählst Du den hoch und schaust, auf welchem Wert er steht. Sind 10 Fehler erreicht, reagierst Du entsprechend. Ein Beispiel aus dem Kopf:
Delphi-Quellcode:
type
TMainForm = class(TForm) ... private FZaehler: integer; ... end; ... procedure TMainForm.TuWas; begin if falsch then begin inc(FZaehler); if FZaehler > 9 then begin MessageBox(Handle,'Du hast 10 Fehler gemacht, das Spiel wird beendet.','Information',MB_OK or MB_ICONINFORMATION); Close; end; end; end; |
Re: Erstes Delphi Programm =)
Delphi-Quellcode:
button1.Font.Color:= deinefarbe;
|
Re: Erstes Delphi Programm =)
thx euch beiden =)
ich hab jetzt aber nen problem mit der farbe...
Code:
ich hab das da jeztz so aber irgentwie ändert er die farbe nicht...
procedure TForm1.Button1Click(Sender: TObject);
begin button1.Font.Color:= clRed; button1.Caption := 'Falsch'; windows.Beep(200,200); end; |
Re: Erstes Delphi Programm =)
Hallo und Willkommen in der DP! :dp: :dp:
Sende doch deinen Quellcode mit, so können sich vllt auch noch unerfahrene Programmierer ein wenig "abschauen", und so umfangreich ist der Quellcode ja nicht, das es das nicht verlangen könnte :wink: Aber als erstes Programm nicht schlecht... mfg |
Re: Erstes Delphi Programm =)
Auch die Schriftfarbe ändert sich nicht?
|
Re: Erstes Delphi Programm =)
nein es ändert sich nichts O.o muss ich vllt nen anderen button nehmen?
also ich habe jetzt sogar versucht die fabe des buttons ganz normal zu ändern also ohn quelltext usw. nur unter den eigenschaften aber da tut sich auch nichts =( |
Re: Erstes Delphi Programm =)
Passiert überhaupt nichts? Dann schau doch im OI mal unter "Ereignisse", ob die Methode auch zugewiesen ist.
|
Re: Erstes Delphi Programm =)
Soweit ich weiss unterstütz der normale Button das nicht, am besten du nimmst den BitBtn.
|
Re: Erstes Delphi Programm =)
Stimmt, habe ich auch gerade ausprobiert.
|
Re: Erstes Delphi Programm =)
ahh danke =)
jetzt nochmal eine frage zu dem zähler: ich wollt ja gerne das der wenn ich auf einen falschen button klicke unten rechts oder irgendwo in einem label einzeigt wie oft ich etwas falsche gemacht habe...und wenn ich 10 mal was falsch gemacht habe das er das spiel sogar schließt. wie kann ich das machen? |
Re: Erstes Delphi Programm =)
Ich greife meinen Code von oben nochmals auf.
Delphi-Quellcode:
procedure TMainForm.TuWas;
begin if falsch then begin inc(FZaehler); LabelFehler.Caption := IntToStr(FZaehler); //diese Zeile sorgt für die Anzeige if FZaehler > 9 then begin MessageBox(Handle,'Du hast 10 Fehler gemacht, das Spiel wird beendet.','Information',MB_OK or MB_ICONINFORMATION); Close; end; end; end; |
Re: Erstes Delphi Programm =)
Delphi-Quellcode:
var
count; integer; und dann jeweils wenn du ein falschen Button klickst die Funktion aufrufen:
Delphi-Quellcode:
(aus dem Stehgreif gecoded,m eventuell Anpassen...)
procedure CheckClose;
begin; if count >= 10 then Close else Inc(Count); end; EDIT: Mhh da war wieder einer schneller :shock: |
Re: Erstes Delphi Programm =)
hab ich ausprobiert hat aber nicht geklappt =( lag meiner meinung nach an dem procedure TMainForm.TuWas;
wie kann ich das wegmachen? oder bin ich jetzt einfach zu blöod =/ ich probier den anderen noch einmal aus=) (danke für die schnellen antworten) |
Re: Erstes Delphi Programm =)
Das TuWas war ja auch nur ein Beispiel, das musst Du natürlich an Deinen Code anpassen.
|
Re: Erstes Delphi Programm =)
also irgendwie bin ich grade zu blöd... das klappt irgendwie alles nicht... zeigt mir mal pls nen beispiel quelltext wo so ein zähler eingebaut ist plz =)
|
Re: Erstes Delphi Programm =)
Ein Beispiel mit einem BitBtn und einem Label:
Delphi-Quellcode:
unit uMain;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TfrmMain = class(TForm) btnCounter: TBitBtn; lblFehler: TLabel; procedure btnCounterClick(Sender: TObject); private { Private-Deklarationen } FZaehler: Integer; public { Public-Deklarationen } end; var frmMain: TfrmMain; implementation {$R *.dfm} procedure TfrmMain.btnCounterClick(Sender: TObject); begin Inc(FZaehler); lblFehler.Caption := 'Fehler: ' + IntToStr(FZaehler); if FZaehler > 9 then begin MessageBox(Handle,'Du hast 10 Fehler gemacht, Tschüss','Information',MB_OK or MB_ICONINFORMATION); Close; end; end; end. |
Re: Erstes Delphi Programm =)
Zitat:
|
Re: Erstes Delphi Programm =)
Hallo erstmal,
du musste eine eigene Funktion schreiben. So wie Deddy es geschrieben hat.
Delphi-Quellcode:
Wenn du diese Procedure geschrieben hast, betätige mal Shift/Strg/C Gleichzeitig, und die Procedure wird automatisch im Implementationsteil von deinem Programm bekannt gemacht.
procedure TMainForm.TuWas;
begin if Button.Click = Falsch then //ntürlich deine echte Abfrage begin inc(FZaehler); LabelFehler.Caption := IntToStr(FZaehler); //diese Zeile sorgt für die Anzeige if FZaehler > 9 then begin MessageBox(Handle,'Du hast 10 Fehler gemacht, das Spiel wird beendet.','Information',MB_OK or MB_ICONINFORMATION); Close; end; end; end; Anschließend, musst du diese Funktion von deinem Button.Click aufrufen. In etwa so...
Delphi-Quellcode:
Gruß Jens
procedure TForm1.Button.Click(Sender: TObject);
begin Falsch oder Richtig; TuWas ... usw. //Button Färbung etc... end; |
Re: Erstes Delphi Programm =)
Delphi-Quellcode:
wie kann ich die unit änder? :( ich bin irgwie voll am verzweifeln obwohl das bestimmt rihtig easy ist xD
unit uMain;
meine units heißen immer unit1 oder so |
Re: Erstes Delphi Programm =)
Das mit uMain ist nur ein Beispiel. Das ist natürlich dein Unit.
Gruß Jens |
Re: Erstes Delphi Programm =)
Die Unit muss nur so heißen wie die Datei ohne Endung. Das kannst Du festlegen, indem Du sie unter dem gewünschten Namen abspeicherst, den Rest macht Delphi automatisch für Dich.
|
Re: Erstes Delphi Programm =)
Du kannst das beim Speichern angeben
|
Re: Erstes Delphi Programm =)
ah okay danke leutz =) ich hab jetzt noch nen bissl rumgebastelt und siehe da es klappt xD ich hab was übersehen...^^
ich hab vergessen das label zu ändern xDD |
Re: Erstes Delphi Programm =)
so ich hab jetzt alles soweit außer der sache das ich oben ja ein menü habe wo man unter Spiele\Neustarten klicken kann damit das spiel neustartet.... ich hab alles soweit gemacht also so das es genau so aussieht wie vorher es gibt blos ein problem. ich weiß nich wie ich meinen zähler jetzt resetten soll. kann mir da vllt nochmal jmd helfen? =)
thx im voraus =) |
Re: Erstes Delphi Programm =)
Delphi-Quellcode:
:wink:
FZaehler:=0;
|
Re: Erstes Delphi Programm =)
Liste der Anhänge anzeigen (Anzahl: 1)
Klappt Perfekt.. Danke =)
(ich edetiere das hier gleich und dann häng ich mein game noch an muss noch was ändern =)) |
Re: Erstes Delphi Programm =)
Liste der Anhänge anzeigen (Anzahl: 1)
Hilfe, bei mir ist ein Button verschwunden :wiejetzt:
Ich konnte übrigens allfe Felder anklicken, obwohl ich bereits verloren hatte :gruebel: Man kanns ja im Anhang sehen. |
Re: Erstes Delphi Programm =)
Hallo,
also ich schon viel besser :thumb: , aber wie schon gesagt worden ist, kann man trotz das man schon 10 Fehler gemacht hat weiter spielen. Es kommt zwar immer die Message das man verloren hat, aber egal. Du solltest das mrOK der MessageBox abfangen und anschließend damit das Spiel neu Starten. Oder noch besser, änder das ganze auf eine Abfrage... Sie haben verloren, wollen Sie das spiel beenden oder es erneut versuchen.
Delphi-Quellcode:
Also viel Glück.case FVerloren.ShowModal of mrOK: begin Close; end; mrCancel: begin 'Spiel Neu Starten' end; // Oder so... if FVerloren.ShowModal = mrOK then begin Close; end else begin 'Spiel Neu Starten' end; Gruß Jens |
Re: Erstes Delphi Programm =)
soo also ich bin zu blöd das da einzubauen aber das mit dem das auf einmal ein button verschwindet hab ich gefixt =)
helft mir nochmal pls bei dem quelltext von jens da ich das auch gerne einbauen würde =) |
Re: Erstes Delphi Programm =)
Probier es erst einmal allein, falls du es nicht schaffst stelle deinen Versuch mit dem entsprechenden Code und der eventuellen Fehlermeldung hier rein, ansonsten lernst du nicht viel wenn du nur fertigen Code in dein Programm übernimmst.
|
Re: Erstes Delphi Programm =)
Delphi-Quellcode:
ich habs so versucht der sagt mir da das FVerloren kein gültiger bezeichner ist dann hab ich das noch ausprobiert
procedure TForm1.BitBtn1Click(Sender: TObject);
begin BitBtn1.Font.Color:= ClRED; BitBtn1.Caption := 'FALSCH'; windows.Beep(200,200); Inc(FZaehler); label27.Caption := 'Fehler: ' + IntToStr(FZaehler); //Das Lebel auch so bennen "lblFehler" if FZaehler > 9 then begin MessageBox(Handle,'Du hast 10 Fehler gemacht, Damit hast du verloren.','Verloren',MB_OK or MB_ICONINFORMATION); case FVerloren.ShowModal of mrOK: begin Close; end; mrCancel: begin 'Spiel Neu Starten' end; end; end;
Delphi-Quellcode:
aber mir war irgendwie klar das das schwachsinn ist^^
private
{ Private-Deklarationen } FVerloren; FZaehler: Integer; |
Re: Erstes Delphi Programm =)
Hallo,
da du ja am lernen bist, würde ich dir empfehlen, das Problem mit einer zweiten Unit(Form) zu lösen. Füg deinem Projekt eine weiter Form zu, auf der Du ein Label mit dem Text und zwei Button implementierst. Den Button gibst Du die Eigenschaften mrOK und mrCancel. Wenn du dann den Code von oben in deiner Hauptform in die Abfrage einfügst, wird es schon funktionieren. (du musst den natürlich noch an dein Projekt anpassen). Über die Eigenschaften mrOK und mrCancel werden diese mit zurück gegeben. [EDIT] FVerloren, ist ja nur ein Beispiel, für die zweite Form (Unit) die du ja noch gar nicht hast. Allerdings, kannst Du es auch mit deiner MessageBox lösen. Die Rückgabewerte kommen auch davon. Mit der Form wollte ich Dir nur die Möglichkeit geben Unit´s zu verknüpfen. Gruß Jens |
Re: Erstes Delphi Programm =)
also ich glaub ich bin immer noch zu blöd ich bin jezz am rum werkeln aber irgendwie find die eigenschaft mrok und mrcancel nich =( und ih wüsste auch nicht wie ich die jetzt für den jewealigen button aktiviere :(
|
Re: Erstes Delphi Programm =)
Das sind auch keine Eigenschaften sondern möglich Werte für .ModalResult
|
Re: Erstes Delphi Programm =)
Wie willst Du es denn jetzt machen, mit einer MessageBox oder mit einem neuen Unit(Form)
Die Eigenschaften findest Du im OI vom Button unter ModalResult. Wenn du da den Wert setzten tust, wird diese Ereignis automatisch erzeugt. Gruß Jens |
Re: Erstes Delphi Programm =)
also...ich habe jetzt 2 buttons und ein label^^ in einer neuen form
ich hab nun ein button der so aussieht:
Delphi-Quellcode:
da ist aber ein fehler er sagt: record, object oder klassentyp erforderlich.
procedure TForm2.Button1Click(Sender: TObject);
begin if FVerloren.ShowModal = mrOK then begin Close; end else begin 'Spiel Neu Starten' end; end. ich hab da jetzt wirklich alles versucht was ich kann aber ich glauub ich hab den button wieder falsch gemacht oder? |
Re: Erstes Delphi Programm =)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 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