![]() |
AW: Memory-Spiel: Ideen
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. |
AW: Memory-Spiel: Ideen
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. |
AW: Memory-Spiel: Ideen
Ok danke :)
Nächstes Problem:
Delphi-Quellcode:
Musik öffnen klappt.
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; 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:
mit Play stürzt es genauso ab
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; Wo liegt der Fehler o.o ? |
AW: Memory-Spiel: Ideen
Zum Handling des Mediaplayers kann ich so auf die Schnelle nichts sagen, aber ein allgemeiner Tipp:
Verbessere mal die Struktur Deines Codes...
Delphi-Quellcode:
Diese Kleinigkeiten verbessern die Lesbarkeit und erhöhen die Chance, dass andere sich den Code anschauen und helfen.
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; |
AW: Memory-Spiel: Ideen
Ok danke :D
Delphi-Quellcode:
Wieso geht das nicht?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'); |
AW: Memory-Spiel: Ideen
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. :-) |
AW: Memory-Spiel: Ideen
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
Delphi-Quellcode:
auf eine leere Stringliste anwendest. Da wird niemals eine Message angezeigt.
pos
Gruß K-H Zitat:
|
AW: Memory-Spiel: Ideen
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:
![]()
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; |
AW: Memory-Spiel: Ideen
Ohja das hier ist super
Delphi-Quellcode:
sehr hilfreich :Dif FileExists('C:\Datei.bla') then ShowMessage('Datei vorhanden'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 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 by Thomas Breitkreuz