AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Memory-Spiel: Ideen

Ein Thema von XardasLP · begonnen am 14. Jan 2016 · letzter Beitrag vom 6. Apr 2016
Antwort Antwort
Seite 13 von 13   « Erste     3111213   
XardasLP
(Gast)

n/a Beiträge
 
#121

AW: Memory-Spiel: Ideen

  Alt 5. Apr 2016, 20:08
Bräuchte mal eine Stoppuhr die startet sobald eine Karte zum 1. Mal aufgedeckt wird.
Format soll sein hh:nn:ss also 00:00:00.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#122

AW: Memory-Spiel: Ideen

  Alt 5. Apr 2016, 20:56
Besser wären genauere Formulierungen.

Willst Du eine laufende Stoppuhr anzeigen oder nur die Zeit messen?

Für letzteren Fall:

Delphi-Quellcode:
var
  Startzeit, Zeit: TDateTime;
...
  Startzeit := Now;
...
  Zeit := Now - Startzeit;

Neuerdings gibt es eine TStopwatch, aber nicht in älteren Delphis.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#123

AW: Memory-Spiel: Ideen

  Alt 5. Apr 2016, 21:09
Ok danke

Nächstes Problem:

Delphi-Quellcode:
if (RBMusikJA.Checked = True) then
begin
FormSpiel4x3.MediaPlayer1.Close;
FormSpiel4x3.MediaPlayer1.FileName := FormSpiel4x3.OpenDialog1.FileName;
FormSpiel4x3.MediaPlayer1.Open;
FormSpiel4x3.TimerMusik.Enabled := True;
FormSpiel4x3.LabelMusik2.Caption := FormatDateTime('hh:nn:ss',FormSpiel4x3.MediaPlayer1.Length / 1000 / (24*60*60));
if (CBAutoPlay.Checked = True) then FormSpiel4x3.MediaPlayer1.Play;
end;
Musik öffnen klappt.

Nun soll er die Musik stoppen und die neu ausgewählte Musik ohne diesen Fehler abspielen:
"---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EMCIDeviceError aufgetreten. Meldung: 'No MCI device open'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Help
---------------------------"

Delphi-Quellcode:
procedure TFormSpiel4x3.ImageOrdnerClick(Sender: TObject);
begin
TimerMusik.Enabled := False;
LabelMusik2.Caption := '00:00:00';
MediaPlayer1.Stop;
MediaPlayer1.Eject;
MediaPlayer1.Close;
if OpenDialog1.Execute then
begin
MediaPlayer1.FileName := OpenDialog1.FileName;
MediaPlayer1.Open;
//MediaPlayer1.Play;
LabelMusik2.Caption := FormatDateTime('hh:nn:ss',FormSpiel.MediaPlayer1.Length / 1000 / (24*60*60));
TimerMusik.Enabled := True;
end;
end;
mit Play stürzt es genauso ab
Wo liegt der Fehler o.o ?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#124

AW: Memory-Spiel: Ideen

  Alt 5. Apr 2016, 22:10
Zum Handling des Mediaplayers kann ich so auf die Schnelle nichts sagen, aber ein allgemeiner Tipp:

Verbessere mal die Struktur Deines Codes...

Delphi-Quellcode:
if (RBMusikJA.Checked) then // =True ... das kann und sollte entfernen, da sonst vom Compiler geprüft wird, ob "True = True" True ist
begin
  FormSpiel4x3.MediaPlayer1.Close;
  FormSpiel4x3.MediaPlayer1.FileName := FormSpiel4x3.OpenDialog1.FileName;
  FormSpiel4x3.MediaPlayer1.Open;
  FormSpiel4x3.TimerMusik.Enabled := True;
  FormSpiel4x3.LabelMusik2.Caption := FormatDateTime('hh:nn:ss',FormSpiel4x3.MediaPlayer1.Length / 1000 / (24*60*60));
  // und benutze Einrückungen und Zeilenumbrüche
  if (CBAutoPlay.Checked) then
    FormSpiel4x3.MediaPlayer1.Play;
end;
Diese Kleinigkeiten verbessern die Lesbarkeit und erhöhen die Chance, dass andere sich den Code anschauen und helfen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#125

AW: Memory-Spiel: Ideen

  Alt 5. Apr 2016, 23:53
Ok danke

Delphi-Quellcode:
 
var
sl: TStringlist;
i: integer;

sl := tstringlist.Create;
  sl.Sort;
  Memo_Stringlist.Lines := sl;
//for i := 0 to Memo_Stringlist.Lines.Count-1 do
  if pos(Benutzername,Memo_Stringlist.Text) > 0 then showmessage('true');
Wieso geht das nicht?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#126

AW: Memory-Spiel: Ideen

  Alt 6. Apr 2016, 00:08
Du verschenkst Deine Zeit. :-/
Was geht nicht?

Stimmt das Ergebnis nicht?
Oder gibt es eine Fehlermeldung? Wie lautet sie? Was bedeutet sie?

Die letzte Frage zu stellen wäre sinnvoll, sofern Du sie selbst nicht lösen kannst.
Und oft kommt man beim Formulieren einer klaren Fragestellung schon selbst auf die Lösung.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#127

AW: Memory-Spiel: Ideen

  Alt 6. Apr 2016, 00:35
Zunächst einmal kann dieser Code nicht funktionieren, also nehme ich an daß es sich hierbei um einen Extrakt handelt. Nur ist dieser Extrakt wenig aussagekräftig, da Du pos auf eine leere Stringliste anwendest. Da wird niemals eine Message angezeigt.

Gruß
K-H

Besser wären genauere Formulierungen.
Dem kann ich mich nur anschließen.
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 ( 6. Apr 2016 um 00:37 Uhr)
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#128

