AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Mein Computer pfeift Lapaloma - Aber wie? -->Windows.Beep
Thema durchsuchen
Ansicht
Themen-Optionen

Mein Computer pfeift Lapaloma - Aber wie? -->Windows.Beep

Ein Thema von Fussel9 · begonnen am 9. Feb 2010 · letzter Beitrag vom 11. Feb 2010
 
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Mein Computer pfeift Lapaloma - Aber wie? -->Windows.

  Alt 9. Feb 2010, 19:20
Zitat von implementation:
Delphi-Quellcode:
begin
  AssignFile(f, 'Lieddatei');
  Reset(f);
  while not eof(f) do begin
    Read(f,t)
    SetLength(l,Length(l)+1);
    l[Length(l)-1] := t;
  end;
  CloseFile(f);
end;
Ich versteh das Read nicht ganz:
Aus F (also z.B. Test.mp3) wird in T gelesen (Also TTon)

Wo wird denn bestimmt was er wo einließt also wo Steht, dass er t.Frequenz einen wert zuweisen soll?

!€!D!|!T :

Ab einem bestimmten Punkt derden Frequenz und Length nur noch 0 zugewiesen obwohl das lied noch nicht vorbei ist....

EDIT2:

Ok, ich habe es jetzt so programmiert:
Delphi-Quellcode:
unit UMain;

interface

uses
  IniFiles, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    BLoad: TButton;
    PB: TProgressBar;
    TWait: TTimer;
    BSave: TButton;
    procedure BLoadClick(Sender: TObject);
    procedure TWaitTimer(Sender: TObject);
    procedure BSaveClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    procedure Laden;
    procedure Speichern;
  end;

type
  TTon = record
    Frequenz: Word;
    BPM: Word;
  end;

TLied = array of TTon;
TNotenblatt = file of TTon;

var
  f: TNotenblatt;
  l: TLied;
  t: TTon;
  Save: TIniFile;
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.BLoadClick(Sender: TObject);
begin
Laden;
end;

procedure TForm1.BSaveClick(Sender: TObject);
begin
Speichern;
end;

procedure TForm1.Laden;
begin
PB.Position:=0;
  AssignFile(f,'Test.mp3');
  Reset(f);
  while not eof(f) do begin
    PB.StepBy(1);
    Read(f,t);
    SetLength(l,Length(l)+1);
    l[Length(l)-1] := t;
  end;
  CloseFile(f);
PB.Position:=100;
TWait.Enabled:=TRUE;
end;

procedure TForm1.Speichern;
begin
PB.Position:=0;
Save:=TIniFile.Create('save.ini');
  while not (Length(l)=0) do
    begin
      PB.StepBy(1);
      Save.WriteInteger('Lied','Frequenz',l[1].Frequenz);
      Save.WriteInteger('Lied','BPM',l[1].BPM);
      SetLength(l,Length(l)-1);
    end;
Save.Free;
PB.Position:=100;
TWait.Enabled:=TRUE;
end;

procedure TForm1.TWaitTimer(Sender: TObject);
begin
PB.Position:=0;
TWait.Enabled:=False;
end;

end.
Das dauert schon ziehmlich lange bis der mit Laden fertig ist,
aber noch SEHR viel länger um mit Speichern fertig zu werden....

Warum ist das so, mache ich was falsch?

Ps: Was genau meintest du damit das ich es Binär abspeichern sollte?
  Mit Zitat antworten Zitat
 


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 09:07 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