Hallo zusammen
hab folgendes Problem.
Hab vor einiger Zeit mir einen kleinen Wecker Programmiert.
So vorgestern hab ich dann mal bisschen weiter dran gearbeitet.
Ich habe ein MainMenu, wo man es die möglichkeit gibt, Festvorhandene Sound Datein zu ändern.
Das klappt auch soweit ganz gut, in einem Label lasse ich mir anzeigen, was zur Zeit verwendet wird.
Jedoch wird es im TMediaPlayer nicht geändert.
Ablauf - Test:
Ich starte das Programm.
Änder den Sound auf Wecker Sound normal.
Dann stelle ich die Zeit ein.
Klicke dann auf Einschalten.
Eine Minute später kommt die Sound wiedergabe.
Klicke auf Ausschalten, Wecker wird Ausgeschaltet, jedoch bleibt er geöffnet.
Stelle nun eine andere Zeit ein und wähle einen anderen Sound aus, in meinem Fall, Rock N Roll Train - AcDc.
Klicke nun wieder auf Einschalten.
...
Doch eine Minute später bleibt der Sound weg, es passiert nichts.
Ich habe auch schon eine Procedure erstellt, welche zusätzlich den Befehl " MediaPlayer1.Filename := (ExtractFilePath(ParamStr(0)) + MusikDat); " macht.
Jedoch passiert so auch nichts.
Hier mal mein Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344:
| unit Main;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, MPlayer, Menus;
type TForm1 = class(TForm) TimerUhr: TTimer; BT_On: TButton; Bt_Off: TButton; Label_H: TLabel; Label_M: TLabel; L_Clock: TLabel; Bt_H_Plus: TButton; Bt_H_Minus: TButton; Bt_M_Plus: TButton; Bt_M_Minus: TButton; Label3: TLabel; Label4: TLabel; BClose: TButton; P_Status: TPanel; Debug_Wecker: TLabel; MediaPlayer1: TMediaPlayer; TrayIcon1: TTrayIcon; BMinimieren: TButton; MainMenu1: TMainMenu; Datei1: TMenuItem; Bearbeiten1: TMenuItem; Suchen1: TMenuItem; Fenster1: TMenuItem; ffnen1: TMenuItem; Speichern1: TMenuItem; Beenden1: TMenuItem; WeckZeitLschen1: TMenuItem; UhrzeitSuchen1: TMenuItem; Minimieren1: TMenuItem; Schließen1: TMenuItem; Einstellung1: TMenuItem; MusikDatei1: TMenuItem; RockNRollTrainAcDc1: TMenuItem; WeckerNormal1: TMenuItem; L_Sound: TLabel; procedure BCloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TimerUhrTimer(Sender: TObject); procedure BT_OnClick(Sender: TObject); procedure Bt_OffClick(Sender: TObject); procedure Bt_H_MinusClick(Sender: TObject); procedure Bt_H_PlusClick(Sender: TObject); procedure Bt_M_MinusClick(Sender: TObject); procedure Bt_M_PlusClick(Sender: TObject); procedure WeckerStellen; procedure MediaPlayer1Notify(Sender: TObject); procedure FormDeactivate(Sender: TObject); procedure FormActivate(Sender: TObject); procedure ApplicationEvents1Minimize(Sender: TObject); procedure TrayIcon1DblClick(Sender: TObject); procedure BMinimierenClick(Sender: TObject); procedure Beenden1Click(Sender: TObject); procedure WeckZeitLschen1Click(Sender: TObject); procedure Minimieren1Click(Sender: TObject); procedure Schließen1Click(Sender: TObject); procedure Speichern1Click(Sender: TObject); procedure RockNRollTrainAcDc1Click(Sender: TObject); procedure WeckerNormal1Click(Sender: TObject); procedure SoundWechseln; Private
public end;
var Form1: TForm1; Stunden, Minuten, WeckerAktiv: integer; WeckerZeit, StundenStr, MinutenStr: String; Aktiv: Boolean; MusikDat: string;
implementation
uses AddEntry; {$R *.dfm}
procedure TForm1.WeckerNormal1Click(Sender: TObject); begin MusikDat := 'Wecker.wav'; SoundWechseln; L_Sound.Caption := MusikDat; end;
procedure TForm1.SoundWechseln; begin MediaPlayer1.Filename := (ExtractFilePath(ParamStr(0)) + MusikDat); end;
procedure TForm1.WeckerStellen; begin if (Stunden <= 9) then StundenStr := '0' + IntToStr(Stunden) else StundenStr := IntToStr(Stunden);
if (Minuten <= 9) then MinutenStr := '0' + IntToStr(Minuten) else MinutenStr := IntToStr(Minuten); WeckerZeit := StundenStr + ':' + MinutenStr + ':' + '00';
if (TimeToStr(Now) = WeckerZeit) then begin if (WeckerAktiv = 0) then begin MediaPlayer1.Close; MediaPlayer1.Filename := (ExtractFilePath(ParamStr(0)) + MusikDat); MediaPlayer1.Open; MediaPlayer1.Notify := True; MediaPlayer1.Play; WeckerAktiv := WeckerAktiv + 1; end; end;
end;
procedure TForm1.WeckZeitLschen1Click(Sender: TObject); begin Minuten := 0; Stunden := 0; Label_M.Caption := IntToStr(Minuten); Label_H.Caption := IntToStr(Stunden); end;
procedure TForm1.Beenden1Click(Sender: TObject); begin Close; end;
procedure TForm1.Bt_H_MinusClick(Sender: TObject); begin if Stunden = 0 then Stunden := 23 else Stunden := Stunden - 1; Label_H.Caption := IntToStr(Stunden); end;
procedure TForm1.Bt_H_PlusClick(Sender: TObject); begin if Stunden = 23 then Stunden := 0 else Stunden := Stunden + 1; Label_H.Caption := IntToStr(Stunden); end;
procedure TForm1.Bt_M_MinusClick(Sender: TObject); begin if Minuten = 0 then Minuten := 59 else Minuten := Minuten - 1; Label_M.Caption := IntToStr(Minuten); end;
procedure TForm1.Bt_M_PlusClick(Sender: TObject); begin if Minuten = 59 then Minuten := 0 else Minuten := Minuten + 1; Label_M.Caption := IntToStr(Minuten); end;
procedure TForm1.Bt_OffClick(Sender: TObject); begin P_Status.Color := clRed; P_Status.Caption := 'Ausgeschaltet'; Aktiv := false; if MediaPlayer1.Notify then begin MediaPlayer1.Stop; MediaPlayer1.Notify := false; end end;
procedure TForm1.BT_OnClick(Sender: TObject); begin WeckerStellen; P_Status.Color := clLime; P_Status.Caption := 'Eingeschaltet'; Debug_Wecker.Caption := WeckerZeit; Aktiv := True; end;
procedure TForm1.BCloseClick(Sender: TObject); begin Close; end;
procedure TForm1.BMinimierenClick(Sender: TObject); begin ShowWindow(Self.Handle, SW_HIDE); Hide(); WindowState := wsMinimized; TrayIcon1.Visible := True; TrayIcon1.Animate := True; TrayIcon1.ShowBalloonHint; end;
procedure TForm1.FormActivate(Sender: TObject); begin TrayIcon1.Visible := True; end;
procedure TForm1.FormCreate(Sender: TObject); var MyIcon: TIcon;
begin MusikDat := 'Wecker.wav'; Stunden := 0; Minuten := 0; WeckerAktiv := 0; L_Clock.Caption := TimeToStr(Now); TrayIcon1.Icons := TImageList.Create(Self); MyIcon := TIcon.Create; MyIcon.LoadFromFile('icons/wecker.ico'); TrayIcon1.Icon.Assign(MyIcon); TrayIcon1.Icons.AddIcon(MyIcon);
MyIcon.LoadFromFile('icons/wecker.ico'); TrayIcon1.Icons.AddIcon(MyIcon); MyIcon.LoadFromFile('icons/wecker.ico'); TrayIcon1.Icons.AddIcon(MyIcon); MyIcon.LoadFromFile('icons/wecker.ico'); TrayIcon1.Icons.AddIcon(MyIcon);
TrayIcon1.Hint := 'Wecker'; TrayIcon1.AnimateInterval := 200;
TrayIcon1.BalloonTitle := 'Restoring the window.'; TrayIcon1.BalloonHint := 'Double click the system tray icon to restore the window.'; TrayIcon1.BalloonFlags := bfInfo; end;
procedure TForm1.FormDeactivate(Sender: TObject); begin TrayIcon1.Visible := false; end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin if MediaPlayer1.Notify = True then begin MediaPlayer1.Play; end else begin MediaPlayer1.Stop; end; end;
procedure TForm1.Minimieren1Click(Sender: TObject); begin ShowWindow(Self.Handle, SW_HIDE); Hide(); WindowState := wsMinimized; TrayIcon1.Visible := True; TrayIcon1.Animate := True; TrayIcon1.ShowBalloonHint; end;
procedure TForm1.RockNRollTrainAcDc1Click(Sender: TObject); begin MusikDat := 'RockNRollTrain.wav'; SoundWechseln; L_Sound.Caption := MusikDat; end;
procedure TForm1.Schließen1Click(Sender: TObject); begin Close; end;
procedure TForm1.Speichern1Click(Sender: TObject); begin Add_Entry.ShowModal; end;
procedure TForm1.TimerUhrTimer(Sender: TObject); begin L_Clock.Caption := TimeToStr(Now); if Aktiv then WeckerStellen;
end;
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject); begin Hide(); WindowState := wsMinimized; Form1.Visible := True; TrayIcon1.Visible := True; TrayIcon1.Animate := True; TrayIcon1.ShowBalloonHint; end;
procedure TForm1.TrayIcon1DblClick(Sender: TObject); begin TrayIcon1.Visible := false; Show(); WindowState := wsNormal; Application.BringToFront(); end;
end. |
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 21.10.2010 um 15:57