AW: Memory-Spiel: Ideen

  Alt 6. Apr 2016, 01:05
Wenn im Edit_Benutzername.Text 'Haus' steht, dann steht auch 'Haus' in der Stringliste und im Memofeld.

Es wird aber immer wieder ein neuer Nutzer erstellt, bzw. die Textdatei überschrieben. Ich möchte ja, dass die Textdatei nicht überschrieben wird.

Zitat:
Zunächst einmal kann dieser Code nicht funktionieren, also nehme ich an daß es sich hierbei um einen Extrakt handelt. Nur ist dieser Extrakt wenig aussagekräftig, da Du pos auf eine leere Stringliste anwendest. Da wird niemals eine Message angezeigt.

Gruß
K-H
Doch da steht was drinne, siehe hier: https://gyazo.com/43beb118f53398fa28cc602e76d46b8a

Delphi-Quellcode:
procedure TFormReg.ImageREGISTRIERUNGClick(Sender: TObject);
var
i, a, s, anz, index: integer;
fpw: array [1..100] of integer;
z: char;
tf: textfile;
sl: Tstringlist;
passw, neu, zeile :string;
begin
 
if (Edit_Benutzername.Text = '')
or (Edit_Loginname.Text = '')
or (Edit_PW.Text = '')
or (Edit_PW.Text = '')
or (Edit_Benutzername.Text = ' Benutzername')
or (Edit_Loginname.Text = ' Loginname')
or (Edit_PW.Text = ' Passwort')
or (Edit_PW_1.Text = ' Passwort wiederholen')
then
  begin
        showmessage('Bitte überprüfen Sie alle Ihre Eingaben!');
        Edit_Benutzername.Text := ' Benutzername';
        Edit_Loginname.Text := ' Loginname';
        Edit_PW.Text := ' Passwort';
        Edit_PW_1.Text := ' Passwort wiederholen';
        Edit_PW_1.PasswordChar := #0;
        Edit_PW.PasswordChar := #0;
        Edit_Loginname.PasswordChar := #0;
   end
   else
      begin

        if (Edit_Benutzername.Text) = (Edit_Loginname.Text) then
           begin
              showmessage('Der Benutzername darf nicht mit dem Loginnamen gleich sein, da der Loginname als Passwort dient!');
              Edit_Benutzername.Text := ' Benutzername';
              Edit_Loginname.Text := ' Loginname';
              Edit_PW.Text := ' Passwort';
              Edit_PW_1.Text := ' Passwort wiederholen';
              Edit_PW_1.PasswordChar := #0;
              Edit_PW.PasswordChar := #0;
              Edit_Loginname.PasswordChar := #0;
            end
            else

            if (Edit_PW.Text <> Edit_PW_1.Text) and (Edit_PW.Text <> ' Passwort')
               and (Edit_PW_1.Text <> ' Passwort wiederholen') then
                   begin
                   showmessage('Die Passwörter stimmen nicht überein!');
                   Edit_Benutzername.Text := ' Benutzername';
                   Edit_Loginname.Text := ' Loginname';
                   Edit_PW.Text := ' Passwort';
                   Edit_PW_1.Text := ' Passwort wiederholen';
                   Edit_PW_1.PasswordChar := #0;
                   Edit_PW.PasswordChar := #0;
                   Edit_Loginname.PasswordChar := #0;
                   end
                  else

                  begin
                      Benutzername := Edit_Benutzername.Text;

                     sl := tstringlist.Create;
                      sl.Sort;
                        Memo_Stringlist.Lines := sl;
                     // for i := 0 to Memo_Stringlist.Lines.Count-1 do
                            if pos(Benutzername,Memo_Stringlist.Text) > 0 then begin showmessage('true');
    
                             showmessage('Es existiert bereits ein Benutzer mit diesem Namen!');
                             Edit_Benutzername.Text := ' Benutzername';
                             Edit_Loginname.Text := ' Loginname';
                             Edit_PW.Text := ' Passwort';
                             Edit_PW_1.Text := ' Passwort wiederholen';
                             Edit_PW_1.PasswordChar := #0;
                             Edit_PW.PasswordChar := #0;
                             Edit_Loginname.PasswordChar := #0;
                             end
                             else
                             begin

                                      s:=strtoint(Edit_pw.text);
                                          for i:=1 to length(edit_Loginname.text) do
                                  begin
                                       fpw[i] :=ord(edit_Loginname.text[i]);
                                       Memo_Login.Lines.Add(inttostr(fpw[i]+s));
                                       end;

                                      Memo_Login.Lines.SaveToFile('\Memory\Benutzer\'+Benutzername+'.txt');
                                      sl.Insert(random(sl.Count),Benutzername);
                                      Memo_Stringlist.Lines := sl;
                                      showmessage('Ihr Account wurde erfolgreich bei uns registriert.');
                                      FormLogin.Show;
                                      FormReg.Close;
                                      Edit_Benutzername.Text := ' Benutzername';
                                      Edit_Loginname.Text := ' Loginname';
                                      Edit_PW.Text := ' Passwort';
                                      Edit_PW_1.Text := ' Passwort wiederholen';
                                      Edit_PW_1.PasswordChar := #0;
                                      Edit_PW.PasswordChar := #0;
                                      Edit_Loginname.PasswordChar := #0;


                           end;
                                   end;
end;
  Mit Zitat antworten Zitat
XardasLP
(Gast)

n/a Beiträge
 
#129

AW: Memory-Spiel: Ideen

  Alt 6. Apr 2016, 01:52
Ohja das hier ist super

Delphi-Quellcode:
 
if FileExists('C:\Datei.bla') then
ShowMessage('Datei vorhanden');
sehr hilfreich
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 13 von 13   « Erste     3111213   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.
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